2012-12-23 25 views
2

我有300k + html文档,我想从中提取邮政地址。数据是不同的结构,所以正则表达式不会工作。这是什么叫,通过NLP从HTML中提取地址

我已经做了一堆关于Python的NLP和NLTK的阅读,但是我仍然在从这里开始苦苦挣扎。

此方法是否称为词性标注或分块/部分分析?我找不到任何关于如何实际标记页面的文档,以便我可以对它进行培训,甚至可以培训我应该培训的内容。

所以我的问题;

  • 这种方法叫做什么?
  • 我如何标记一些文件来训练从
+0

你是在谈论寻找邮政地址? – Barmar

+0

是的,这是正确的,例如http://web.cs.dal.ca/~zyu/research/Thesis.pdf – Wizzard

+3

你可以发布一些示例输入? –

回答

1

苹果称之为他们的软件,这是否“数据检测”(注意,它的专利 - 他们赢得了injunction对HTC的Android手机在这一点)。更一般地说,我认为这个应用程序被称为Information Extraction

1

将文本从HTML页面中除去(除非有一种方法可以从HTML中识别地址文本,例如具有特定类的div),然后构建一组与所使用的地址格式相匹配的规则。

如果在几个国家有邮政地址,那么格式可能会有明显的不同,但在一个国家内,格式是一样的(有些调整),或者它是无效的。

例如,在美国,地址是3或4行(包括该人)。通常有一个邮政编码(5个数字后面跟着4个)。其他国家有不同格式的邮政编码。

除非您的目标对所有地址都是100%的准确性,否则您可能应该在任务的预算内尽可能多地提取地址。

它似乎并不像NLP任务,除非你想使用命名实体识别找到城市,国家等

1

你的任务是叫信息提取,但是这是一个非常,非常宽泛的概念。幸运的是你的任务更有限(街道地址),但是你不会提供很多信息:

  1. 什么国家的地址在?东京的地址与克利夫兰的地址非常不同。如果您对有限数量的国家/地区的地址感兴趣,那么您的成功几率会更好 - 您可以从每个国家开发解决方案。如果我们正在谈论非常有限的号码,您可以编码识别器manually

  2. 我们在讨论什么样的网页?它们是一个随机集合,还是可以将它们分组成有限数量的网站和格式?地址在哪里出现? (即,在那里你可以用它来零上他们的任何上下文线索?)

我带你去一个更坏的情况是问题2:该页面是完全不同的,并且地址可以在任何地方。不知道艺术的状态是什么,但我会把它看作是一个块状问题。

要获得任何体面的结果,您需要一套训练集。至少,收集来自相同位置的地址,并且采用与您要提取的地址相同的样式(非正式,不完整,完整)。然后,你可以尝试哄骗体面的表现(可能是后期处理)。

PS。我不会放弃HTML标记。它包含有关可能有用的文档结构的信息。在添加html标记之前,我会添加结构标记(段落,重点,标题,列表,显示)。

1

Qn:哪个NLP任务与此任务密切相关?

答案:检测邮政地址的任务可以被视为Name-Entity Recognition(NER)任务。但我建议在html上(即你的输入数据)简单地查看sequence labeling的任务,然后执行一些标准的机器学习classification

问题:如何标记一些文件作为培训数据?

的:你可以做的是:

  1. 标签每个单词或每行 egin n面或Ø utside
  2. 选择supervised classification方法
  3. 决定什么功能(这里有一些提示:Feature selection
  4. 建立模型(基本上只运行与配置 功能分类软件)
  5. 瞧,输出应该给你Ø,则直接删除标记的所有实例Ø你将被留下的线/地址是