在Sklearn机器学习中,有没有方法可以在没有目标标签的情况下对文本进行分类?

2024-05-21 08:55:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有任何方法可以根据文本中的单词,使用Python和Sklearn机器学习将文本数据分类为不同的组/类别?在

例如:

text = [["request approval for access", "request approval to enter premises", "Laptop not working"], ["completed bw table loading"]]

那么我能得到如下分类:

^{pr2}$

在哪里

      0 = approval request
      2 = laptop working
      1 = bw table

基本上,上述情况意味着没有标记的训练数据或目标标签。在


Tags: 数据方法text文本机器forrequesttable
3条回答

这在Scikit-Learn和{a2}中都很容易实现。在

您列出的功能:

0 = approval request
2 = laptop working
1 = bw table

并不是一个聚类算法自然会选择的,值得提醒你不要有可能的错误,模糊你的统计学习算法与启发式。我建议您首先尝试一些集群和分类,然后考虑使用semi-supervised learning methods来标记集群并传播这些标签。在

@用户1452759

您的问题比一般的机器学习更具体,您应该使用NLTK包而不是sklearn包。看看用nltk http://www.nltk.org/book/ch06.html对文本进行分类

您可以尝试一种聚类方法,但不能保证您得到的聚类将与您想要的类别相对应,因为您没有清楚地解释您想要的算法。在

我要做的是手动标记一些数据(标记300个样本需要多长时间?)并在此基础上进行训练,以便您的算法能够学习与每个类相关的单词。在

如果这是不可能的,那么最好的办法就是计算一个样本和每个类描述之间的余弦相似性,对它们进行排序,然后分配最接近的类。但在我看来,当你完成这段代码时,你可以手动标记一些样本,并训练出一个精度更高的标准算法。在

相关问题 更多 >