La PNL de Stanford, que se muestra aquí , ofrece una salida como esta:
Colorless/JJ green/JJ ideas/NNS sleep/VBP furiously/RB ./.
¿Qué significan las etiquetas Parte de discurso? No puedo encontrar una lista oficial. ¿Es el propio sistema de Stanford, o están usando etiquetas universales? (¿Qué es JJ
, por ejemplo?)
Además, cuando estoy iterando a través de las oraciones, buscando sustantivos, por ejemplo, termino haciendo algo como verificar para ver si la etiqueta .contains('N')
. Esto se siente bastante débil. ¿Hay una mejor manera de buscar mediante programación una determinada parte del discurso?
java
nlp
stanford-nlp
part-of-speech
Nick Heiner
fuente
fuente
.starts_with('N')
lugar de hacerlocontains
, ya que 'IN' y 'VBN' también contienen 'N'. Y esa es probablemente la mejor manera de encontrar qué palabras piensa el etiquetador como sustantivos.Respuestas:
El Proyecto Penn Treebank . Mira el etiquetado de la parte del discurso ps.
JJ es adjetivo. NNS es sustantivo, plural. VBP es el tiempo presente verbal. RB es adverbio.
Eso es para ingles. Para los chinos, es el Penn Chinese Treebank. Y para el alemán es el corpus NEGRA.
fuente
fuente
A la respuesta aceptada anterior le falta la siguiente información:
También hay 9 etiquetas de puntuación definidas (que no se enumeran en algunas referencias, consulte aquí ). Estos son:
fuente
Aquí hay una lista más completa de etiquetas para el Penn Treebank (publicado aquí en aras de la completitud):
http://www.surdeanu.info/mihai/teaching/ista555-fall13/readings/PennTreebankConstituents.html
También incluye etiquetas para cláusula y niveles de frase.
Nivel de cláusula
Nivel de frase
(descripciones en el enlace)
fuente
En caso de que quisieras codificarlo ...
fuente
Proporciono la lista completa aquí y también doy un enlace de referencia
Puede encontrar la lista completa de etiquetas de partes del discurso aquí .
fuente
Con respecto a su segunda pregunta de encontrar una palabra / fragmento etiquetado en un punto de venta (p. Ej., Nombre) particular, aquí está el código de ejemplo que puede seguir.
El resultado es:
fuente
Parecen ser etiquetas de Brown Corpus .
fuente
Stanford CoreNLP Etiquetas para otros idiomas: francés, español, alemán ...
Veo que usa el analizador para el idioma inglés, que es el modelo predeterminado. Puede utilizar el analizador sintáctico para otros idiomas (francés, español, alemán ...) y, tenga en cuenta que los tokenizadores y parte de los marcadores de voz son diferentes para cada idioma. Si desea hacer eso, debe descargar el modelo específico para el idioma (usando un constructor como Maven, por ejemplo) y luego configurar el modelo que desea usar. Aquí tienes más información sobre eso.
Aquí tienes una lista de etiquetas para diferentes idiomas:
TAGS PARA FRANCÉS:
Parte de las etiquetas de voz para francés
Categorías de frases Etiquetas para francés:
Funciones sintácticas para francés:
fuente
Creo que en Spacy fue muy rápido, solo en un portátil de gama baja funcionará así:
La salida en varias pruebas:
Por lo tanto, creo que no necesita preocuparse por el bucle de cada verificación de etiqueta POS :)
Más mejoras obtuve cuando se deshabilitó cierta tubería:
Entonces, el resultado es más rápido:
fuente