当前位置: 首页 > 知识库问答 >
问题:

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

陆宏壮
2023-03-14

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

例如:

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

因此,我可以得到如下类别:

category_label = [[0,0,2], [1]]
categories = [["approval request", "approval request", "Laptop working"], ["bw table"]]

哪里

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

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

共有3个答案

党博超
2023-03-14

@用户1452759

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

易阳云
2023-03-14

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

我要做的是手动标记一些数据(标记300个样本需要多长时间?)然后进行训练,这样你的算法就可以学习与每门课相关的单词。

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

易流觞
2023-03-14

这在Scikit Learn和NLTK中都很容易实现。

您列出的功能包括:

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

不是聚类算法自然会选择的,值得提醒您注意的是,使用启发式算法可能会给统计学习算法蒙上阴影。我建议你先尝试一些聚类和分类,然后考虑半监督学习方法,这样你就可以标记你的集群并传播那些标签。

 类似资料:
  • 如果我想从锚标记中的href属性和字符串“水平零黎明”中刮出链接。 因为锚标记没有自己的类,并且在整个源代码中有更多的锚标记。 使用beautifulSoup可以做些什么来获取所需的数据?

  • 我试图让一个Maven版本为一个Java项目工作,但有一点很有趣,我正在构建的机器没有也不可能访问Maven库。 我在尝试和运行的任何生命周期过程中遇到的错误是 无法对项目xxxxxx执行goal org . Apache . maven . plugins:maven-clean-Plugin:2.5:clean(default-clean):对goal org . Apache . maven

  • 使用PHP-PDO和SQLite,我可以编写一个PDO调用来检查表中是否存在某一行(通过检查主键),如果不存在,则编写另一个PDO调用来创建该行。但我觉得应该可以在一个命令中实现……类似于“如果不存在,则创建表”。是否有类似“不存在时插入行”的内容?

  • 文档说这个库运行在GPU上。如果我功能强大的笔记本电脑没有GPU,我还能运行Deeplearning4J吗?

  • 问题内容: 我正在寻找没有浏览器的Javascript编程。我想从Linux或MacOSX命令行运行脚本,就像我们运行任何其他脚本语言(ruby,PHP,Perl,Python …)一样 我研究了spider monkey(Mozilla)和v8(Google),但它们似乎都是嵌入式的。 是否有人将Javascript作为脚本语言从命令行执行? 如果有人好奇,为什么我期待到这一点,我一直在关注着N

  • 我想以某种方式获得我在项目中使用的所有标签的列表,并获得我在项目中没有运行测试的cucumber场景的所有名称。有人能帮助我怎么做吗?

  • 问题内容: 我正在尝试将JSON数组拆分为多个事件。这是一个示例输入: 这是我的过滤器和输出配置: 这将产生2个事件,数组中的每个JSON都有一个。它接近我要寻找的东西: 问题是嵌套的“结果”部分。“结果”是目标参数的默认值。有没有一种方法可以使用拆分过滤器而不产生嵌套的JSON,并得到如下所示的结果: 目的是将其提供给ElasticSearch输出,每个事件都是带有document_id =>“