Implementações de Python das tecnologias de desambiguação de sentido de palavras (WSD):
Algoritmos Lesk
Maximizando a similaridade (ver também, Pedersen et al. (2003))
Nota : O PYWSD suporta apenas o Python 3 agora ( pywsd>=1.2.0 ). Se você estiver usando o Python 2, a última versão possível é 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 todas as palavras, tente:
> >> 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' ))]Ler assinaturas pré-computadas 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 :
Bronzeado. 2014. PYWSD: implementações de Python das tecnologias de desambiguação de sentido de Word Sense (WSD) [Software]. Recuperado em https://github.com/alvations/pywsd
Em 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. Desambiguação do sentido automático usando dicionários legíveis para a máquina: Como contar a uma pinha de uma casquinha de sorvete. Em Anais da 5ª Conferência Internacional Anual sobre Documentação de Sistemas (Sigdoc '86), Virginia Debuys (ed.). ACM, Nova York, NY, EUA, 24-26. Doi = 10.1145/318723.318728 http://doi.acm.org/10.1145/318723.318728
Satanjeev Banerjee e Ted Pedersen. 2002. Um algoritmo LESK adaptado para desambiguação de senso de palavras usando o WordNet. Em Anais da Terceira Conferência Internacional sobre Linguística Computacional e Processamento de Texto Inteligente (Cicling '02), Alexander F. Gelbukh (ed.). Springer-Verlag, Londres, Reino Unido, Reino Unido, 136-145.
Satanjeev Banerjee e Ted Pedersen. 2003. O brilho estendido se sobrepõe como uma medida da relação semântica. Em Anais da Décima Oitava Conferência Conjunta Internacional de Inteligência Artificial, páginas 805-810, Acapulco.
Jay J. Jiang e David W. Conrath. 1997. similaridade semântica baseada em estatísticas de corpus e taxonomia lexical. Em Anais da Conferência Internacional de Pesquisa em Linguística Computacional, Taiwan.
Claudia Leacock e Martin Chodorow. 1998. Combinando o contexto local e a similaridade do WordNet para a identificação do senso de palavras. Em Fellbaum 1998, pp. 265–283.
Lee, Yoong Keok, Hwee Tou Ng e Tee Kiah Chia. "Desambiguação de sentido de palavra supervisionado com máquinas vetoriais de suporte e várias fontes de conhecimento". SenseVal-3: Terceira oficina internacional sobre a avaliação de sistemas para a análise semântica do texto. 2004.
Dekang Lin. 1998. Uma definição teórica da informação de similaridade. Em Anais da 15ª Conferência Internacional sobre Aprendizagem de Máquina, Madison, WI.
Linlin Li, Benjamin Roth e Caroline Sporleder. 2010. Modelos de tópicos para desambiguação de sentido de palavras e detecção de idioma baseada em token. A 48ª Reunião Anual da Associação de Linguística Computacional (ACL). Uppsala, Suécia.
Andrea Moro, Roberto Navigli, Francesco Maria Tucci e Rebecca J. Passonneau. 2014. Anunciando o MASC Corpus com Babelnet. Em Anais da Nona Conferência Internacional sobre Recursos e Avaliação do Linguagem (LREC'14). Reykjavik, Islândia.
Zhi Zhong e Hwee Tou Ng. 2010. Faz sentido: um sistema de desambiguação de senso de palavra de cobertura ampla para texto livre. Em Anais das demonstrações do sistema da ACL 2010 (Acldemos '10). Association for Computational Linguistics, Stroudsburg, PA, EUA, 78-83.
Steven Bird, Ewan Klein e Edward Loper. 2009. Processamento de linguagem natural com Python (1ª ed.). O'Reilly Media, Inc ..
ENEKO AGIRRE E AITOR SOROA. 2009. Personalizando o PageRank para a desambiguação do senso de palavras. Anais da 12ª Conferência do Capítulo Europeu da Associação de Linguística Computacional (EACL 2009). Atenas, Grécia.