nlp - semantica - PNL: ¿algún método fácil y bueno para encontrar similitud semántica entre palabras?
analisis semantico (7)
No sé si StackOverflow cubre NLP, así que voy a dar una oportunidad. Estoy interesado en encontrar la relación semántica de dos palabras de un dominio específico, es decir, "calidad de imagen" y "ruido". Estoy investigando para determinar si las revisiones de las cámaras son positivas o negativas para un atributo particular de la cámara. (como la calidad de imagen en cada una de las revisiones).
Sin embargo, no todo el mundo usa exactamente la misma expresión "calidad de imagen" en las publicaciones, por lo que estoy fuera para ver si hay alguna manera de construir algo así:
"calidad de imagen" que incluye ("ruido", "color", "nitidez", etc.) para que pueda envolver todo dentro de un gran paraguas.
Hago esto para otro idioma, por lo que Wordnet no es necesariamente útil. Y no, no trabajo para Google o Microsoft, así que tampoco tengo datos del comportamiento de clic de las personas como datos de entrada.
Sin embargo, tengo un montón de texto, pos-etiquetado, segmentado, etc.
Eche un vistazo a la indexación semántica latente http://en.wikipedia.org/wiki/Latent_semantic_indexing que aborda específicamente su problema. Sin embargo, debe encontrar la forma de correlacionar estos metaconceptos con sentimientos positivos o negativos. El análisis de sentimientos http://en.wikipedia.org/wiki/Sentiment_analysis debería ayudarlo.
Es posible que desee echar un vistazo al libro Opinion mining and sentiment analysis . Si solo está interesado en la similitud de palabras y frases, este documento de encuesta puede ayudarlo: De la frecuencia al significado: Modelos de espacio vectorial de la semántica
Consulte la distancia de similitud de google - http://arxiv.org/abs/cs.CL/0412098 por ej. si muchas páginas web los incluyen a ambos, probablemente estén relacionados.
programa de demostración en http://mechanicalcinderella.com
Aparte de eso, podrías tratar de traducir un proyecto como wordnet ((google translate podría ayudar), o comenzar una ontología colaborativa.
Para encontrar similitud semántica entre las palabras, un modelo de espacio de palabras debería ser el truco. Tal modelo se puede implementar de manera muy fácil y eficiente. Lo más probable es que desees implementar algún tipo de reducción de dimensionalidad. El más fácil que puedo pensar es la Indización aleatoria , que se ha utilizado ampliamente en PNL.
Una vez que tenga su modelo de espacio de palabras, puede calcular las distancias (por ejemplo, la distancia del coseno) entre las palabras. En dicho modelo, debería obtener los resultados que mencionó anteriormente (la distancia entre "enfoque" y "Detalles" debería ser mayor que "peso de la cámara" frente a "flash" ).
¡Espero que esto ayude!
Vi word2vec en HackerNews hace un par de semanas, se ve bastante cerca de lo que quieres.
Word-Space es definitivamente el camino a seguir aquí. Si LSA va a reducir la velocidad de su aplicación y si la semántica en la indexación aleatoria es demasiado superficial, debería considerar api.cortical.io . Esta API REST puede proporcionarle la representación semántica de huellas dactilares de cualquier palabra. Esta huella semántica contiene todos los diferentes contextos a los que pertenecen las palabras. Puedes desambiguar cualquier palabra con una llamada como "órgano" regresa (músculo, piano, iglesia, membresía ...) Y para cada uno de los contextos puedes obtener términos contextuales: "piano" te dará (órgano, clarinete, violín, flauta) , violonchelo, composiciones, clavecín, orquestal) Con respecto a su último aspecto, estas huellas dactilares semánticas son totalmente independientes del lenguaje. Actualmente cortical.io API cubre: inglés, español, francés, alemán, danés, árabe, ruso, chino. Se están publicando más idiomas hasta el final de 2014.
Re su comentario:
- La clasificación a través del aprendizaje automático se está utilizando para PNL todo el tiempo.
- Con respecto a la similitud semántica entre los conceptos, ver la definición teórica de la similitud de Dekang Lin .
También vea estas preguntas: encontrar palabras relacionadas , similitud semántica de dos frases .