gpt4 book ai didi

machine-learning - 计算词性标注器准确度的参数

转载 作者:行者123 更新时间:2023-11-30 08:47:25 25 4
gpt4 key购买 nike

我是自然语言处理的初学者,我有一个关于计算 POS 标注器准确性的基本问题(标注器正在使用语料库):

(不要将下面的“集合”一词与集合的数学定义混淆。我只是将它用作普通的英语单词来表达一些“组”或“映射”)

有不同的准确度指标,例如精确度/召回率和混淆矩阵。这两者都需要以下两个内容作为输入参数:
1. 预测结果集:POS Tagger 在输入上运行后,我们对输入单词的标签进行预测。这个参数我理解;它基本上是标记器使用语料库和一些统计技术生成的内容。这组是我们的预测
2. 实际结果集:该集表示每个单词的实际标签应该是什么。这个集合就是现实
我的问题是关于第二个参数:这个集合应该如何“构造”。我是否应该手动构建一个集合,将每个输入单词映射到正确标签?我所说的手动,是指读取语料库,然后找到每个输入单词对应的标签。

所以我的问题基本上是:如果有一些代码可以计算 POS-Tagger 的准确性,那么计算的准确性是根据什么?这段代码如何知道单词到标签的正确映射是什么?如果它确实知道单词到标签的正确映射,那么为什么这个代码不被用来做标签本身呢? (希望读者能理解我这里的困惑)。

我举这个例子:
输入句子:我是男孩。
预测标签:I_Pronoun am_Noun a_Article boy_Verb。 (标签的简化名称,显然标签已经做错了)

实际标记应该是:I_Pronoun am_Verb a_Article boy_Noun
知道标记应该是什么,但是准确度计算器代码如何知道实际标记应该是什么?我是否应该手动为每个输入句子准备正确标签的映射,然后将其作为参数传递?

请注意,我知道精确率/召回率的计算是如何工作的。我只是问:我如何告诉它什么是正确的标记集

最佳答案

正如 Vsevolod Dyomkin 所说,如果您想测试您的程序,您需要有与现实相对应的预先标记的数据。您可以手动创建自己的或使用可用的,例如 brown corpus 。由于您的标签之一是 scikit-learn,因此我假设您使用的是 NLTK,这使您可以通过 nltk.download() 直接使用它。

虽然我不知道实现细节,但一旦您处理了预测集和实际集,您应该能够使用 scikit-learn 提供的函数,例如 confusion_matrix 。例如,

predicted_tags = ['NOUN', 'VERB']
real_tags = ['NOUN', 'PRONOUN']
confusion_matrix(y_true, y_pred)

将返回

array([[1, 0, 0],
[0, 0, 1],
[0, 0, 0]])

关于machine-learning - 计算词性标注器准确度的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25100559/

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