Nltk: Fonction pour accéder à l'objet Synset à l'aide de la touche sense

Créé le 10 janv. 2018  ·  4Commentaires  ·  Source: nltk/nltk

Je l'ai peut-être manqué, mais existe-t-il une fonction pour accéder à l'objet Synset partir de l'interface wordnet NLTK à partir de la clé de sens ?

S'il n'y en a pas, pourrions-nous exposer une fonction qui peut y parvenir dans nltk.corpus.wordnet ? Par exemple https://stackoverflow.com/questions/48170666/how-to-get-the-gloss-given-sense-key-using-nltk-wordnet/

Idéalement, il serait bon d'avoir des fonctionnalités pour accéder aux objets Synset utilisant :

  1. offset-pos , par exemple 1433493-a -> Synset('long.a.02')
  2. sense_key , par exemple long%3:00:02:: -> Synset('long.a.02')

Actuellement, nous avons le synset_from_pos_and_offset() pour (1).

Il existe une autre fonction ( _synset_from_pos_and_line ) qui lit la ligne suivante pour renvoyer Synset('long.a.02') :

01433493 00 a 01 long 1 016 = 05129201 n 0000 + 05133287 n 0101 ! 01436003 a 0101 & 01434007 a 0000 & 01434218 a 0000 & 01434530 a 0000 & 01434717 a 0000 & 01434841 a 0000 & 01434966 a 0000 & 01435060 a 0000 & 01435189 a 0000 & 01435290 a 0000 & 01435399 a 0000 & 01435507 a 0000 & 01435675 a 0000 & 01435891 a 0000 | primarily spatial sense; of relatively great or greater than average spatial extension or extension as specified; "a long road"; "a long distance"; "contained many long words"; "ten miles long" 

mais ce n'est pas la clé des sens.

corpus enhancement goodfirstbug nice idea wordnet

Commentaire le plus utile

Implémenté la fonction suggérée dans le stackoverflow, mais cela ne semblait pas correspondre au bon sens -- par exemple, synset_from_sense_key('afraid%3:00:00::') renvoyé afraid.a.04 au lieu de afraid.a.01 . Ce problème s'étend également à d'autres points de vente. (Les clés de détection ont été obtenues à partir de Wordnet )

Au lieu de cela, l'utilisation de la méthode indiquée dans la documentation SemCor semble correspondre correctement - il existe actuellement une fonction lemma_from_key(key) qui semble prendre quelque chose de similaire à une clé de détection. Cependant, lemma_from key(key) ne supporte pas les satellites adjectifs (par exemple afraid%3:00:02:concerned:00 ). Je peux certainement implémenter un wrapper autour de lemma_from_key(key) pour résoudre ce problème et renvoyer un Synset .

Tous les 4 commentaires

J'aimerais travailler là-dessus !

@craaaa Désolé pour la réponse tardive,

N'hésitez pas à travailler dessus et à créer un PR par la suite.
P/S : Ne vous inquiétez pas de casser quoi que ce soit, il y aura des vérifications et des critiques avant de fusionner le code.

Implémenté la fonction suggérée dans le stackoverflow, mais cela ne semblait pas correspondre au bon sens -- par exemple, synset_from_sense_key('afraid%3:00:00::') renvoyé afraid.a.04 au lieu de afraid.a.01 . Ce problème s'étend également à d'autres points de vente. (Les clés de détection ont été obtenues à partir de Wordnet )

Au lieu de cela, l'utilisation de la méthode indiquée dans la documentation SemCor semble correspondre correctement - il existe actuellement une fonction lemma_from_key(key) qui semble prendre quelque chose de similaire à une clé de détection. Cependant, lemma_from key(key) ne supporte pas les satellites adjectifs (par exemple afraid%3:00:02:concerned:00 ). Je peux certainement implémenter un wrapper autour de lemma_from_key(key) pour résoudre ce problème et renvoyer un Synset .

@craaaa. Je pense qu'il y a toujours un problème avec les satellites adjectifs. J'ai essayé d'utiliser la fonction synset_from_sense_key et voici l'erreur :

Fichier "/home/izorar/anaconda3/lib/python3.7/site-packages/nltk/corpus/reader/wordnet.py", ligne 1356, dans le synset raise WordNetError(message % lemma) WordNetError : adjectif satellite demandé mais uniquement en clair adjectif trouvé pour le lemme 'premier'

Une idée sur la façon de corriger l'erreur?

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

talbaumel picture talbaumel  ·  4Commentaires

jeryini picture jeryini  ·  5Commentaires

DavidNemeskey picture DavidNemeskey  ·  4Commentaires

vezeli picture vezeli  ·  3Commentaires

alvations picture alvations  ·  3Commentaires