Si lo que quieres son frecuencias adjetivas, entonces el problema es relativamente simple, a diferencia de una solución de aprendizaje de máquina brutal, no tan buena.
Wat do?
Marca POS para el texto. Esto anota su texto con etiquetas de parte de discurso, por lo que tendrá una precisión del 95% o más en eso. Puede etiquetar su texto usando el Stanford Parser online para tener una idea. El analizador en realidad también le da la estructura gramatical, pero solo le importa el etiquetado.
También querrá asegurarse de que las oraciones estén divididas correctamente. Para esto necesitas un interruptor de frase. Eso está incluido con software como el analizador de Stanford.
Luego solo divide las oraciones, etiquétalas y cuente todas las cosas con la etiqueta ADJ o cualquier etiqueta que use. Si las etiquetas no tienen sentido, busque el juego de etiquetas Penn Treebank (los Treebanks se usan para entrenar herramientas NLP, y las etiquetas Penn Treebank son las más comunes).
¿Cómo?
Java o Python es el lenguaje de las herramientas de PNL. Python, usa NLTK. Es fácil, bien documentado y bien entendido.
Para Java, tiene GATE, LingPipe y Stanford Parser, entre otros. Me duele mucho usar el analizador de Stanford, afortunadamente sufrí, así que no tienes que hacerlo si eliges seguir ese camino. Vea mi google page para algunos ejemplos de código (en la parte inferior de la página) con el analizador de Stanford.
Das all?
No, es posible que desee detener los adjetivos también- que es donde se obtiene la forma de la raíz de una palabra:
coches -> coche
realidad no puedo pensar en una situación donde esto es necesario con adjetivos, pero podría suceder. Cuando mires tu resultado, será evidente si necesitas hacer esto. Un etiquetador/analizador de TPV/etc obtendrá sus palabras derivadas (también llamadas lemmas).
Más Explicaciones de NLP Ver this question.
Wow, muchas gracias que todo es muy útil. – awinbra
Si solo desea partes de discurso (como un adjetivo?), Será mucho más rápido usar solo un etiquetador de voz parcial (como el Etiquetador de POS de Stanford) en lugar de un analizador completo. Los análisis completos ayudarían a obtener el alcance de negación correcto, pero es posible que pueda manejarlo heurísticamente; busque una negación en algunas palabras anteriores antes de encontrar un signo de puntuación. –
Lo siento, debería haber enojado esa distinción (tagger vs parser vs qué contiene cada paquete de software) – nflacco