是否有 Python 文本挖掘脚本来对具有多个分类的文本进行分类?

Is there a Python text mining script to classify text with multiple classifications?

描述分类

我遇到了一个问题,涉及确定文本描述属于哪个类别。这些文字描述由用户输入,可能包含可以匹配到特定类别的关键字。每个类别都有一组可以匹配的关键字和短语。大约有100个类别。 例如,文本描述可能看起来像这样,“粗麻布过道跑步者 w/borders”,类别“织物”包含关键字“粗麻布”,因此文本描述可能属于类别

文字description/category

橙色粗麻布过道w/borders/面料

但是,有一些例外情况使这个分类过程更加困难。

首先,有包含与多个类别匹配的关键字的文本描述。例如,由于在类别中具有相同的关键字,文本描述可能属于 20 个不同的类别(共 100 个)。这不允许对文本描述进行正确分类。

例如,“橙色粗麻布过道跑步者 w/borders”的文本描述将具有属于“水果”类别的关键字“Orang”,同时由于以下原因也属于“织物”关键字“粗麻布”。

文字description/category

橙色粗麻布过道w/borders/面料、水果

其次,文字描述中有些关键字与任何类别都没有直接匹配。同样,这不允许对文本描述进行正确分类。

例如,包含关键字“mouse”的文本描述与类别“Computer Accessory”不直接匹配。

谁能推荐一种算法或python库,无需直接分类即可对文本描述进行分类并消除多分类?

我把文字描述和分类的关键词都分解了,然后匹配了。

这是我用来将文本描述与类别匹配的代码。

%LivyPy3.pyspark

entries['category']=list(map(lambda i:list(map(categories_list.get,i)),entries['text_description']))

但是,从这个脚本来看,要么有多个分类,要么根本没有分类。

我建议您查找 https://skymind.ai/wiki/word2vec,要矢量化的词允许对短语和句子进行矢量化,以将更多上下文应用于该词。 Word to vec 模型创建更好的单词关联模型。

我还会在 google 学者中搜索包括 NLP AND word2vec AND NIPS AND categorization 在内的论文。该搜索产生了 4,300 多篇论文,它们将为您解决问题提供很多指导。如果您只想选择一个类别,那么这是一项非常困难的任务。我看到了关于#Mailchimps NLP 模型的演示,该模型用于将客户端内容分类,有时正确的类别实际上是第四个。他们创建的模型做得很好,但仍然无法检测到一些边缘情况,并且包含一些经典的偏向于更常见的类别而不是不太常见的类别。

https://scholar.google.com/scholar?hl=en&as_sdt=0%2C11&q=NLP+AND+word2vec+AND+categorization+AND+mailchimp&btnG= 推荐引擎论文与你的任务相关,因为预测少量单词的上下文以提出搜索建议的复杂性是一个类似的问题。