我问了一个类似的问题 https://stackoverflow.com/questions/695347/algorithm-to-classify-a-list-of-products几周前就问过这个问题,但我没有正确地提出这个问题。所以我在这里重新问这个问题并提供更多细节,我想得到一个更加面向人工智能的答案。
我有一个代表或多或少相同的产品的列表。例如,在下面的列表中,它们都是希捷硬盘。
- 希捷硬盘 500Go
- 适用于笔记本电脑的希捷硬盘 120Go
- 希捷 Barracuda 7200.12 ST3500418AS 500GB 7200 RPM SATA 3.0Gb/s 硬盘
- 全新闪亮的希捷 500Go 硬盘
- 希捷梭子鱼 7200.12
- 希捷 FreeAgent Desk 500GB 外置硬盘 银色 7200RPM USB2.0 零售
- GE Spacemaker 洗衣店
- 马自达3 2010
- 马自达3 2009 2.3L
对于人类来说,硬盘3和5是相同的。我们可以更进一步,假设产品 1、3、4 和 5 是相同的,并将产品 2 和 6 放入其他类别。
在我之前的问题中,有人建议我使用特征提取。当我们有一个预定义描述(所有硬盘驱动器)的小数据集时,它的效果非常好,但是所有其他类型的描述又如何呢?我不想开始为我的应用程序可能面临的所有描述编写基于正则表达式的特征提取器,它无法扩展。有没有任何机器学习算法可以帮助我实现这一目标?我能得到的描述范围非常广泛,在第一行,它可能是一台冰箱,然后在下一行,它可能是一个硬盘。我应该尝试采用神经网络路径吗?我的输入应该是什么?
感谢您的帮助!
我会看一些贝叶斯分类 http://en.wikipedia.org/wiki/Naive_Bayes_classifier方法。这将涉及训练分类器识别特定的单词,以指示产品属于您的某个类别的概率。例如,经过训练后,它可以识别出如果产品描述中有“Seagate”,则有 99% 的可能性是硬盘,而如果有“Mazda”,则有 97% 的可能性是汽车。像“新”这样的词可能最终不会对任何分类做出太大贡献,而这正是您希望它发挥作用的方式。
这样做的缺点是,它通常需要相当大的训练数据集才能开始正常工作,但您可以对其进行设置,以便它在生产过程中继续修改其百分比(如果您发现它对某些内容进行了错误分类) ),最终会变得非常有效。
贝叶斯技术最近被大量使用垃圾邮件过滤应用程序 http://www.paulgraham.com/spam.html,因此最好阅读一下它在那里的使用方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)