我正在尝试解析一组数据,这些数据包含两部分(或一部分)有用的信息,但可能以多种不同的方式组织:
V01C01Vol 1 Chapter 1Chapter 1 Volume 1 - Alt titleV1.1etc.
我不想使用大量的正则表达式,因为无法预测所有可能的组织方式(而且有些数据可能包含多余的文本)。我觉得有一类机器学习方法可能非常适合这种情况,但我在这方面的经验不足,无法确定具体方法。
回答:
这确实是一个有趣的问题,有几种方法你可以尝试。
假设你的数据没有标签,那么我首先会尝试使用聚类算法(如k-means聚类,http://en.wikipedia.org/wiki/K-means_clustering)来检查每个实例之间的联系。请注意,这并不能直接解决你的问题,但可以帮助你探索数据,并希望找到一组特征来训练监督学习分类器。
如果你确实有数据标签,或者你可以手动标记数据集,那么你面对的问题就更容易处理了。乍一看,这很像是一个文本或文档分类问题(如将电子邮件分类为垃圾邮件/非垃圾邮件),在这种情况下,朴素贝叶斯分类器可能是解决问题的首选尝试,因为它是一个易于实现的算法,并且可以提供相当不错的结果。
关于朴素贝叶斯分类器(https://www.bionicspirit.com/blog/2012/02/09/howto-build-naive-bayes-classifier.html)
我在这里做了一些假设,基于这些假设我可能错了。或许如果你能澄清一些要点(比如你是否能够手动标记数据),我们可以进一步帮助你。