簡體   English   中英

從 WordNet 同義詞集中獲取單詞

[英]Get the word from a WordNet synset

給定這樣的同義詞集:

Synset("pascal_celery.n.01")

我想得到它代表的單詞:

"pascal celery"

目前,我正在這樣做:

synset.name().split(".")[0]

但這不會將下划線轉換為空格。

有沒有內置的方法來做到這一點?

根據Synset類的源代碼,沒有方法可以准確地返回您想要的。

您可能不得不依賴普通的舊 Python replace

synset.name().split(".")[0].replace('_',' ')

我在這里參加聚會有點晚了,但是為了后代,我認為您正在尋找同義詞集上的.lemmas().lemma_names()方法。

from nltk.corpus import wordnet as wn
dog = wn.synsets('dog')[0]
dog.lemma_names()

>>>['dog', 'domestic_dog', 'Canis_familiaris']

從那里,你可以用空格替換下划線,你會得到你需要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM