python單詞sense disamamain(WSD)技術的實現:
Lesk算法
最大化相似性(另請參見Pedersen等人(2003))
注意:PYWSD僅支持Python 3 Now( pywsd>=1.2.0 )。如果您使用的是Python 2,則最後一個可能的版本是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'對於WSD,請嘗試:
> >> 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' ))]要讀取每個綜合的預計簽名:
> >> 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' ])引用pywsd :
ling棕褐色。 2014年。 PYWSD:python Word Sense Disampuation(WSD)技術的實現[軟件]。取自https://github.com/alvations/pywsd
在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年。使用機器可讀詞典自動歧義歧義:如何從冰淇淋錐中告訴松錐。在第5屆國際系統文檔國際會議(Sigdoc '86)的會議錄中,弗吉尼亞Debuys(ed。)。 ACM,紐約,紐約,美國,24-26。 doi = 10.1145/318723.318728 http://doi.acm.org/10.1145/318723.318728
Satanjeev Banerjee和Ted Pedersen。 2002。一種適用於WordNet的適用於單詞sense歧義的Lesk算法。在第三屆計算語言學和智能文本處理國際會議論文集(Cicling '02),Alexander F. Gelbukh(編輯)。英國倫敦,倫敦,施普林格弗洛格,136-145。
Satanjeev Banerjee和Ted Pedersen。 2003。擴展的光重疊作為語義相關性的量度。在第十八屆國際人工智能會議論文集,第805-810頁,阿卡普爾科。
傑伊·江和大衛·W·康拉特。 1997。基於語料庫統計和詞彙分類法的語義相似性。在台灣國際計算語言學研究會議論文集。
克勞迪婭·萊考克(Claudia Leacock)和馬丁·喬多洛(Martin Chodorow)。 1998。將局部上下文和WordNet相似性結合在一起,以進行單詞感知識別。在Fellbaum,1998年,第265-283頁。
Lee,Yoong Keok,Hwee Tou Ng和Tee Kiah Chia。 “有監督的單詞感官歧義,用支持向量機和多個知識源。” Senseval-3:第三次國際研討會有關文本語義分析系統評估的國際研討會。 2004。
德孔林。 1998年。相似性的信息理論定義。在威斯康星州麥迪遜市第15屆國際機器學習會議論文集。
Linlin Li,Benjamin Roth和Caroline Sporleder。 2010年。單詞感官歧義和基於令牌的成語檢測的主題模型。計算語言學協會(ACL)的第48屆年會。烏普薩拉,瑞典。
Andrea Moro,Roberto Navigli,Francesco Maria Tucci和Rebecca J. Passonneau。 2014。用babelnet註釋MASC語料庫。在第九屆國際語言資源與評估會議論文集(LREC'14)。雷克雅未克,冰島。
Zhi Zhong和Hwee tou ng。 2010年。這是有道理的:一個寬覆蓋的單詞Sense Sense dismand歧義系統。在ACL 2010系統示範論文集(ACLEMOS '10)。計算語言學協會,美國賓夕法尼亞州斯特勞茲堡,78-83。
史蒂文·伯德(Steven Bird),伊万(Ewan Klein)和愛德華·洛珀(Edward Loper)。 2009。與Python(第一版)的自然語言處理。 O'Reilly Media,Inc。
Eneko Agirre和Aitor Soroa。 2009年。個性化詞語的人物歧義歧義。計算語言學協會歐洲分會第12屆會議論文集(EACL-2009)。雅典,希臘。