0

如果我在线使用 WordNet 如下:

http://wordnetweb.princeton.edu/perl/webwn?o2=1&o0=&o8=1&o1=&o7=&o5=&o9=&o6=1&o3=&o4=&s=engineering&i=0&h=00000#c

我会得到一个首选的感觉

(6)S: (n) engineering (engineering%1:04:01::)

(6)通过考虑所有词性和其中所有同义词的感觉频率。

其中我会用字符串'engineering'来规范我的查询词。在这种情况下,什么都不会改变。

不幸的是,我无法从 Python NLTK WordNet 库中获得这些与语义/同义词集相关的数字。这里的频率是用于引理而不是用于感觉。引理频率的总和不会再现与感觉/同义词相关的频率。整体排名反映了全球 PoS 排名为第一优先级,这使得无法选择返回的第一个同义词集WN.synsets('engineering')

(6)在 NLTK 数据中根本找不到上述频率。

当我执行以下操作时:

>>> sorted([(synset.lemmas()[0].count(),synset.lemmas()[0].name()) for synset in WN.synsets('engineering')],reverse=True)
>>> [(12, 'technology'), (2, 'engineering'), (1, 'mastermind'), (0, 'engineering'), (0, 'engineer')]

最上面的引理是'technology',它甚至不是在线版本中的引理,而是上位词。

在我看来,在线资源在输入词的情况下给出了一种意义的频率,该功能似乎没有在 NLTK 版本中实现。那是对的吗?

我假设在线感知频率回答了以下问题:

“X这个词有多少次有Y的意义?”

这不同于:

“理论上可以与单词 X 共享意义 Y 的单词出现了多少次?”

如果您进入,情况会更加极端'real'

在这里,您可以(260, 'very')使用上面的代码获得最佳结果。Very非常频繁,但是当你说'real'你的时候,你通常并不意味着'very'

因此,总而言之,似乎在线版本给出了给定单词的条件概率因子,而 NLTK 版本仅给出了与您的单词 X 共享意义的所有单词的先验概率因子。

编辑:我看到了这个'engineering'例子,频率6可以在 NLTK 版本中找到

Synset('technology.n.01')
Lemma('technology.n.01.engineering')
4

0 回答 0