etiquetado personalizado con nltk

Estoy tratando de crear un pequeño idioma similar al inglés para especificar tareas. La idea básica es dividir una declaración en verbos y frases nominales a las que esos verbos deberían aplicarse. Estoy trabajando con nltk pero no obtengo los resultados que esperaba, por ejemplo:

>>> nltk.pos_tag(nltk.word_tokenize("select the files and copy to harddrive'"))
[('select', 'NN'), ('the', 'DT'), ('files', 'NNS'), ('and', 'CC'), ('copy', 'VB'), ('to', 'TO'), ("harddrive'", 'NNP')]
>>> nltk.pos_tag(nltk.word_tokenize("move the files to harddrive'"))
[('move', 'NN'), ('the', 'DT'), ('files', 'NNS'), ('to', 'TO'), ("harddrive'", 'NNP')]
>>> nltk.pos_tag(nltk.word_tokenize("copy the files to harddrive'"))
[('copy', 'NN'), ('the', 'DT'), ('files', 'NNS'), ('to', 'TO'), ("harddrive'", 'NNP')]

En cada caso, no se dio cuenta de que la primera palabra (seleccionar, mover y copiar) tenía la intención de ser verbos. Sé que puedo crear etiquetadoras y gramáticas personalizadas para evitar esto, pero al mismo tiempo dudo en reinventar la rueda cuando muchas de estas cosas están fuera de mi alcance. En particular, preferiría una solución en la que también se puedan manejar idiomas que no sean inglés.

Así que, de todos modos, mi pregunta es una de: ¿Hay un mejor etiquetador para este tipo de gramática? ¿Hay alguna manera de ponderar un etiquetador existente para usar la forma verbal con más frecuencia que la forma del sustantivo? ¿Hay alguna forma de entrenar a un etiquetador? ¿Hay una mejor manera por completo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta