Implementaciones de Python de tecnologías de desambiguación del sentido de las palabras (WSD):
Algoritmos de lesk
Maximización de similitud (ver también Pedersen et al. (2003))
Nota : Pywsd solo admite Python 3 ahora ( pywsd>=1.2.0 ). Si está usando Python 2, la última versión posible es pywsd==1.1.7 .
pip install -U nltk
python -m nltk.downloader 'popular'
pip install -U pywsd
$ python
> >> from pywsd . lesk import simple_lesk
> >> sent = 'I went to the bank to deposit my money'
> >> ambiguous = 'bank'
> >> answer = simple_lesk ( sent , ambiguous , pos = 'n' )
> >> print answer
Synset ( 'depository_financial_institution.n.01' )
> >> print answer . definition ()
'a financial institution that accepts deposits and channels the money into lending activities'Para WSD de todas las palabras, intente:
> >> from pywsd import disambiguate
> >> from pywsd . similarity import max_similarity as maxsim
> >> disambiguate ( 'I went to the bank to deposit my money' )
[( 'I' , None ), ( 'went' , Synset ( 'run_low.v.01' )), ( 'to' , None ), ( 'the' , None ), ( 'bank' , Synset ( 'depository_financial_institution.n.01' )), ( 'to' , None ), ( 'deposit' , Synset ( 'deposit.v.02' )), ( 'my' , None ), ( 'money' , Synset ( 'money.n.03' ))]
> >> disambiguate ( 'I went to the bank to deposit my money' , algorithm = maxsim , similarity_option = 'wup' , keepLemmas = True )
[( 'I' , 'i' , None ), ( 'went' , u'go' , Synset ( 'sound.v.02' )), ( 'to' , 'to' , None ), ( 'the' , 'the' , None ), ( 'bank' , 'bank' , Synset ( 'bank.n.06' )), ( 'to' , 'to' , None ), ( 'deposit' , 'deposit' , Synset ( 'deposit.v.02' )), ( 'my' , 'my' , None ), ( 'money' , 'money' , Synset ( 'money.n.01' ))]Para leer firmas precomputadas por synset:
> >> from pywsd . lesk import cached_signatures
> >> cached_signatures [ 'dog.n.01' ][ 'simple' ]
set ([ u'canid' , u'belgian_griffon' , u'breed' , u'barker' , ... , u'genus' , u'newfoundland' ])
> >> cached_signatures [ 'dog.n.01' ][ 'adapted' ]
set ([ u'canid' , u'belgian_griffon' , u'breed' , u'leonberg' , ... , u'newfoundland' , u'pack' ])
> >> from nltk . corpus import wordnet as wn
> >> wn . synsets ( 'dog' )[ 0 ]
Synset ( 'dog.n.01' )
> >> dog = wn . synsets ( 'dog' )[ 0 ]
> >> dog . name ()
u'dog.n.01'
> >> cached_signatures [ dog . name ()][ 'simple' ]
set ([ u'canid' , u'belgian_griffon' , u'breed' , u'barker' , ... , u'genus' , u'newfoundland' ]) Para citar pywsd :
Bronceado. 2014. PYWSD: Implementaciones de Python de tecnologías de desambiguación del sentido de palabras (WSD) [Software]. Recuperado de https://github.com/alvations/pywsd
En bibtex :
@misc{pywsd14,
author = {Liling Tan},
title = {Pywsd: Python Implementations of Word Sense Disambiguation (WSD) Technologies [software]},
howpublished = {https://github.com/alvations/pywsd},
year = {2014}
}
Michael Lesk. 1986. Desambiguación de sentido automático utilizando diccionarios legibles por máquina: cómo decir un cono de pino de un cono de helado. En Actas de la 5ª Conferencia Anual Internacional sobre Documentación de Sistemas (SIGDOC '86), Virginia Debuys (ed.). ACM, Nueva York, NY, EE. UU., 24-26. Doi = 10.1145/318723.318728 http://doi.acm.org/10.1145/318723.318728
Satanjeev Banerjee y Ted Pedersen. 2002. Un algoritmo de lesk adaptado para la desambiguación del sentido de las palabras usando WordNet. En Actas de la Tercera Conferencia Internacional sobre Lingüística Computacional y Procesamiento de texto inteligente (Cicling '02), Alexander F. Gelbukh (ed.). Springer-Verlag, Londres, Reino Unido, Reino Unido, 136-145.
Satanjeev Banerjee y Ted Pedersen. 2003. Se superponen el brillo extendido como una medida de relación semántica. En Actas de la decimoctava conferencia internacional conjunta sobre inteligencia artificial, páginas 805–810, Acapulco.
Jay J. Jiang y David W. Conrath. 1997. Similitud semántica basada en estadísticas del corpus y taxonomía léxica. En Actas de la Conferencia Internacional sobre Investigación en Lingüística Computacional, Taiwán.
Claudia Leaacock y Martin Chodorow. 1998. Combinando el contexto local y la similitud de WordNet para la identificación del sentido de las palabras. En Fellbaum 1998, pp. 265–283.
Lee, Yoong Keok, Hwee Tou Ng y Tee Kiah Chia. "Desambiguación de sentido de las palabras supervisadas con máquinas de vectores de soporte y múltiples fuentes de conocimiento". Senseval-3: Tercer Taller Internacional sobre la evaluación de sistemas para el análisis semántico del texto. 2004.
Dekang Lin. 1998. Una definición teórica de similitud teórica de información. En Actas de la 15ª Conferencia Internacional sobre Aprendizaje Autor, Madison, WI.
Linlin Li, Benjamin Roth y Caroline Sporleder. 2010. Modelos de temas para la desambiguación de sentido de las palabras y la detección de idiomas basados en tokens. La 48ª Reunión Anual de la Asociación de Lingüística Computacional (ACL). Uppsala, Suecia.
Andrea Moro, Roberto Navigli, Francesco Maria Tucci y Rebecca J. Passonneau. 2014. Anotando el Corpus MASC con Babelnet. En Actas de la Novena Conferencia Internacional sobre Recursos y Evaluación del Lenguaje (LREC'14). Reykjavik, Islandia.
Zhi Zhong y Hwee Tou ng. 2010. Tiene sentido: un sistema de desambiguación de sentido de las palabras de cobertura ancha para el texto libre. En Actas de las demostraciones del sistema ACL 2010 (Acldemos '10). Asociación de Lingüística Computacional, Stroudsburg, PA, EE. UU., 78-83.
Steven Bird, Ewan Klein y Edward Loper. 2009. Procesamiento del lenguaje natural con Python (1ª ed.). O'Reilly Media, Inc ..
Eneko Agirre y Aitor Soroa. 2009. Personalización de PageRank para la desambiguación del sentido de las palabras. Actas de la 12ª Conferencia del Capítulo Europeo de la Asociación de Lingüística Computacional (EACL-2009). Atenas, Grecia.