parsing - stanford - Función TreebankLanguagePack en Neural Network Dependency Parser
stanford parser (1)
A partir de la versión actual de CoreNLP, TreebankLanguagePack se usa dentro del analizador de dependencias solo para 1) determinar la codificación de texto de entrada y 2) determinar qué tokens cuentan como puntuación [1].
Su mejor apuesta para una solución rápida, entonces, es probablemente quedarse con UD English TreebankLanguagePack. Debe hacer esto especificando el language
la propiedad como "UniversalEnglish"
(ya sea que esté accediendo al analizador de dependencias a través del código o la línea de comandos). Si está utilizando el analizador de dependencias a través del punto de entrada principal CoreNLP, esta clave de propiedad debe ser depparse.language
.
Detalles técnicos
Dos detalles muy sutiles siguen. Probablemente no tengas que preocuparte por esto si solo tratas de hackear algo al principio, pero probablemente sea bueno mencionarlo para que puedas evitar los errores apocalípticos / aplastantes en el futuro.
- Evaluación y puntuación: si decide seguir con UniversalEnglish, tenga en cuenta que hay un truco en el código de evaluación que anula el conjunto de puntuación para el análisis de inglés en particular. ¡Cualquier cambio que realice en la puntuación en
PennTreebankLanguagePack
(el TLP utilizado para el lenguaje UniversalEnglish) será ignorado! Si necesita evitar esto, debería ser suficiente copiar y pegar elPennTreebankLanguagePack
en su propia base de código yPennTreebankLanguagePack
un nombre diferente. - Posible pérdida de memoria: al generar resultados de análisis que se devolverán al usuario, el analizador de dependencias se basa en un grupo de objetos
GrammaticalRelation
almacenados en caché . Este caché no live-update. Esto significa que si tiene relaciones que no están definidas formalmente en el idioma que especificó a través de la propiedad dellanguage
, darán lugar a la creación de un nuevo objeto siempre que esas relaciones aparezcan en las predicciones del analizador. (Esto puede ser un gran problema en cuanto a la memoria si almacena objetos de análisis en alguna parte).
[1]: la puntuación se excluye durante la evaluación. Este es un "truco" estándar utilizado en toda la literatura de análisis de dependencias.
Si quiero capacitar al analizador de dependencias de la red neuronal de Stanford para otro idioma, existe la necesidad de un "paquete de idioma del banco del árbol" (TLP), pero la información sobre este TLP es muy limitada:
particularidades de su banco de árboles y el idioma que contiene
Si tengo mi "treebank" en otro idioma que sigue el mismo formato que PTB, y mis datos están usando el formato CONLL. El formato de dependencia sigue a la UD de "Dependencia Universal". ¿Necesito este TLP?