我想知道是否有任何方法可以使用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
基本上,上述情况意味着没有标记的训练数据或目标标签。
@用户1452759
您的问题比一般的机器学习更具体,您应该使用包NLTK而不是sklearn。看看用nltk对文本进行分类http://www.nltk.org/book/ch06.html
你可以尝试一种聚类方法,但是不能保证你得到的聚类会与你想要的类别相对应,因为你没有清楚地解释你想要的算法。
我要做的是手动标记一些数据(标记300个样本需要多长时间?)然后进行训练,这样你的算法就可以学习与每门课相关的单词。
如果这是不可能的,那么最好的办法是计算一个样本和每个类描述之间的余弦相似性,对它们进行排序,然后指定最接近的类。但是在我看来,当你完成这个代码的时候,你可以手动标记一些样本,并训练出一个精度更高的标准算法。
这在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 =>“