我正在尝试一般的机器学习,特别是贝叶斯分析,通过编写一个工具来帮助我识别我的电子书收藏。输入数据由一组电子书文件组成,其名称和某些情况下的内容包含有关它们对应的书的提示。
有些对人类读者来说是显而易见的,例如:
- 人工智能 - 现代方法 3rd.pdf
- Microsoft Press - SharePoint Foundation 2010 Inside Out.pdf
- PC 维修完整指南第 5 版 [2011].pdf
- 哈姆雷特.txt
其他的不是那么明显:
- Vsphere5.prc(实际上是 Scott Lowe 的“Mastering VSphere 5”)
- as.ar.pdf(实际上是 Ayn Rand 的“阿特拉斯耸耸肩”)
与其尝试为不同格式的文件名编写各种解析器,我想我会构建几十个简单的规则,每个规则都有一个分数。
例如,一条规则会在文件的前几页中查找类似于 ISBN 编号的内容,如果找到,则会提出一个假设,即该文件对应于由该 ISBN 编号标识的书籍。
另一个规则将查看文件名是否为“作者 - 标题”格式,如果是,则提出作者为“作者”且标题为“标题”的假设。其他格式的类似规则。
我想我也可以从亚马逊或 ISBN 数据库中获取书名和作者列表,然后在文件名和文件的前几页中搜索其中的任何一个;找到的任何匹配都会导致该规则建议的假设。
最后我会有一组像这样的元组:
[规则名称,假设]
我希望某些规则(例如 ISBN 匹配)在可用时很有可能是正确的。其他规则,例如基于已知书名和作者的匹配,会更常见但不准确。
我的问题是:
- 这是解决这个问题的好方法吗?
- 如果是这样,贝叶斯分析是否是将所有这些规则的假设组合成复合分数以帮助确定哪个假设最强或最有可能的一个很好的候选者?
- 有没有更好的方法来解决这个问题,或者您可以建议我参考一些研究论文或书籍以获取更多信息?