Quiero escribir algo que tome una oración e identifique cada palabra que contiene y defina qué parte del discurso es cada palabra.
Por ejemplo
Hola mundo soy una frase
devolvería esto
verb noun, pronoun verb adjective noun
Idealmente, me gustaría ir un paso más allá y tomar una oración y hacer que entienda programáticamente lo que está tratando de interpretar y tal vez hacer algo al respecto.
Entonces mi pregunta es, ¿alguien ha oído hablar de algo como esto?
Respuestas:
Esto se llama procesamiento del lenguaje natural y es un campo enorme y complejo. Algo como lo que usted describe es un logro monumental, e incluso las mejores soluciones, como Watson , no son para nada perfectas.
Cosas como esta lo hacen desafiante: "Buffalo Buffalo Buffalo Buffalo Buffalo Buffalo Buffalo Buffalo"
fuente
Si bien dividir una oración y determinar la corrección gramatical junto con la resolución de su primer problema es más fácil que su segundo problema, muchas complejidades como los verbos-sustantivos o gerundios como la natación, la programación, etc. y otras complejidades similares, todavía es un desafío: vea Morons ' responder.
Pero el segundo problema - la gente ha puesto en enormes esfuerzos para encontrar una solución perfecta, pero es un algoritmo perfecto "interpretación" no es realizable prácticamente para cualquier lenguaje natural como Inglés - hay variaciones que se tornillo hasta su algoritmo. Este campo, un híbrido entre IA, informática y lingüística, se conoce como PNL . Considere esto: incluso el Traductor de Google no es perfecto cuando "interpreta" oraciones.
Sin embargo, este es un campo muy interesante para jugar.
fuente
Creo que deberías comenzar a leer este artículo de Wikipedia:
http://en.wikipedia.org/wiki/Part-of-speech_tagging
(es un campo de investigación, no esperes ninguna solución fácil para ello).
fuente
Una forma económica de hacer esto sería configurar una base de datos del diccionario (estoy casi seguro de que alguien ha hecho esto).
Necesita dos campos en la tabla:
word
yusage
Convierta la frase en una serie de cadenas (cada palabra es una cadena) e independientemente:
Es una solución pesada, pero que he usado en el pasado.
fuente