我是机器学习或人工智能的新手,但我已经做了近10年的开发人员。
我有一个新闻聚合应用程序,从新闻网站抓取和保存文章,我已经开发了我自己的算法,分类的新闻根据它的标题。
它的工作方式是,当我获得一个新的标题时,我拆分标题的单词,并将其保存在一个名为“tag”的表中,并且我有“类别”表,然后我将手动地将一些标记(可以识别或不间断的单词)链接到类别。
然后,在使用SQL的类别页面上,我对标题进行分类。因为我用的是“美国”和“美国”这两个词,我只把“美国”这个词和类别联系起来,而“美国”这个词与任何类别都没有联系,但仍然知道它属于“美国”所属的同一类别。
我读了PHP库,它是PHP的AI库。据我所知,这就是它使用相同的东西的方式:
// Data for training classifier
$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]]; // Training samples
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];
// Initialize the classifier
$classifier = new SVC(Kernel::LINEAR, $cost = 1000);
// Train the classifier
$classifier->train($samples, $labels);
$classifier->predict([3, 2]); // return 'b'
$classifier->predict([[3, 2], [1, 5]]); // return ['b', 'a']这和我的算法差不多,但我唯一不明白的是这个库是如何理解新词的。
因此,在我自己的算法中,如果有一个新单词,比如“西班牙”,我必须去表中,并将其链接到类别表上的"World“字段。
但是如果这个图书馆是机器学习的话,我想它应该知道“西班牙属于哪里,没有我的触碰。”
我有大约两万个单词,我已经把将近两千个单词和分类表联系起来了。所以,如果我使用这个库,我可以使用与我所拥有的相同的数据,不再接触它,或者这个库如何知道新单词是否属于哪里?它在哪里保存的?或者它能拯救它吗?或者,如果他能预测一个新单词,我是否必须让它改变标签,以链接类别?还是跟我自己的一样,我得把每一个字都教出来?
发布于 2019-04-28 13:28:50
机器学习有许多不同的类型。
你的例子中的一个基本上是试图在a和b标号点之间画直线。

这些行等价于您的单词映射,并在调用train函数后作为分类器的一部分保存在内存中。
要将机器学习应用于文章标记问题,如果带有标记的文章与文章本身的一些统计数据一起使用,则必须有一个培训集。列出文章中的所有单词,并统计它们发生的次数。
然后,机器学习算法将尝试在单词计数和标记之间找到一个模式。
如果它能够找到一个有效的模式,那么您可以从其他文章中向它提供单词计数,并让它预测标记应该是什么。
显然,如果这些文章中有完全新的词,它们将不符合模式,将被忽略。
https://softwareengineering.stackexchange.com/questions/391085
复制相似问题