Implementasi Python dari Word Sense Disambiguasi (WSD) Teknologi:
Algoritma Lesk
Memaksimalkan kesamaan (lihat juga, Pedersen et al. (2003))
Catatan : PYWSD hanya mendukung Python 3 sekarang ( pywsd>=1.2.0 ). Jika Anda menggunakan Python 2, versi terakhir yang mungkin adalah 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'Untuk semua kata WSD, coba:
> >> 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' ))]Untuk membaca tanda tangan yang sudah dikomputasi per sinset:
> >> 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' ]) Untuk mengutip pywsd :
Tan Liling. 2014. PYWSD: Implementasi Python dari Word Sense Disambiguasi (WSD) Teknologi [Perangkat Lunak]. Diperoleh dari https://github.com/alvations/pywsd
Di 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. Otomatis Sense Disambiguasi Menggunakan Kamus yang Dapat Dibaca Mesin: Cara Memberi Tahu Kerucut Pinus dari Ice Cream Cone. Dalam Prosiding Konferensi Internasional Tahunan ke -5 tentang Dokumentasi Sistem (SIGDOC '86), Virginia Debuys (ed.). ACM, New York, NY, AS, 24-26. Doi = 10.1145/318723.318728 http://doi.acm.org/10.1145/318723.318728
Satanjeev Banerjee dan Ted Pedersen. 2002. Algoritma Lesk yang diadaptasi untuk disambiguasi indera kata menggunakan WordNet. Dalam Prosiding Konferensi Internasional Ketiga tentang Linguistik Komputasi dan Pemrosesan Teks Cerdas (Cicling '02), Alexander F. Gelbukh (ed.). Springer-Verlag, London, Inggris, Inggris, 136-145.
Satanjeev Banerjee dan Ted Pedersen. 2003. Extended gloss tumpang tindih sebagai ukuran keterkaitan semantik. Dalam Prosiding Konferensi Gabungan Internasional Kedelapan Belas tentang Kecerdasan Buatan, halaman 805-810, Acapulco.
Jay J. Jiang dan David W. Conrath. 1997. Kesamaan semantik berdasarkan statistik corpus dan taksonomi leksikal. Dalam Prosiding Konferensi Internasional tentang Penelitian Linguistik Komputasi, Taiwan.
Claudia Leacock dan Martin Chodorow. 1998. Menggabungkan konteks lokal dan kesamaan WordNet untuk identifikasi indera kata. Dalam Fellbaum 1998, hlm. 265–283.
Lee, Yoong Keok, Hwee Tou Ng, dan Tee Kiah Chia. "Disambiguasi Sense Kata yang Diawasi dengan Mesin Vektor Dukungan dan banyak sumber pengetahuan." Senseval-3: Lokakarya Internasional Ketiga tentang Evaluasi Sistem untuk Analisis Teks Semantik. 2004.
Dekang Lin. 1998. Definisi-Definisi Kesamaan Informasi-Teori. Dalam Prosiding Konferensi Internasional ke -15 tentang Pembelajaran Mesin, Madison, WI.
Linlin Li, Benjamin Roth dan Caroline Sporleder. 2010. Model topik untuk disambiguasi indera kata dan deteksi idiom berbasis token. Pertemuan Tahunan ke -48 Asosiasi Linguistik Komputasi (ACL). Uppsala, Swedia.
Andrea Moro, Roberto Navigli, Francesco Maria Tucci dan Rebecca J. Passononau. 2014. Anotasi masc corpus dengan Babelnet. Dalam Prosiding Konferensi Internasional Kesembilan tentang Sumber Daya dan Evaluasi Bahasa (LREC'14). Reykjavik, Islandia.
Zhi Zhong dan Hwee Tou ng. 2010. Masuk akal: Sistem disambiguasi kata-kata yang luas untuk teks gratis. Dalam Prosiding Demonstrasi Sistem ACL 2010 (ACLDEMOS '10). Asosiasi Linguistik Komputasi, Stroudsburg, PA, AS, 78-83.
Steven Bird, Ewan Klein, dan Edward Loper. 2009. Pemrosesan bahasa alami dengan Python (edisi pertama). O'Reilly Media, Inc ..
Eneko Agirre dan Aitor Soroa. 2009. Personalisasi PageRank untuk disambiguasi indera kata. Prosiding Konferensi ke-12 Bab Eropa Asosiasi Linguistik Komputasi (EACL-2009). Athena, Yunani.