nlp - NLTK Wordnet:lemma_names 与similar_tos
问题描述
lemma_names
NLTK WordNet 可以使用和similar_tos
方法生成给定单词的同义词:
from nltk.corpus import wordnet as wn
for ss in wn.synsets("small"):
print(ss.name())
print("Synonyms:", ss.lemma_names())
print("Synonyms:", [sim.name().split('.')[0] for sim in ss.similar_tos()])
这是打印输出的摘录:
small.a.01
Synonyms: ['small', 'little']
Synonyms: ['atomic', 'bantam', 'bitty', 'dinky', 'dwarfish', 'elfin', 'gnomish',
'half-size', 'infinitesimal', 'lesser', 'micro', 'microscopic', 'miniature',
'minuscule', 'olive-sized', 'pocket-size', 'puny', 'slender', 'small-scale',
'smaller', 'smallish', 'subatomic', 'undersize']
minor.s.10
Synonyms: ['minor', 'modest', 'small', 'small-scale', 'pocket-size', 'pocket-sized']
Synonyms: ['limited']
by 返回的同义词lemma_names
与 by 返回的同义词有何不同similar_tos
?
我们什么时候应该使用一种方法或另一种方法?
解决方案
似乎通过查看源代码来lemma_names
获取该同义词集的词形化名称,该同义词集使用关系运算符(交集)similar_tos
获取所有相关同义词集。&
以下是源代码的相关位:
引理名称
def lemma_names(self, lang='eng'):
'''Return all the lemma_names associated with the synset'''
类似的 Tos
def similar_tos(self):
return self._related('&')
def _related(self, relation_symbol):
get_synset = self._wordnet_corpus_reader.synset_from_pos_and_offset
return [
get_synset(pos, offset)._lemmas[lemma_index]
for pos, offset, lemma_index
in self._synset._lemma_pointers[self._name, relation_symbol]
]
在一些挖掘阅读源代码中死链接的正确链接之后,它似乎代表了 all ,它们是与头部同义词集相关的集群术语。similar_to
satellite synsets
satellite synset
Synset in an adjective cluster representing a concept
that is similar in meaning to the concept represented
by its head synset
推荐阅读
- c++ - 运行时一次高效的函数选择器
- ubuntu - Npm:在 UBUNTU 上找不到模块“../lib/utils/unsupported.js”
- docker - 使用 dotnet 跟踪和计数器在 kubernetes 性能诊断上部署的 C# dotnet 应用程序
- javascript - mouseleave 在 mouseenter 后立即触发
- wordpress - GCP - 在虚拟机重新启动时在 wordpress 中更改新 IP 的地方
- macos - 通过 brew install 使用 GitHub 操作缓存
- python - FLASK_WTF 一个新初始化的表单变量怎么会有数据呢?
- mysql - 无法为 MySQL 创建 bugzilla 用户
- java - 为什么我的 AsyncTask 不显示进度对话框?
- javascript - Openlayers:添加纯色图层作为叠加层