Trovare le radici di una parola in Java utilizzando WordNet
-
27-10-2019 - |
Domanda
Sono consapevole del iperonimo in WordNet, ma dal momento che ci sono una serie di senso di ogni termine sono costretto a utilizzare l'algoritmo Lesk per trovare il significato contestuale di una parola.
Nel processo, ho avuto modo di vedere la domanda . Sto cercando di implementare questo algoritmo che è stato speicified come la risposta.
Ma il mio problema principale sta nel trovare "prodotto della inverso del numero di nodi tra i due nodi"
Come faccio a trovare il numero di nodi tra due parole.
Quando provo utilizza iperonimi, restituisce un insieme di parole che sono un livello sopra la parola corrente nella gerarchia
Esempio: se prendo l'applicazione Word. Wordnet suggerisce 6 significati e per ogni senso ci sono una serie di parole radice, ora quale parola devo considerare come il livello successivo nella gerarchia
for the 1th meaning of application the hypernyms are
request petition postulation
for the 2th meaning of application the hypernyms are
use usage utilization utilisation employment exercise
for the 3th meaning of application the hypernyms are
program programme computer program computer programme
for the 4th meaning of application the hypernyms are
manual labor manual labour
for the 5th meaning of application the hypernyms are
remedy curative cure therapeutic
for the 6th meaning of application the hypernyms are
effort elbow grease exertion travail sweat
Ora che la parola devo considerare come la parola successiva nella gerarchia di costruire alla radice, al fine di trovare la distanza?
Si prega di aiuto, io sono in un bisogno urgente
Soluzione
L'algoritmo si collega a sembra un po 'di confusione per me. I suppone che si abbia lo stesso scopo l'altra persona che ha posto la domanda: trovare sinonimi appropriati per una parola. Questo compito può essere suddiviso in due fasi:
- parola disambiguate che si sta andando a trovare i sinonimi di, così si finisce con una senso solo
- ottenere i suoi sinonimi
Anche se avete bisogno di accedere ai iperonimi, punto 1 dovrebbe essere fatto prima, utilizzando il Lesk algoritmo , è semplificato versione o una delle alternative . Poi ci sono solo le iperonimi per quel senso.
Per disambiguazione si non necessità di distanza nodo di elaborazione (almeno come parte di Lesk), è solo bisogno di confrontare le glosse di ciascuno per trovare il significato più probabile. Non esitate a commentare se non è chiaro o se non ho avuto la giusta domanda.