Gracias por el A2A. Si está preguntando por la mecánica, así es cómo podría hacer esto en Python con NLTK:
desde nltk.corpus importa wordnet como wn
de nltk.corpus import wordnet_ic
cars = wn.synsets (“auto”, “n”)
bicicletas = wn.synsets (“bicicleta”, “n”)
- ¿Cuáles son las diferencias entre algoritmos y pseudocódigo?
- ¿Cómo son útiles la estructura de datos y los algoritmos en el aprendizaje automático?
- ¿Cuál es la nueva actualización del algoritmo de Google?
- ¿Por qué recibo un error de tiempo de ejecución en la conversión de un árbol binario a un árbol binario enhebrado?
- ¿Es posible resolver un problema de cambio de monedas para algunos elementos cíclicos a través de la programación dinámica si no se permite el uso de monedas adyacentes?
brown_ic = wordnet_ic.ic (“ic-brown.dat”)
semcor_ic = wordnet_ic.ic (“ic-semcor.dat”)
para automóvil en automóviles:
para bicicleta en bicicleta:
jcs_brown = car.jcn_similarity (bicicleta, brown_ic)
jcs_semcor = car.jcn_similarity (bicicleta, semcor_ic)
print (“JCS (% s,% s) = (% .4f,% .4f)”%
(str (coche), str (bicicleta), jcs_brown, jcs_semcor))
La salida de este fragmento de código se ve así:
JCS (Synset (‘car.n.01’), Synset (‘motorcycle.n.01’)) = (0.0000, 0.0000)
JCS (Synset (‘car.n.01’), Synset (‘bicycle.n.01’)) = (0.2540, 0.2203)
JCS (Synset (‘car.n.02’), Synset (‘motorcycle.n.01’)) = (0.0000, 0.0000)
JCS (Synset (‘car.n.02’), Synset (‘bicycle.n.01’)) = (0.2252, 0.1449)
JCS (Synset (‘car.n.03’), Synset (‘motorcycle.n.01’)) = (0.0000, 0.0000)
JCS (Synset (‘car.n.03’), Synset (‘bicycle.n.01’)) = (0.0758, 0.0000)
JCS (Synset (‘car.n.04’), Synset (‘motorcycle.n.01’)) = (0.0000, 0.0000)
JCS (Synset (‘car.n.04’), Synset (‘bicycle.n.01’)) = (0.0758, 0.0000)
JCS (Synset (‘cable_car.n.01’), Synset (‘motorcycle.n.01’)) = (0.0000, 0.0000)
JCS (Synset (‘cable_car.n.01’), Synset (‘bicycle.n.01’)) = (0.0758, 0.0000)
Esto se basa en la documentación que se encuentra en esta página: Interfaz de WordNet.
También he escrito una interfaz similar a NLTK en Scala (aquí: sujitpal / scalcium) usando ws4j – Similitud de WordNet para Java – Google Project Hosting, por lo que también puede hacer algo similar en Java (u otro lenguaje basado en JVM).