我在机器学习和监督学习领域是个新手。
我的任务是从磁盘上的电影文件名中提取一些关于该文件的元数据。我无法控制文件的命名方式,但文件名中包含标题和一个或多个附加信息,如发行年份、分辨率、演员姓名等。
目前,我开发了一个基于规则的启发式系统,我将文件名分割成词元,并尝试理解每个词可能代表什么,无论是单独的还是与相邻的词一起。例如,为了检测人名,我使用了一个英文名字的数据集,如果在数据集中找到了某个词,我就会将其评分为潜在的人名。如果相邻的词被我评分为潜在的姓氏,我就会将这两个词评分为演员。如此类推。这种方法的准确性相当不错,但手动调整启发式评分来“教导”系统是繁琐且不可预测的。
这种基于规则的系统很难维护或进一步开发,因此出于好奇,我开始探索机器学习领域。我想知道的是:
- 关于这类问题的公共文献有哪些?
- 考虑到可用的数据集有限,机器学习是解决这个问题的好方法吗?
- 我该如何调试或尝试理解这种机器的结果?我已经对我开发的“简单”启发式引擎遇到了问题..
谢谢,任何建议都会被感激。
回答:
你需要研究NLP(自然语言处理)。NLP处理文本处理和其他事情;例如实体识别和标记。
这里是一个使用Spacy库的例子:https://spacy.io/usage/linguistic-features。
不久前我做了一个类似的事情,你可以在这里查看:https://github.com/Erlemar/Erlemar.github.io/blob/master/Notebooks/Fate_Zero_explore.ipynb