如何对数字标记形式的文本数据应用分类算法?

Posted

技术标签:

【中文标题】如何对数字标记形式的文本数据应用分类算法?【英文标题】:How can I apply classification algorithm for text data which is in the form of numerical tokens? 【发布时间】:2020-01-21 07:20:50 【问题描述】:

我正在尝试解决分类问题:数据是来自电子商务平台的特定产品类别的评论。请在下面找到每个属性的描述:

id:每个元组的唯一标识符。 类别:评论分为正面和负面评论两类。 0 代表正面评价,1 代表负面评价。 文本:评论的标记化文本内容。

示例数据集附在图片中。

我正在考虑尝试 TF-IDF,但鉴于文本格式不知道如何使用。

我希望根据提供的文本列来预测类别。

【问题讨论】:

【参考方案1】:

您可以使用列text作为几个功能,我建议您拆分该列(How do I split a string into several columns in a dataframe with pandas Python?):

#first load dataframe (I assume it is excel format)
import pandas as pd
df = pd.read_excel('YourPath', header=True)
df['Text'].str.split('', expand=True)

然后您可以将其转换为 (0,1) 数据框:

df1 = (pd.get_dummies(df.set_index(['id', 'category']).stack())
         .max(level=0)
         .rename(columns=int)
         .reset_index())

这将导致类似:

id category 5002  7400 ....
 1    A         1     0 .....
 2   B         0     1

其中的列是数据框中的值,并且仅当该值存在于该类别中时才填充

【讨论】:

是的,但是如果我拆分它们,那么数据的长度不是恒定的,因此会得到多列的最大行数为空。 您可以查看此转换:***.com/questions/58027455/… @DhrubSatyamJha 你有什么解决办法吗?

以上是关于如何对数字标记形式的文本数据应用分类算法?的主要内容,如果未能解决你的问题,请参考以下文章

基于协同训练的半监督文本分类算法

对具有分类数字和文本的数据进行预测。

朴素贝叶斯分类算法的sklearn实现

R语言:朴素贝叶斯算法实现对中文垃圾邮件的分类

如何使用分类器算法对单个文本进行分类

通过使用 POS 标记提高文本分类准确性 - NLP