我是一名长期工程师,机器学习经验几乎为零,他正试图确定一个好的起点来解决我的问题(希望使用机器学习)。
问题(我会保持简单):
- 最终,我希望能够自动为金融交易描述分配一个类别
- 例如:“121217 POST XX123 TONYS COFFEE”,金额为 5 美元,应映射到“Food & Drink”
- 交易描述是非结构化的,通常由非自然语言组成;有时单词可以被截断,或连接到其他单词
- 描述中可能有也可能没有“特征”,例如国家/地区代码、日期等
- 总体而言,无法保证描述中标记的顺序或结构
- 一笔交易总会有一个金额
假设:
- 我维护了一个潜在类别列表(可能总共 20 或 30 个)
- 我可以维护一个庞大的企业名称列表,映射到他们独特的类别(但可能没有必要使用?)
- 有一组现有的训练标记数据(原始描述/数量及其所属的类别;以千计,而不是数百万计)
可以考虑尽最大努力从描述中提取企业名称,但如果这对最终系统的准确性来说不是必需的,那就太好了。
我最初是有点想 NLP 的,但由于这是相当非自然的语言,没有语义,我相信没有使用 NLP。NER(命名实体识别)可能也不是很有帮助,因为通常需要对文本有所了解才能确定实体。
我正在考虑下载 GloVes 预训练的词向量 ( https://nlp.stanford.edu/projects/glove/ ),以帮助确定与类别相关的词,尽管我不确定现在如何或如何这可能会奏效。这个想法可能是,如果我训练一些东西说“Jimmy's Diner” -> “Food & Drink”,那么,例如,“Bobby's Rest”也可能映射到“Food & Drink”,因为这是最接近它的类别单词关系/距离的术语。这取决于能够以这种方式查询词嵌入以及对其进行训练的可能性。
我想在其他使用标记数据训练系统时,我需要从描述中提取特征。问题是,有什么特点?某些功能可能无用(唯一标识符、连接词等)。我需要系统在用无用的功能污染它方面有点宽容(在一定程度上可以避免,但可能并非不可避免)。
无论哪种方式,很高兴听到你们中的一些专家如何开始处理这个问题:您认为哪种 ML 技术最合适?
在过去的几天里,我对机器学习和深度学习及相关框架进行了相当多的研究,但是有很多领域,潜力巨大,很难知道从哪里开始。