Trouver les racines d'un mot en Java en utilisant WordNet
-
27-10-2019 - |
Question
Je suis au courant de la hypernym dans WordNet, mais comme il y a un certain nombre de sens pour chaque terme, je suis obligé d'utiliser l'algorithme Lesk pour trouver la signification contextuelle d'un mot.
Dans le processus, je suis arrivé à voir le question . Je suis en train de mettre en œuvre cet algorithme qui a été speicified comme la réponse.
Mais mon principal problème est de trouver « produit de l'inverse du nombre de noeuds entre les deux noeuds »
Comment puis-je trouver le nombre de nœuds entre deux mots.
Quand j'essayer d'utiliser hyperonymes, il renvoie un ensemble de mots qui sont un niveau au-dessus du mot courant dans la hiérarchie
exemple: si je prends l'application de texte. WordNet suggère 6 significations et pour chaque sens il y a un ensemble de mots racine, maintenant quel mot devrais-je considérer comme le niveau suivant dans la hiérarchie
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
quel mot dois-je considérer comme le mot suivant dans la hiérarchie construite à la racine afin de trouver la distance?
S'il vous plaît aider, je suis dans un besoin urgent
La solution
L'algorithme vous liez semble un peu déroutant pour moi. Je suppose que vous avez le même but que l'autre personne qui a posé la question suivante: trouver des synonymes appropriés pour un mot. Cette tâche peut être divisée en deux étapes:
- mot désambiguïser que vous allez trouver des synonymes pour, si vous vous retrouvez avec un de sens que
- obtenir ses synonymes
Même si vous avez besoin d'accéder aux hyperonymes, étape 1 doit être fait en premier, en utilisant le Lesk algorithme , il est version simplifiée ou l'un des alternatives . Ensuite, vous avez seulement les hyperonymes pour ce sens.
Pour vous homonymie ne pas besoin de calculer la distance de noeud (au moins dans le cadre de Lesk), il vous suffit de comparer les gloses de chacun pour trouver le sens le plus probable. Ne hésitez pas à commenter si on ne sait pas ou si je n'ai pas eu le droit de question.