使用短文本处理提取模式

数据挖掘 机器学习 分类 聚类 文本挖掘
2022-03-12 15:07:54

我们在项目中面临问题。我们有一个大约 25000 行的数据集,我们有一个列名标题,它包含文本数据,我们在数据集中有一个分数列。我们想使用机器学习技术来了解使标签高的因素是什么,我的意思是关键词是什么等等。正如使用可以看到我们有一个短文本那么什么是从这个短文本中提取与标签相关的最大知识的最合适的技术,我做了一些预处理通过清理文本然后使用 tf-idf 加权函数提取 ngram 特征,然后我尝试使用决策树算法对文本进行分类例如:

   Score Label                       Tactic Title
1.  High                        Opportunity Movement.   
2.  Low                         Partner Launch.  
3.  High                        Implement Mix panel stories.
4.  Low                         Improve app performance and reduce multiple API Calls.
5.  High                        Review Comments.
6.  Low                         Support SimpleStarta Team Goal. 
2个回答

问题 1:“战术标题”真的是 TEXT

即它们不是标准的“标签”。我这样说是因为它们看起来如此结构化和标签般。例如,在使用 NLP 技术的文本分析中,您主要处理的文本中“评论评论”和“评论评论”和“评论评论”应该被认为是相同的。

实际上,您已经尝试过的方式是一种有效的方式。

另一个想法可能是使用信息论方法。这意味着使用类似 Tf-IDF 的方法,但这次要考虑类。在这里,您将寻找在所需类别(High)中出现很多而在其他类别中出现不多的单词/n-gram。一个简单的公式可以是:

Scorewi=NhighNlow+1
在哪里Nhigh是单词的次数wi出现在班和Nlow是单词的次数wi出现在班级Low中。常数1只是为了避免零分母更平滑。

如果您使用它,请小心过度拟合,因为您正在以一种非常隐式和手工制作的方式学习特征。为避免过度拟合,您可以根据min_countmax_count限制修剪找到的单词。

当然这是一个简单的分数,您可以通过修改来提高它(例如,我没有考虑归一化,这是更好的考虑等)

对于预测,您也可以简单地使用朴素贝叶斯。根据贝叶斯方法计算单词/短语(只计算每个类中出现的单词频率)并将它们归一化为概率。现在你有最有可能的数据给定类和类的概率。一个新的数据来了P(C|D)=P(D|C)×P(C)很容易计算。

问题 2:“战术标题”只是固定标签(可能与得分无关)

意味着语义与类不相关,即具有相似术语或含义的两个标题可能在两个不同的类中。

那么这不是一个学习问题。要么你在字典中有新数据的标签,所以你只需提取类,或者你没有它,所以你不知道它!


如果您没有来自背后组织的元信息,您怎么会想知道“合作伙伴启动”是低优先级但“评论评论”是高优先级?你怎么能预测基于这个最有可能“写评论”是还是.如果您认为机器学习应该学习背后的潜在变量,那么我会说是的!但请注意,这种潜在现象可能与Text无关。例如,如果您获得有关哪个部门正在执行任何此类任务的元数据,您最终可能会得到一组更相关/因果关系更大的特征。长话短说:也许信息不在文本中,而是在其他方面。

您是否尝试过无聊、直接的方法?获取所有单词的列表,并计算它们出现高或低标签的频率。(排除只出现一次或两次的词,以及经常出现的词)。

例如:

      Score Label     Tactic Title
 1.   High            Build Batmobile
 2.   Low             Repair Batcave
 3.   High            Paint Batmobile
 4.   Low             Paint Batcave

出现不止一次的词是Paint, Batmobile, BatcaveBatmobile有 100%High标签,Paint有 50% 和Batcave0%。你明白了。