Existen diferentes enfoques para evaluar la distancia entre los términos y la fuerza de las relaciones entre los términos. Según mi propia experiencia personal, puedo decir que los métodos más utilizados se dividen en dos grupos (o una combinación de ambos):
- la métrica se calcula analizando la similitud topológica basada en una ontología léxica existente (es decir, WordNet , BabelNet aquí son ejemplos válidos). Cada término es un nodo en un gráfico: la métrica se calcula evaluando la ruta más corta ( u otro medio de evaluación espacial ) que une dos o más nodos conceptuales.
- la estimación se realiza utilizando medios estadísticos de un corpus de texto adecuado (es decir, la Biblia, una gran parte de Google News o obras maestras de literatura como Guerra y paz del autor ruso Leo Tolstoy). Aquí las palabras y los contextos textuales se representan con modelos algebraicos como el modelo de espacio vectorial. Los algoritmos, en este caso, aprenden analizando la aparición de palabras tal como aparecen en grandes corpus de texto.
Aquí es donde comienza la diversión Parte uno: similitud semológica topológica con WordNet
WS4J [1] significa WordNet Similarity for Java y es una API Java desarrollada por Hideki Shima e implementando varios algoritmos para evaluar la relación y similitud semántica usando WordNet. Puede probar esta API en vivo con su navegador yendo a WS4J Demo .
- Al considerar los refrigeradores de alta gama para hogares personalizados de lujo, ¿cuál es mejor Viking, Sub Zero, Miele o LG? ¿Por qué?
- Recientemente corté la cabeza de un ciempiés grande que encontré en mi cocina. Al día siguiente, el cuerpo y la cabeza todavía estaban muy alertas y agresivos. ¿Porqué es eso?
- ¿Debo seguir teniendo 6350 acciones de Unitech compradas a Rs. 40?
- Compré un collar antipulgas para Luke, pero al ponerlo y ver su reacción, me quité el collar. ¿Estaba equivocado?
- Me gustaría comprar un video tutorial en Unity, pero usa Unity 3.5. ¿El tutorial ya está obsoleto ya que la última Unity es la versión 5?
Aquí es donde comienza la diversión Parte Dos: similitud semántica usando word2vec
Una palabra se caracteriza por la compañía que mantiene: John Rupert Firth
word2vec [2] es un modelo de red neuronal ” superficial” ( una red neuronal no profunda con una sola capa oculta) lanzada por Google que transforma las palabras en vectores. Al hacerlo, las palabras que tienen un significado similar terminan siendo cercanas entre sí. Además, este enfoque se puede utilizar para trabajar con analogías. El ejemplo más utilizado aquí es el famoso king - man + woman = queen
. Piotr Migdał ha escrito una gran publicación de blog sobre este tema y Julia Bazińska, su aprendiz en la Universidad de Varsovia, ha implementado una visualización interactiva muy efectiva [3] para comenzar.
Este ejemplo específico está utilizando GloVe (vectores pre-entrenados para representaciones de palabras [4]) desarrollado por la Universidad de Stanford. GloVe usa, para evaluar la similitud semántica, la distancia euclidiana (o similitud de coseno) entre dos vectores de palabras.
Si está trabajando en la intersección entre PNL y SEO, le recomiendo que también pruebe WordLift : nuestro complemento de SEO semántico para WordPress . WordLift utiliza procesamiento de lenguaje natural y tecnologías web semánticas para ayudarlo a crear contenido en torno a temas en lugar de palabras clave.
Notas al pie
[1] Almacenamiento a largo plazo para Google Code Project Hosting.
[2] Almacenamiento a largo plazo para Google Code Project Hosting.
[3] Explorar analogías de palabras
[4] Vectores globales para la representación de palabras