5

我非常感谢您对以下问题的最佳方法的想法。我正在使用本质上相似的汽车分类列表示例来给出一个想法。

问题:从给定文本中提取数据元组。

以下是数据的一些特征。

  1. 文本中的词汇(单词)仅限于特定领域。让我们假设最多 100-200 个单词。

  2. 需要解析的文本是如下所示的汽车广告数据之类的标题。所以每条记录对应一个元组(行)。

  3. 在某些情况下,某些属性可能会丢失。例如,在原始数据中,年份下方的第 5 行缺失。

  4. 一些单词一起出现(bigrams)。比如“低里程”。

  5. 可用历史数据 = 10,000 条记录

  6. 传入新数据量 = 1000-1500 条记录/周

预期输出应采用(年份、品牌、型号、特征)的形式。所以输出应该看起来像

1 -> (2009, 福特, Fusion, SE)
2 -> (1997, 福特, Taurus, Wagon)
3 -> (2000, 三菱, Mirage, DE)
4 -> (2007, 福特, Expedition, EL Limited)
5 -> ( , 本田, 雅阁, EX)
....
....

原始标题数据:


1 -> 2009 Ford Fusion SE - 7000 美元
2 -> 1997 Ford Taurus Wagon - 800 美元(东圣何塞)
3 -> '00 Mitsubishi Mirage DE - 2499 美元(萨拉托加)图片
4 -> 2007 Ford Expedition EL Limited - 7800 美元(x)
5 -> 本田雅阁 ex 低里程 - 2800 美元(都柏林/
格莱宁/利弗莫尔)图片 6 -> 2004 本田 ODASSEY LX 68K 英里 - 10800 美元(丹维尔/圣拉蒙)
7 -> 93 LINCOLN MARK - 2000 美元(奥克兰东部)图片
8 - > #######2006 LEXUS GS 430 BLACK ON BLACK 114KMI ####### - 19700 美元(圣拉斐尔)图
9 -> 2004 年奥迪 A4 1.8T FWD - 8900 美元(萨克拉门托)图
10 -> ## #####2003 GMC C2500 HD EX-CAB 6.0 V8 EFI WHITE 4X4 ####### - 10575 美元(圣拉斐尔)图片
11 -> 1990 年丰田卡罗拉运行良好!节气!5速清洁!REG 2011 OBO - 1600 美元(海沃德 / 卡斯特罗山谷)图片
12 -> HONDA ACCORD EX 2000 - 4900 美元(都柏林 / 洛伊肯 / 利弗莫尔)图片
13 -> 2009 雪佛兰 Silverado LT 乘员驾驶室 - 23900 美元(都柏林 / 洛宁 / 利弗莫尔)图
14 -> 2010 年讴歌 TSX - V6 - TECH - 29900 美元(都柏林/宜宾/利弗莫尔)图片
15 -> 2003 日产 Altima - 1830 美元(SF)图片


可能的选择:

  1. 机器学习文本分类器(朴素贝叶斯等)
  2. 正则表达式

我想弄清楚的是,RegEx 是否对这项工作来说太复杂了,而文本分类器是否过大?

如果选择使用文本分类器,那么您认为最容易实现的是什么。

提前感谢您的帮助。

4

6 回答 6

4

这是一个经过充分研究的问题,称为信息提取。做你想做的事并不简单,也没有你说得那么简单(即机器学习不是矫枉过正)。有几种技术,您应该阅读研究领域的概述。

于 2011-06-13T00:54:10.083 回答
3

检查IE 库以编写提取规则<我认为它最适合您的问题。还有如何创建快速字典匹配的示例。

于 2011-06-13T07:17:41.413 回答
0

如果您已经有注释数据和与每个字段相关的单词列表,我认为ARX 或 Phoebus系统可能会满足您的需求。他们的方法是信息提取和信息集成的混合。

于 2011-06-14T08:27:26.853 回答
0

有一些很好的实体识别库。你看过Apache opennlp吗?

于 2011-06-16T22:38:47.590 回答
0

作为寻找特定型号汽车的用户,任务更容易。我很确定我可以对大多数福特游骑兵进行分类,因为我知道使用正则表达式寻找什么。

我认为你最好的选择是为每个车型编写一个字符串类型的函数 - > Maybe Tuple。然后在每个输入上运行所有这些并丢弃那些导致零或太多元组的输入。

于 2012-10-04T01:39:54.167 回答
0

为此,您应该使用 Amazon Mechanical Turk 之类的工具。人类微任务。另一种选择是使用数据输入自由职业者。upWork 是一个值得一看的好地方。您可以获得出色的质量结果,并且每个成本都非常合理。

于 2015-08-25T12:09:02.983 回答