我有一份多年来的新闻数据,我希望训练这些数据,以便每次我输入一则测试新闻时,系统能返回该新闻相关的行业,例如“制造业”或“金融”。虽然这可以通过分类算法来实现,但遗憾的是我没有用于训练数据的分类器。我的数据看起来像这样:
ID | News 1 | News1 2 | News2 3 | News3
如果数据是以如下形式,那么我就可以应用分类算法来分类行业:
ID | News | Industry Related to 1 | News1 | Manufacturing2 | News2 | Finance 3 | News3 | e-commerce
但你知道新闻API并不会提供与新闻相关的行业信息。在这种情况下,我该如何训练我的模型呢?
回答:
实现这一目标有不同的方法,每种方法都有其优缺点。你描述的问题并不简单。
我无法给出这个问题的普遍且正确的答案,因为这很大程度上取决于你想要达到的目标是什么。
你尝试做的是无监督学习。一般来说,你可以使用的Google搜索词是“分类未标记数据”。
维基百科上关于这个主题的文章对你可能使用的技术有很好的概述。由于机器学习问题通常不是一刀切的,并且每个项目选择的算法差异很大(数据集的大小、处理能力、误分类成本等),如果不详细了解你的数据和问题,没有人能给你一个普遍完美的答案。
仅从阅读你的帖子来看,我的第一个方法是使用聚类算法(如k-means聚类,见维基百科文章,我不能发布超过两个链接),利用文本的余弦相似度生成不同的新闻聚类,然后浏览这些聚类,手动标记它们,并将结果用作训练数据——或者使用tf*idf自动生成标签(见维基百科文章,我不能发布超过两个链接)。
然而,这样做的结果可能是非常好的、非常差的,或介于两者之间。