gpt4 book ai didi

machine-learning - 分类中的词义消歧

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

我正在将输入句子分类为不同的类别。如时间、距离、速度、位置等

我使用MultinomialNB 训练了分类器。

分类器主要考虑tf作为特征,我也尝试考虑句子结构(使用1-4克)

使用 multinomialNBalpha = 0.001,这是少量查询的结果

what is the value of Watch
{"1": {"other": "33.27%"}, "2": {"identity": "25.40%"}, "3": {"desc": "16.20%"}, "4": {"country": "9.32%"}}
what is the price of Watch
{"1": {"other": "25.37%"}, "2": {"money": "23.79%"}, "3": {"identity": "19.37%"}, "4": {"desc": "12.35%"}, "5": {"country": "7.11%"}}
what is the cost of Watch
{"1": {"money": "48.34%"}, "2": {"other": "17.20%"}, "3": {"identity": "13.13%"}, "4": {"desc": "8.37%"}} #for above two query also result should be money
How early can I go to mumbai
{"1": {"manner": "97.77%"}} #result should be time
How fast can I go to mumbai
{"1": {"speed": "97.41%"}}
How come can I go to mumbai
{"1": {"manner": "100.00%"}}
How long is a meter
{"1": {"period": "90.74%"}, "2": {"dist": "9.26%"}} #better result should be distance

使用multinomialNW并考虑ngram (1-4)

what is the value of Watch
{"1": {"other": "33.27%"}, "2": {"identity": "25.40%"}, "3": {"desc": "16.20%"}, "4": {"country": "9.32%"}}
what is the price of Watch
{"1": {"other": "25.37%"}, "2": {"money": "23.79%"}, "3": {"identity": "19.37%"}, "4": {"desc": "12.35%"}, "5": {"country": "7.11%"}}
what is the cost of Watch
{"1": {"money": "48.34%"}, "2": {"other": "17.20%"}, "3": {"identity": "13.13%"}, "4": {"desc": "8.37%"}} # for above two query also result should be money
How early can I go to mumbai
{"1": {"manner": "97.77%"}} #result should be time
How fast can I go to mumbai
{"1": {"speed": "97.41%"}}
How come can I go to mumbai
{"1": {"manner": "100.00%"}}
How long is an hour
{"1": {"dist": "99.61%"}} #result should be time

所以结果完全取决于单词的出现。有什么方法可以在这里添加单词消歧(或任何其他可以带来某种理解的方法)?

我已经检查过Word sense disambiguation in NLTK Python

但这里的问题是识别句子中的主要单词,每个句子中的主要单词都不同。

POS(给出NN,JJ,哪个句子不依赖),NER(高度依赖于大写,有时ner也不能消除像“early”这样的单词的歧义,上面句子中的“成本”)我已经尝试过,但没有一个有帮助。

**How long some times cosidered as time or distance. So based on sentence near by words, it should able to able understand what it is. Similarly for "how fast, "how come" "how early" [how + word] should be understable** 

我正在使用 nltk、scikit learn、python

更新:

  • 40 个类别(每个类别都有属于该类别的句子)
  • 总数据 300 Kb

准确性取决于查询。有时非常好>90%。有时会导致不相关的类。取决于查询如何与数据集匹配

最佳答案

尝试纯粹通过断章取义地查看单个单词来推断语义不会让您走得太远。在您的“ watch ”示例中,唯一真正表明您具有“金钱”语义的术语是您希望消除歧义的术语。作为人类读者,句子中还有哪些其他信息可以帮助您得出该结论?您将如何对这些知识进行建模? (传统的答案是根据您对 watch 作为贵重元素或类似元素的看法来推理。)

话虽如此,您可能希望将 Wordnet 同义词集视为一种可能有用的抽象。至少你可以说“成本”,“价格”和“值(value)”在某种程度上是相关的,但我想你已经计算过的词级统计数据表明它们并不完全同义词,并且你看到的变化基本上是帐户为此(尽管您的输入大小听起来有点小,无法充分涵盖各个单词形式的使用模式的差异)。

另一个提示可以通过词性注释来提供。如果您知道“值(value)”用作名词,那么(至少在我看来)将含义缩小为“金钱谈话”,而动词阅读则不太具体以金钱为导向(“我们重视您的投入”, ETC)。在你的其他例子中,很难看出它是否有帮助。也许您可以使用 POS 注释的输入进行快速实验,看看它是否会产生有用的变化。 (但是 POS 并不总是能够正确推断,原因与您现在遇到问题的原因大致相同。)

您作为示例显示的句子都相当简单。如果您知道您的输入通常仅限于没有模态助词的简单问题,那么为一小部分英语编写一个受限解析器并不难,您实际上可以开始尝试从语法上理解输入的一些含义等等

(顺便说一句,我不确定“我怎么能去孟买”是“方式”,如果它符合语法的话。严格来说,你应该在这里有从句词序。我会理解它的意思大致是“为什么我可以去孟买?”)

关于machine-learning - 分类中的词义消歧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27420853/

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