gpt4 book ai didi

python - 词性标注是确定性的吗?

转载 作者:太空狗 更新时间:2023-10-29 20:52:46 24 4
gpt4 key购买 nike

我一直在努力思考为什么会发生这种情况,但我希望有人能对此有所说明。我正在尝试标记以下文本:

ae0.475      X  mod 
ae0.842 X mod
ae0.842 X mod
ae0.775 X mod

使用以下代码:

import nltk

file = open("test", "r")

for line in file:
words = line.strip().split(' ')
words = [word.strip() for word in words if word != '']
tags = nltk.pos_tag(words)
pos = [tags[x][1] for x in range(len(tags))]
key = ' '.join(pos)
print words, " : ", key

得到以下结果:

['ae0.475', 'X', 'mod']  :  NN NNP NN
['ae0.842', 'X', 'mod'] : -NONE- NNP NN
['ae0.842', 'X', 'mod'] : -NONE- NNP NN
['ae0.775', 'X', 'mod'] : NN NNP NN

我不明白。有谁知道这种不一致的原因是什么?我对 pos 标记的准确性不是很在意,因为我试图提取一些模板,但它似乎在不同的实例中使用不同的标记来表示一个看起来“几乎”相同的词。

作为解决方案,我将所有数字替换为 1 并解决了问题:

['ae1.111', 'X', 'mod']  :  NN NNP NN
['ae1.111', 'X', 'mod'] : NN NNP NN
['ae1.111', 'X', 'mod'] : NN NNP NN
['ae1.111', 'X', 'mod'] : NN NNP NN

但我很好奇为什么它在我的第一个案例中用不同的标签标记了实例。有什么建议吗?

最佳答案

我尽最大努力了解未发现的 this来自不使用整个 Brown 语料库的人:

Note that words that the tagger has not seen before, such as decried, receive a tag of None.

所以,我猜像 ae1.111 的东西一定出现在语料库文件中,但没有像 ae0.842 的东西。这有点奇怪,但这就是给出 -NONE- 标签的原因。

编辑:我 super 好奇,downloaded the Brown corpus我自己,并在其中进行纯文本搜索。数字 111 在其中出现了 34 次,而数字 842 只出现了 4 次。 842 仅出现在美元金额的中间或年份的最后 3 位数字,而 111 多次单独作为页码出现。 775 也作为页码出现一次。

所以,我要做出一个猜想,因为 Benford's Law ,与以 8 或 9 开头的数字相比,您最终会更频繁地匹配以 1、2 和 3 开头的数字,因为这些数字通常是书中会引用的随机页面的页码。我真的很想知道这是不是真的(当然,我没有足够的兴趣自己去做!)。

关于python - 词性标注是确定性的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com