Nltk: Función para acceder al objeto Synset usando la tecla de sentido

Creado en 10 ene. 2018  ·  4Comentarios  ·  Fuente: nltk/nltk

Es posible que me lo haya perdido, pero ¿hay una función para acceder al objeto Synset desde la interfaz NLTK wordnet desde la tecla de sentido ?

Si no lo hay, ¿podríamos exponer una función que pueda lograr eso en nltk.corpus.wordnet ? Por ejemplo, https://stackoverflow.com/questions/48170666/how-to-get-the-gloss-given-sense-key-using-nltk-wordnet/

Idealmente, sería bueno tener funcionalidades para acceder a los objetos Synset usando:

  1. offset-pos , p 1433493-a Ej. Synset('long.a.02')
  2. sense_key , por ejemplo, long%3:00:02:: -> Synset('long.a.02')

Actualmente, tenemos el synset_from_pos_and_offset() para (1).

Hay otra función ( _synset_from_pos_and_line ) que lee la siguiente línea para devolver 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" 

pero no es la clave de los sentidos.

corpus enhancement goodfirstbug nice idea wordnet

Comentario más útil

Se implementó la función sugerida en el stackoverflow, pero no pareció correlacionarse con los sentidos correctos; por ejemplo, synset_from_sense_key('afraid%3:00:00::') devolvió afraid.a.04 lugar de afraid.a.01 . Este problema se extiende también a otros puntos de venta. (Las claves de sentido se obtuvieron de la interfaz en línea de

En cambio, el uso del método que se muestra en la documentación de SemCor parece lemma_from_key(key) que parece tener algo similar a una tecla de sentido. Sin embargo, lemma_from key(key) no admite satélites adjetivos (por ejemplo, afraid%3:00:02:concerned:00 ). Definitivamente puedo implementar un contenedor alrededor de lemma_from_key(key) para solucionar esto y devolver un Synset .

Todos 4 comentarios

¡Me gustaría trabajar en esto!

@craaaa Perdón por la respuesta tardía, estuvo fuera por un tiempo.

Siéntase libre de trabajar en él y luego cree un PR.
P / S: No se preocupe por romper nada, habrá comprobaciones y revisiones antes de fusionar el código.

Se implementó la función sugerida en el stackoverflow, pero no pareció correlacionarse con los sentidos correctos; por ejemplo, synset_from_sense_key('afraid%3:00:00::') devolvió afraid.a.04 lugar de afraid.a.01 . Este problema se extiende también a otros puntos de venta. (Las claves de sentido se obtuvieron de la interfaz en línea de

En cambio, el uso del método que se muestra en la documentación de SemCor parece lemma_from_key(key) que parece tener algo similar a una tecla de sentido. Sin embargo, lemma_from key(key) no admite satélites adjetivos (por ejemplo, afraid%3:00:02:concerned:00 ). Definitivamente puedo implementar un contenedor alrededor de lemma_from_key(key) para solucionar esto y devolver un Synset .

@craaaa. Creo que todavía hay un problema con los satélites adjetivos. Intenté usar la función synset_from_sense_key y aquí está el error:

Archivo "/home/izorar/anaconda3/lib/python3.7/site-packages/nltk/corpus/reader/wordnet.py", línea 1356, en synset subir WordNetError (mensaje% lema) WordNetError: satélite de adjetivo solicitado pero solo simple adjetivo encontrado para el lema 'primero'

¿Alguna idea de cómo solucionar el error?

¿Fue útil esta página
0 / 5 - 0 calificaciones