gpt4 book ai didi

machine-learning - NLP 和 ML 文本提取

转载 作者:行者123 更新时间:2023-11-30 09:52:41 26 4
gpt4 key购买 nike

我有一些用户聊天数据并分类为各种类别,问题是有很多算法生成的类别,请参见下面的示例:

Message | Category
I want to play cricket | Play cricket
I wish to watch cricket | Watch cricket
I want to play cricket outside | Play cricket outside

正如您所看到的,类别(本质上是短语)是从文本本身中提取的,根据我的数据,有 10,000 条消息,大约有 4,500 个独特类别。在这种情况下,是否有任何合适的算法可以给我带来良好的预测精度。

最佳答案

嗯,我习惯使用 OpenNLP 的 DocumentCategorizer 来完成这样的任务,但我认为斯坦福NLP 核心也做了一些类似的事情。 OpenNLP 为此使用最大熵,但有很多方法可以做到这一点。

首先对独特标签数量的一些想法。基本上,每个类只有几个样本,这通常是一件坏事:如果您尝试按照您暗示的方式进行分类,无论它是什么,由于重叠和/或欠拟合,您的分类器都会给出糟糕的结果。这就是我之前在类似情况下所做的:将概念分成不同的主题分类器,然后汇总每个概念的最佳分数。例如,根据您上面所写的内容,您可能能够使用一种分类模型检测“外部”或“内部”,然后在另一种分类模型中检测“观看板球”与“玩板球”。然后在运行时,您将文本传递到两个分类器中,并为每个分类器选择最佳命中来组合一个类别。伪代码:

DoccatModel outOrIn = new DoccatModel(modelThatDetectsOutsideOrInside);
DoccatModel cricketMode = new DoccatModel(modelThatDetectsPlayingOrWatchingCricket)
String stringToDetectClassOf = "Some dude is playing cricket outside, he sucks";
String outOrInCat = outOrIn.classify(stringToDetectClassOf);
String cricketModeCat = cricketMode .classify(stringToDetectClassOf);
String best = outOrInCat + " " + cricketModeCat ;

我想你明白了。还有一些其他随意的想法:- 使用文本索引来探索您返回的数据量,以找出如何分解类别。- 您希望每个模型有数百个示例

如果您使用 Java 执行此操作,请告诉我是否希望我为您提供一些来自 OpenNLP 的代码示例

关于machine-learning - NLP 和 ML 文本提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42032788/

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