帮助:从文本中提取数据元组…正则表达式还是机器学习?

| 非常感谢您对解决以下问题的最佳方法的想法。我使用的是汽车分类清单示例,该示例本质上类似,可以给出一个想法。 问题:从给定的文本中提取数据元组。 这是数据的一些特征。 文本中的词汇(单词)仅限于特定领域。最多假设100-200个字。 需要解析的文本是一个标题,例如下面显示的汽车广告数据。因此,每个记录对应一个元组(行)。 在某些情况下,某些属性可能会丢失。因此,例如,缺少年份下的原始数据第5行。 有些词并列(字母组合)。就像“低英里”。 现有历史数据= 10,000条记录 每周收到的新数据量= 1000-1500条记录 预期的输出应为(Year,Make,Model,feature)的形式。所以输出应该像 1->(2009年,福特,Fusion,SE) 2->(1997年,福特,金牛座,旅行车) 3->(2000,三菱,Mirage,DE) 4->(2007年,福特,Expedition,EL Limited) 5->(,本田,雅阁,EX) .... .... 原始标题数据: 1-> 2009年福特Fusion SE-7000美元 2-> 1997年福特金牛座旅行车-$ 800(东圣何塞) 3-> \ '00三菱幻影DE-$ 2499(saratoga)图片 4-> 2007 Ford Expedition EL Limited-$ 7800(x) 5->本田雅阁低里程-$ 2800(都柏林/普林斯顿/利莫莫)图片 6-> 2004本田ODASSEY LX 68K英里-$ 10800(丹维尔/圣拉蒙) 7-> 93 LINCOLN MARK-$ 2000(Oakland East)图片 8-> ####### 2006 LEXUS GS 430 BLACK ON BLACK 114KMI #######-$ 19700(San Rafael)图片 9-> 2004 Audi A4 1.8T FWD-$ 8900(萨克拉门托)图片 10-> ####### 2003 GMC C2500 HD EX-CAB 6.0 V8 EFI WHITE 4X4 #######-$ 10575(San Rafael)图片 11-> 1990年,丰田花冠取得了不错的成绩!节省气体! 5速清洁! REG 2011 O.B.O-$ 1600(Hayward / Castro Valley)图片img 12-> HONDA ACCORD EX 2000-$ 4900(都柏林/普莱森/利物浦)图片 13-> 2009 Chevy Silverado LT乘员舱-$ 23900(都柏林/普莱森顿/利莫莫)图片 14-> 2010年ura歌TSX-V6-科技-$ 29900(都柏林/普莱森顿/利物浦)图片 15-> 2003 Nissan Altima-$ 1830(SF)pic 可能的选择: 机器学习文本分类器(朴素贝叶斯等) 正则表达式 我要弄清楚的是,RegEx对于这项工作而言是否过于复杂,而文本分类器却是一个过大的杀伤力? 如果选择使用文本分类器,那么您认为最容易实现的分类是什么。 在此先感谢您的帮助。     
已邀请:
        这是一个经过充分研究的问题,称为信息提取。做您想做的事情不是直截了当的,它也不像您说的那么简单(即,机器学习并不是一个过大的技巧)。有几种技术,您应该阅读研究领域的概述。     
        检查此IE库以编写提取规则<我认为它将最适合您的问题。 还有示例如何创建快速字典匹配。     
        我认为,如果您已经有了带注释的数据和与每个字段相关的单词列表,则ARX或Phoebus系统可能会满足您的需求。他们的方法是信息提取和信息集成的结合。     
        有一些好的实体识别库。您是否看过Apache opennlp?     
        当用户在寻找特定型号的汽车时,这项工作变得更加容易。我很确定我可以对大多数福特游骑兵进行分类,因为我知道用正则表达式寻找什么。 我认为您最好的选择是为每个汽车模型编写一个类型为String-> Maybe Tuple的函数。然后在每个输入上运行所有这些内容,并丢弃那些输入,从而导致零或太多的元组。     
        您应该为此使用诸如Amazon Mechanical Turk之类的工具。人类微任务。另一种选择是使用数据输入自由职业者。 upWork是一个不错的地方。您可以获得出色的质量结果,并且每种方法的成本都非常合理。     

要回复问题请先登录注册