Home > NLP > 结构化信息提取初探

结构化信息提取初探

一个季度没有记录东西了,汗一个先~~~。这三个月经历了很多事,从技术上说,做了一个结构化信息提取的项目,已经开始运营了,下面就简单记录一下吧。

0. 理论基础

先把问题简单描述一下: 要在全网上,找出某一类特定对象的结构化信息(比如酒店,要找出其名称、地址、简介、设施、评论、交通、电话、房型、价格等等),并把它们提取出来。从流程上来说,就是Unstructured data -> Structured data -> Database这样一个过程。单纯从技术上讲,这是NLP中一类典型的问题,其一般的解决方案是这样的:

这里面有两个核心问题,一是特征提取,一是分类方法。对于特征提取,一般是先分词(当然针对的是中文网页了),用词作为特征的基本单位(这是最简单也是最常用的方法);而对于分类,最“简单”的贝叶斯方法其实还蛮有效果的。

我们的目标是计算对于一个给定的文本(text),它属于某个分类(category)的概率是多少,即,根据Bayes定理,有

而P(text|category), P(category), P(text)都是易于计算的(P(text|category)表示给定一个category, 它在text中体现多少; P(category)表示随机选择一个text, 它属于分类category的概率; P(text)作为分母对于所有category来说都是一样的,我们完全可以不关注它),计算方式为:


这样,我们就能算出某text它所应属的category.

1. 处理网页

有了上面的理论还远远不够,我们需要处理的是复杂的网页信息。这里面就需要对网页的结构进行分析:需要按网页结构进行聚类,需要定义一种数据结构来表示网页结构,需要“提取”出一簇网页的通用结构,最终形成一个个的“模板”。这里面涉及的东西很多很杂,需要考虑的细节特别多,就不详细描述了;值得一提的是,形成模板的过程仍然是一个“统计”的过程。

2. 回馈机制

回馈非常重要,至少在目前的技术水平下,你永远不能抛开人工的干预而完全相信计算机的NLP结果。在这里面的回馈就包括两个方面:一是对语义学习过程的回馈、一是对网页分析过程的回馈,在这里面非常重要的一点是回馈是多次的,需要不停迭代以达到好的结果。



最后,说两句目标导向的问题。前几天看到一句话说“工程师一个必须的突破就是化繁为简的能力”,相当有道理。在目标导向下,如果目标足够清晰就能化繁为简;同时,为了达到目标,就要求全面地考虑问题,这就是所谓的“简约而不简单”吧 (^_^)

Advertisement
Categories: NLP
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.