CN102298588B - 从非结构化文档中抽取对象的方法和装置 - Google Patents
从非结构化文档中抽取对象的方法和装置 Download PDFInfo
- Publication number
- CN102298588B CN102298588B CN201010209002.3A CN201010209002A CN102298588B CN 102298588 B CN102298588 B CN 102298588B CN 201010209002 A CN201010209002 A CN 201010209002A CN 102298588 B CN102298588 B CN 102298588B
- Authority
- CN
- China
- Prior art keywords
- attribute
- collection
- candidate
- candidate attribute
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了从非结构化文档中抽取对象的方法和装置,该方法可以包括:抽取命名实体,以及从命名实体中选择标识性属性;抽取对象属性集;抽取值表达式;匹配对象属性集中的属性和值表达式;以及利用标识性属性和匹配后的属性和值表达式来创建对象。本发明的方法和装置实现了自动从非结构化文档抽取命名实体、标识性属性、属性和值并构建对象,从而可以方便地进一步为计算机处理和利用,显著地减少信息处理中的人力物力。
Description
技术领域
本发明总体地涉及信息处理和信息抽取领域,更具体地涉及从文档中抽取信息。
背景技术
目前,存在大量的电子文档,例如,互联网上的各种描述产品的文章等。对各种文档进行信息处理、分析、统计等,正成为业界研究和开发的热点。
文档可以大致分为结构化文档、半结构化文档和非结构化的文档。
结构化文档一般是按照某种预定义的文档对象模型构造的文档,其已经给文档定义了框架,使得各部分的作用一目了然,例如通过一些数据库定义语言或面向对象的编程语言等构建的文档可以称为结构化文档。网页等诸如HTML或XML格式的文档常被人称为半结构化文档或半结构化数据,从其中的一些标记语言即可以知道所描述对象的属性和值。例如,下面为一示例性的XML格式文档:
<?xml version=″1.0″encoding=″GB2312″?>
<myfile>
<title>XML轻松学习手册</title>
<chapter>XML快速入门
<para>什么是XML</para>
<para>使用XML的好处</para>
</chapter>
<chapter>XML的概念
<para>扩展性</para>
<para>标识</para>
</chapter>
</myfile>
从该XML格式文档中,可以清晰地看出标识分三级关联,因此非常便于计算机处理和分析:
<myfile>
<chapter>
<para>
</para>
</chapter>
</myfile>
结构化文档或半结构化文档本身有一些标记,可以被利用来帮助进行信息分析和提取。
除结构化文档、半结构化文档外的大量文档被称为非结构化文档。非结构化文档类似于自然语言形式,例如我们常见的后缀为txt的纯文本文档即为一种典型的非结构化文档。此外,word格式和pdf格式的文档中也不存在便于理解文章所描述的主体和具体属性的信息,因此也可视为非结构化文档。
图1示出了一篇纯文本(非结构化数据)与其对应对象(结构化数据)的例子。显然,结构化数据可以方便地进一步被计算机处理和利用。
已经提出了很多从结构化文档或半结构化文档识别或提取对象的方法。例如,题为“Method and system for identifying object information”的美国专利US 7383254B2提出了一种从网页中识别对象的方法,包括:在网页识别对象区域;使用预先定义的属性分类对象区域;标出当前对象类型的属性;计算置信度并生成对象。文献Learning Object Model from Product Web Pages,Shiren Ye,Tat-seng Chua,Proc.workshop Semantic Web of SIGIR,2004和文献A fully automated object extraction system for the Web,David Buttler,Ling Liu,Calton Pu,Georgia Institute of Technology,2001提出了如下对象抽取方法:从多个网页产品检索结果页面中抽取多个对象;对象模型是预先定义的且固定的;对象抽取首先利用网页结构标识出对象区域,然后填充对象模型。
非结构化的文本广泛存在,且富含信息,却不易被计算机理解。例如互联网上广泛存在着描述产品的非结构化文章,可以是产品功能参数说明,广告,新闻发布,或用户评论。尽管已经有很多产品信息被结构化,比如销售网站或测评网站上的产品信息,但是这些都是通过手工收集和录入的,因此相当地耗费人力和时间。
因此,存在对于自动从非结构化文档诸如纯文本单文档中抽取对象的方法的需要。
发明内容
为此,提出了本发明。
根据本发明的一个方面,提供了一种从非结构化文档中抽取对象的方法,可以包括:抽取命名实体,以及从命名实体中选择标识性属性;抽取对象属性集;抽取值表达式;匹配对象属性集中的属性和值表达式;以及利用标识性属性和匹配后的属性和值表达式来创建对象。
抽取对象属性集可以包括:利用基于监督的学习算法抽取候选属性集1;利用非基于监督的学习算法抽取候选属性集2;以及从候选属性集1和候选属性集2聚合得到所述对象属性集。
抽取候选属性集2可以包括:该非结构化文档被分割为短语序列,如下计算每个短语的分数frule:
ntok=短语中单词/字的个数
nun=短词中包含特殊指定字符的单词/字个数
frule=fpos*fcnt*fun
选择分数frule为1的短语加入候选属性集2。
从候选属性集1和候选属性集2聚合得到所述对象属性集可以包括:利用候选属性集1和候选属性集2构建候选属性图,图中的结点为所有候选属性,每个候选属性具有先验分数,来自候选属性集1的候选属性的先验分数由前述基于监督的学习算法而获得,来自候选属性集2的候选属性的先验分数由前述非基于监督的学习算法获得;从每一个结点向近邻传播分数,每一轮传播后每个结点的分数保留了一部分它的原始分数,传播过程终止于收敛或者达到某一最大迭代次数;将结点聚类到k个簇中,k为目标短语个数;以及借助于预定词典,从每个簇中选取一个加入到所述对象属性集中。
可以根据词频和位置信息来从命名实体中选择标识性属性。
根据词频和位置信息来从命名实体中选择标识性属性可以包括:基于词频和第一次出现的位置,如下计算每个命名实体的分数fiw:fiw=Tf/logTm;其中Tf为词频,Tm为命名实体第一次出现的位置,选择具有最高分数的命名实体作为标识性属性。
所述匹配对象属性集中的属性和值表达式可以包括:对于同时出现在一个预定大小的窗口中的一对属性和值表达式,通过下述公式来计算两者之间的相关度:
选择相关度值最高的属性和值表达式作为属性-值对。
利用标识性属性和匹配后的属性和值表达式来创建对象可以包括:对象由标识性属性标识;以及其他的属性-值对作为对象的一般属性。
非结构化文档可以是单个文档,以及描述且仅描述了一个主要对象。
根据本发明的另一方面,提供了一种从非结构化文档中抽取对象的装置,包括:标识性属性获取部件,用于抽取命名实体,以及从命名实体中选择标识性属性;对象属性抽取部件,用于抽取对象属性;值表达式抽取部件,用于抽取值表达式;属性-值匹配部件,用于匹配对象属性集中的属性和值表达式;以及对象创建部件,用于利用标识性属性和匹配后的属性和值表达式来创建对象。
本发明的方法和装置实现了自动从非结构化文档抽取命名实体、标识性属性、属性和值并构建对象,从而可以方便地进一步为计算机处理和利用,显著地减少信息处理中的人力物力。
附图说明
图1是解释非结构化文档和结构化文档的示例;
图2是根据本发明一个实施例的从非结构化文档抽取对象的整体流程图;
图3是根据本发明另一实施例的从非结构化文档抽取对象的具体流程图;
图4示意性解释抽取命名实体过程中所使用的特征集合的示例;
图5示意性解释抽取属性中所使用的特征集合的示例;
图6示意性解释属性-值匹配中窗口的选择和属性-值间距离的计算的示例;
图7是示出根据本发明一个实施例的从非结构化文档抽取对象的装置的框图;以及
图8是图示根据本发明一个实施例的非结构化文档对象抽取装置的硬件配置的例子的图。
具体实施方式
为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。
将按下述结构来描述本发明的各个实施例:
一、第一实施例,从非结构化文档抽取对象的方法;
二、第二实施例,从非结构化文档抽取对象的更具体方法;
三、第三实施例,从非结构化文档抽取对象的装置;
四、第四实施例,从非结构化文档抽取对象的装置的硬件配置。
一、第一实施例,从非结构化文档抽取对象的方法
图2是根据本发明一个实施例的从非结构化文档抽取对象的整体流程图。
如图2所示,从非结构化文档抽取对象的方法可以包括:标识性属性抽取步骤S110;对象属性集抽取步骤S120;值表达式抽取步骤S130;属性和值表达式匹配步骤S140;以及创建对象步骤S150。下面对各步骤进行具体说明。
在步骤S110,从非结构化文档中抽取命名实体,以及从命名实体中选择标识性属性。
命名实体是指文本中具有特定意义的实体,可以是人名,地名,机构名,专有名词、值表达式等。
在分析描述产品的文章时,可以主要识别两种命名实体,产品名和组织名。这两种实体可以用来标识一个产品对象,作为其标识性属性。不过,当分析描述其它实体例如人物的文章时,可以主要识别人名,这时人名即为对象的标识性属性。
对象可以视为由属性和值组成。当人们提及对象或识别对象,通常使用对象名字。例如,图1所示示例中的Aficio 2045e即为被谈论对象的标识性属性。再例如,句子“张三身高是170cm”中的张三可以视为对象的标识性属性。
在步骤S110中,首先从一篇诸如纯文本文档的非结构化文档中抽取命名实体,然后从所抽取的命名实体中选择标识性属性。
通常纯文本文档被划分为一系列的词或词组,从这些词或词组中抽取命名实体。将文本文档划分为词或词组有很多本领域的公知算法,均可以用于本发明,这里为避免混淆本发明要点,对其不进行详细描述。
从纯文本文档中抽取命名实体可以采用基于监督的学习算法,诸如条件随机场CRF(Conditional Random Fields)算法,最大墒ME(Maximum Entropy)算法,隐马尔可夫模型HMM(Hidden Markov Model)算法,最大墒马尔可夫模型MEMM(Maximum Entropy Markov Model)算法,等等。后文将结合图3所示更具体的实施例对采用CRF来抽取命名实体进行详细描述。
抽取出命名实体之后,可以对命名实体赋予分数,并基于各个命名实体的分数来选择作为标识性属性的命名实体。
可以基于词频来对命名实体赋予分数。出现频率越高的命名实体,被赋予的分数越高,即越倾向于是对象的标识性属性。
除了词频外,还可以考虑命名实体的位置来计算分数。一般情况下,标识性属性会较早地在文档中出现。因此,第一次出现位置越靠前的命名实体,被赋予的分数越高,越倾向于是对象的标识性属性。
除了词频和位置信息外,诸如抽取命名实体处理所得到的概率或置信度信息也可以在计算命名实体的分数中予以考虑。
作为示例,可以基于命名实体的词频Tf和在文档中第一次出现的位置Tm,以下述表达式1来计算命名实体的分数fiw
fiw=Tf/logTm; (1)
不过,也可以采用其它表达式例如fiw=Tf/Tm,fiw=logTf/logTm等来基于词频和位置信息计算命名实体的分数。
回到图2,在步骤S120,抽取对象的属性集合。
属性是描述对象某方面的特征。例如,“张三身高是170cm”中的身高是对象张三的属性。
以产品为例,产品对象的属性可以是物理属性和功能性属性。物理属性例如是产品的规格说明项。功能性属性例如是产品强调的功能或者独特的技术。属性抽取与关键词抽取任务相似,不同点在于在同一领域,物理属性是常见的通用的关键词,而功能性属性会各不相同。因而,任何关键词抽取方法都可以用于本发明中的属性抽取操作。例如,题为“Key term extraction”的美国专利US7478092B2,以及题为“Graph-based ranking algorithms for textprocessing”的美国专利US20050278325A1中介绍的关键词抽取方法可以用于本发明。
后文将结合图3介绍根据本发明一个实施例的组合了基于监督的学习算法和非基于监督的学习算法来抽取属性集合的例子。
回到图2,前进到步骤S130,抽取属性值或值表达式。
属性值即对象的属性的具体取值。例如,“张三身高是170cm”中的170cm是该属性身高的值或值表达式。
属性和值共同组成一个属性-值对。以产品为例,产品的属性值可以为价格,参数,邮件地址,UID,上线时间,数值等。值表达式(value expression)也即本申请中提到的值或属性值。
后文将结合图3具体介绍根据本发明一个实施例的基于规则的方法来抽取值表达式的例子。
回到图2,前进到步骤S140,匹配对象属性集中的属性和值表达式。
在分别于步骤S120和S130抽取得到了属性集合和值集合之后,需要对属性和值进行匹配,以得到如图1所示的属性和值的对应关系。
属性和值匹配可以通过计算任一个属性x与任一个值y之间的相关度,然后基于相关度高低来得到。任何现有计算两个文本单元相关度的算法都可以用于本发明。
作为计算相关度的一个示例,可以通过下述表达式(2)计算属性x与y之间的互信息fxi(x,y)来获得。
其中,P(x,y)表示属性x与y的共现概率,即同时出现在一个预定大小的窗口中的概率。p(x)和p(y)分别表示属性x和y在文档中的出现概率,一般可以用在文档中出现的频率(次数)除以文档中词的总数来计算。
在上述表达式(2)中,未具体考虑属性和值之间的距离的具体数值。替代地,可以在计算属性和值之间的互信息时,进一步考虑属性和值之间的数值。后文将结合图3具体介绍根据本发明一个实施例的基于属性和值之间的距离的具体数值来计算两者之间互信息的例子。
将相关度值最高的属性和值表达式选择属性-值对。例如,对于第i个属性xi,如果在全部值表达式y1,y2,...yj...,ym(设有m个值表达式)中,如果y1,y2和yj落入了预定大小的窗口中,则分别计算属性xi与值表达式y1,y2和yj的相关度,如果属性xi和值表达式yj的相关度最大,则选择属性xi和值表达式yj作为属性-值对。
需要说明的是,如果一个属性x不存在与之匹配的值表达式,则可以将其值设为NULL,此时属性-值对即为x-NULL。
回到图2,前进到步骤S150,利用标识性属性和匹配后的属性和值表达式来创建对象。
具体地,创建对象,该对象利用步骤S120中抽取得到的标识性属性来标识,由在步骤S140中获得的属性-值对来作为该对象的一般属性,由此获得了诸如图1所示对象的结构化的对象。
该结构化的对象便于计算机的进一步处理和应用,可以用于很多用途,例如该对象可以用来:
a)它是对此单对象文档的一种索引,抽象或说摘要,可以用非常少的词语表达该文档主要描述的事物;
b)可以对多个对象进行统计分析,因为是结构化的数据,因此,相对非结构化的文本而言,容易得到对比信息和发现一些趋势;
c)通过多个对象的结构化关系,可以发现多个文档之间存在的隐含关系。
d)在某个领域实施基于对象的深入挖掘,实现垂直搜索或企业搜索。
上述实施例自动从非结构化文档抽取命名实体、标识性属性、属性和值并构建对象。相比于现有技术,本发明实施例的方法无需预先定义对象模型,具有更广泛的应用范围,能够从非结构化文档来抽取结构化的对象,便于进一步为计算机处理和应用。
需要注意的是,本发明上述实施例描述中是对单个非结构化文档进行信息抽取和对象构建。不过本领域技术人员可以想见,本发明也可以应用于对一个非结构化文档中的一个或多个段落来进行信息抽取和对象构建,或者应用于对多个非结构化文档进行信息抽取和对象构建。另外,所抽取的对象并不限于单个,也可以应用来构建多个对象。不过,本发明实施例特别适用于对其中仅描述了一个对象的非结构化文档进行对象抽取。
二、第二实施例,从非结构化文档抽取对象的更具体方法
下面参考图3描述根据本发明一个实施例的更具体的从非结构化文档抽取对象的示例性流程图。在图3中,暗灰的框表示过程或操作,而白色的框表示输入、中间结果或输出。
如图3所示,以单个非结构化文档为输入,并假设该文档是描述一个产品的,利用改进的随机场CRF算法抽取命名实体(S201);基于聚合的混合算法抽取出属性例如产品的功能性属性和物理属性(S202);利用基于规则/短语的算法抽取出属性的值即值表达式(S203);从命名实体中选择标识性属性(S204);匹配抽取出的属性和抽取出的值表达式(S205);利用标识性属性生成单个对象(S206);利用匹配后的属性-值对丰富或充实该对象(S207)。下面对各个步骤进行详细介绍。
1、利用CRF算法抽取命名实体
下面具体描述步骤S201,利用改进的随机场CRF算法抽取命名实体。
随机场CRF是用来计算指定的输出结点给定值分配给其他指定的输入结点的条件概率的无向图模型。有关CRF的介绍可以在John Lafferty,AndrewMcCallum,Fernando Perira.的“Conditional Random Fields:Probabilistic Models for Segmenting and Labeling Sequence Data”,18thICML,2001中找到。
当图形模型中的各输出结点被连接成一条线性链的特殊情形下,CRF假设在各个输出结点之间存在一阶马尔可夫独立性,二阶或更高阶的模型可类似扩展。因为本发明该实施例面向的目标是文本字符串,在物理上,它们可以分解成一系列有先后关系的词组成,把它们当作本发明该实施例中方法的输入。若让o=(o1,o2,...,oT)表示被观察的输入数据序列,让s=(s1,s2,...,sT)表示一个状态序列,其中每一个s代表一种可能的属性的某种状态,如姓名开始,姓名结束,地址开始,功能属性结束,等等,一般是一个有限的集合。在给定一个输入序列的情况下,线性链的CRF定义状态序列的条件概率例如可以用表达式(3)表示:
其中,Zo是所有状态序列的规范化因子,所示所有可能的状态序列的得分;fk(st-1,st,o,t)是任意特征函数,λk是通过学习得到的每个特征函数的权重。而st代表当前位置输入词的状态,而st-1为前一个位置的目标状态。可以利用状态函数fk(st-1,st,o,t)统一表示两种关系:一种是状态标记t-1到状态标记t之间的转移概率,即,在t时刻,输入是o,前一个是st-1,当前是st的概率;另一种是从观察序列到标记状态上的状态概率,即,在t时刻,输入是o,输出是s的概率。
使用CRF的一个主要原因是CRF将问题简化到找到一个合适的特征集合。图4给出了特征集合的一个例子。
其中每种特征与特征函数之间的关系可以分成两种,一种是0和1两个离散值,一种是连续的区间内的值,如[0,1]之间的任意值,其中连续值是通过统计得到,而离散值则通过条件判断得到,如对特征词性POS(Part ofSpeech)而言,特征函数可以为下述公式(4)的形式:
每个当前的每种特征,都可以按类似的方法得到一个对应的特征函数值。
该实施例的CRF方法分成训练和测试两部分,训练时需要人为的来标定,每个词/字是不是某种状态s,然后算法按照特征函数和CRF概率函数得到一个训练模型。在测试时,所有特征同样的可以自动得到,但是状态需要根据概率函数来得到每一个词/字为每一种状态的概率是多大,然后选取最可能的状态,即可以知道某个词/字是否是哪个状态,如姓名开始,结束等。由此可以根据各个状态的概率来抽取出命名实体,并且所抽取出的每个命名实体具有一个表示其确实是命名实体的概率。该命名实体的概率可以在步骤S204中选择标识性属性时作为分数因子加以考虑。
2、对象属性抽取
下面具体描述步骤S202,基于混合的监督算法和非监督算法来抽取对象属性集并进行聚合。
属性抽取算法的性能通常用F-measure来评价。F-measure由精度和召回率共同定义,例如可以如下定义:
召回率=抽取正确的属性数目/此文档中所有属性数目
准确率=抽取正确的属性数目/抽取属性总的数目(包括正确的与错误的)
F-measure=2*召回率*准确率/(召回率+准确率)
对象的属性集可以单独利用监督学习的方法来抽取,也可以利用非监督学习的方法来抽取。一般情况下,使用监督学习的方法,例如CRF,通常结果精度很高而召回率很低,因此F-measure也很低。而使用非监督学习的方法,通常结果精度很低而召回率很高,同样也导致F-measure很低。
因此,本实施例如下综合监督学习方法和非监督学习方法的抽取结果以平衡精度和召回率的方法。
首先,利用一种监督学习方法例如CRF算法来抽取得到候选属性集1。进行属性CRF算法的用法与命名实体抽取任务相似,只是特征的选取和特征模板不同,图5示出了一个用于属性抽取的CRF算法采用的特征集合的例子。
关于特征集合,本领域技术人员应该知道,可以根据经验或通过反复实验来人工定义,也可以通过本领域公知的特征选择算法来获得。
其次,采用一种基于非监督学习的方法来抽取得到候选属性集2。非监督学习方法的一种具体实现例子为,将文本文档分割为词组的序列,每个词组的分数(frule)计算如下:
ntok=短语中单词/字的个数
nun=短词中包含特殊指定字符的单词/字个数
frule=fpos*fcnt*fun
例如,一个短语/词:“auto image rotation”,其中ntok=3,即该短语种单词/字的个数为3个,分别为:“auto”,“image”,“rotation”。
nun中涉及的特殊字符可以包括:标点符号,数字,单词字符长度小于2的单词等,如“,”,“-”,“2”,“a”等。例如:“a 3.2 Megapixel CCD”,其中的“a”属于字符长度小于2的情况,“3.2”为含数字的情况,此两者均为特殊字符,故nun=2,而其单词/字的个数为ntok=4,因而nun/ntok=2/4=0.5。
关于fcnt,如果一个短语/词的ntok大于1或者全是大写,如短语“autoimage rotation”的ntok=3>1,故其对应的fcnt的值为1。再例如,短语/词“AF”的ntok=1但是符合全部大写的条件,所以其对应的fcnt的值也为1。
最后的分数frule为fpos、fcnt和fun三者的乘积,只由当fpos、fcnt和fun三者三者均为1时,frule取值为1,否则取值为0。
最后可以选择frule=1的属性组成侯选属性集合2。
上述用于提取候选属性集2的基于规则的方法仅仅是示例,其它类似的基于规则的方法也可以用于此属性集的抽取,其共同特征是以较低的精度,获得比较高的召回率,所以属性集的数目相对比较大。
可以如下从候选属性集1和候选属性集2聚合得到所述对象属性集:
1)利用候选属性集1和候选属性集2构建一个候选属性图,图中的节点为所有候选属性。每个属性结果在集合中有一个先验初始分数,例如候选属性集2中的属性的分数即为该属性的frule,而候选属性集1中的属性的分数例如基于由CRF算法最后得到的每个候选属性的对应概率来获得,另外,因为候选属性集1中的节点精度高,因此可以为其乘以额外的权重,例如为3。
2)在此图中,节点与节点之间的关系,可以依赖于两个方式取得:一是每两属性节点是否处于同一个语法结构中,即他们是否在一个句法树中有同样的父节点;二是每两属性节点是否属于同一个句子。前者的关系的权重较高,而后者较低。例如,前者假定为2,后者为1。
3)从每一个结点向近邻传播分数。每一轮传播后每个结点的分数保留了一部分它的原始分数。传播过程终止于收敛或者达到某一最大迭代次数。其中一种实现方法是使用TextRank进行关联传播,关于TextRank方法的介绍可以在R.Mihalcea and P.Tarau.的TextRank-bringing order into texts,EMNLP,2004中找到。利用TextRank,每个节点Vi的分数可以由下述公式(5)计算得到:
(5)
σ=0.85;
其中:
W(Vi)为目标节点Vi的分数;
In(Vi)代表与此节点Vi有联系的节点集合;
Out(Vj)代表与节点Vj有联系的节点集合;
ωji代表此两节点(Vi和Vj)之间的边(联系)的权重;
此公式中的Vj代表与当前节点Vi有关系的其中一个节点。
4)按上述公式运算,每次每个节点会得到一个新的节点权重分数,然后将此分类重新代入公式计算,迭代数次后(假定5次)会得到一个比较收敛的值,将此值作为每个属性节点最后值。
5)计算每两节点相似度,相似度可以由下述公式(6)得到:
sim(ei,ej)=/{wk/wk∈ei & wk∈ej}//(log(/ei/)+log(/ej/))(6)
其中,ei,和ej是两个属性节点,一般是一个短语或词,wk表示组成这个词的单词或字,log(/ei/)和log(/ej/分别表示属性节点ei和ej有几个字,而/{wk/wk∈ei & wk∈ej}/则代表既属于ei又属性ej的字的数目。
6)将相似度大于某个阈值(例如,0.6)的属性节点聚为一簇。
7)从每个簇中选取一个候选属性作为对象属性加入到对象属性集,例如选择节点权重分数最高的候选属性作为对象属性。该选取操作还可以借助于领域词典来进行,领域词典中含有某领域最常用的术语,可以由领域专家确定或者通过实验来选取。
由此,获得了最后的对象属性集。
通过使用监督学习的方法和非监督学习的方法的组合来抽取属性,可以平衡单一方法造成的精度和召回率的失衡,获得属性抽取的更好的综合效果。
3、基于规则的值表达式抽取
下面具体描述步骤S203,基于规则/短语算法来抽取值表达式。
本实施例使用基于规则的方法抽取值,使用一系列的正则表达式来区分普通的词和值表达式,因此方法是领域无关的。正则表达式为本领域所公知,关于其介绍可见于Jeffrey Friedl,Mastering Regular Expressions,O′Reilly Media,Inc,2006。使用正则表达式抽取值表达式的具体实现过程可以为:
1)对每个词,首先判断其词性,过滤掉不可能是值或值的组成部分的词。依据假设和观察,词性应属于集合{CD,JJ,UH,DT,NN,VB,IN,NNPS,VBG,NNP,NNS,VBZ,PRP,JJS}。
2)根据正则表达式判断候选词是不是一个值或者值的组成部分,规则为:
a)包含数字,对应的正则表达式为:[0-z]*[0-9]+[0-z]*。
b)包含数字和“.”,对应的正则表达式为:[0-z]+[.]{1}[0-z]*。
c)包含“-”,对应的正则表达式为:[0-z]+[-]{1}[0-z]*。
d)由数字和度量单位组成,度量单位保存在事先定义的列表中,如cm(厘米),s(秒),kg(千克)等。
3)依据观察发现,一个有意义的属性值,通常是一个短语的形式而非单个词。因此根据步骤2)得到词后,从文本树中找到该词的父亲结点,即包含了该词的短语,将此短语作为结果属性值返回。
不过,需要说明的是,上述值表达式抽取算法仅仅是示例,本领域技术人员可以根据需要来设计所需的正则表达式等来进行改变。此外,基于监督的学习算法例如CRF算法也可以用于抽取值表达式。
4、属性-值匹配
在步骤S205,进行属性-值匹配。
下面给出考虑属性和值之间的距离来计算属性和值之间的相关度,从而匹配属性和值表达式的示例。本领域技术人员可以根据实现需要而进行改变或变更。
本示例使用共现衡量属性和值之间的距离,从而将其匹配为属性-值对。在一个句子中,如果一个属性和一个值同时出现在一个大小为n的窗口中(n通常小于5),可以将它们匹配。图6示意性地示出了窗口以及属性和值之间的距离。
两者之间(属性x和值y)的相关度f(x,y)可以由下述公式计算:
其中,d(x,y)为两者之间的距离,p(x)和p(y)为两者分别在此文中出现的频率(次数),而m为该文档总的词数。
如果属性x和某值y的相关度值最大,可以将此两者匹配为属性-值对。
如前文所述,如果一个属性x不存在与之匹配的值表达式,则可以将其值设为NULL,此时属性-值对即为x-NULL。
5、选择标识性属性
在步骤S204,从步骤S201抽取得到的命名实体中选择标识性属性。
假设作为处理对象的非结构化文档主要是描述一种产品的,则在经过步骤S201的命名实体抽取步骤后,产品的名字和生产商信息应该已经得到。通常一篇主要描述某一产品的文档中,会提及到其他产品和生产商,也就是说步骤S201抽取得到了多个命名实体。本步骤使用词频和词的位置信息,从抽取出的命名实体中选择出当前文章主要描述的对象标识,基于如下规则来计算各个命名实体i的分数fiw:
规则1:在文章中第一次出现的位置。
规则2:在文章中出现的频率。
fiw=Tf/logTm;Tf:词频,Tm:第一次出现的位置
在计算得到各个命名实体的分数后,选择分数最高的命名实体作为标识性属性。
6、创建对象
在步骤S206,根据已经抽取出的标识性属性来生成对象,在步骤S207利用属性-值对来充实所生成的对象,由此得到了能够描述文章所有关键信息的对象。
三、第三实施例,从非结构化文档抽取对象的装置
图7示出了根据本发明一个实施例的从非结构化文档抽取对象的装置的框图。
该抽取对象的装置可以包括:标识性属性获取部件101,用于抽取命名实体,以及从命名实体中选择标识性属性;属性抽取部件102,用于抽取对象属性集;值抽取部件103,用于抽取值表达式;属性-值匹配部件104,用于匹配对象属性集中的属性和值表达式;以及对象创建部件105,用于利用标识性属性和匹配后的属性和值表达式来创建对象。
所述属性抽取部件102可以利用基于监督的学习算法抽取候选属性集1;利用非基于监督的学习算法抽取候选属性集2;以及从候选属性集1和候选属性集2聚合得到所述对象属性集。
属性抽取部件102抽取候选属性集2可以包括:该非结构化文档被分割为短语序列,如下计算每个短语的分数frule:
ntok=短语中单词/字的个数
nun=短词中包含特殊指定字符的单词/字个数
frule=fpos*fcnt*fun
选择分数frule为1的短语加入候选属性集2。
属性抽取部件102从候选属性集1和候选属性集2聚合得到所述对象属性集可以包括:利用候选属性集1和候选属性集2构建候选属性图,图中的结点为所有候选属性,每个候选属性具有先验分数,来自候选属性集1的候选属性的先验分数由前述基于监督的学习算法而获得,来自候选属性集2的候选属性的先验分数由前述非基于监督的学习算法获得;从每一个结点向近邻传播分数,每一轮传播后每个结点的分数保留了一部分它的原始分数,传播过程终止于收敛或者达到某一最大迭代次数;将结点聚类到k个簇中,k为目标短语个数;以及借助于预定词典,从每个簇中选取一个加入到所述对象属性集中。
标识性属性获取部件101可以根据词频和位置信息来从命名实体中选择标识性属性。
标识性属性获取部件101根据词频和位置信息来从命名实体中选择标识性属性可以包括:基于词频和第一次出现的位置,如下计算每个命名实体的分数fiw:fiw=Tf/logTm;其中Tf为词频,Tm为命名实体第一次出现的位置,具有最高分数的命名实体被选作标识性属性。
属性-值匹配部件104匹配对象属性集中的属性和值表达式包括:对于同时出现在一个预定大小的窗口中的一对属性和值表达式,通过下述公式来计算两者之间的相关度:
相关度值最高的属性和值表达式被选作属性-值对。
对象创建部件105利用标识性属性和匹配后的属性和值表达式来创建对象包括:对象由标识性属性标识;以及其他的属性-值对作为对象的一般属性。
另外,所处理的非结构化文档可以是单个文档,描述且仅描述了一个主要对象。不过,本发明并不局限于此,而是可以处理多个文档,抽取多个对象。
上述对各实施例的描述中,在抽取了命名实体、标识性属性、属性、匹配属性和值后,进行了创建对象的处理。不过,也可以不进行创建对象的处理,而将所抽取的命名实体、标识性属性、属性、匹配的属性和值直接用于文档摘要生成,用于文档信息统计等等。
最后,将参考图8给出作为进行上述从非结构化文档抽取对象处理的装置的硬件配置的例子的描述。CPU(中央处理单元)701根据被存储在ROM(只读存储器)702或存储部分708中的程序来进行各种处理。例如,CPU执行在上述实施例中描述的从非结构化文档抽取对象的程序。RAM(随机存取存储器)703适当地存储由CPU 701执行的程序、数据等等。CPU 301、ROM 702和RAM 703通过总线704相互连接。
CPU 701通过总线704连接于输入/输出接口705。包括键盘、鼠标、麦克风等的输入部分706和包括显示器、扬声器等的输出部分连接于输入/输出接口705。CPU 701根据从输入部分706输入的指令来执行各种处理。CPU 701向输出部分707输出处理的结果。
连接于输入/输出接口705的存储部分708包括例如硬盘,并存储由CPU701执行的程序和各种数据。通信部分709通过诸如因特网、局域网等的网络来与外部装置通信。
连接于输入/输出接口705的驱动器710驱动诸如磁盘、光盘、磁光盘或半导体存储器等的可移动介质711,并获得记录在那里的程序、数据等等。所获得的程序和数据在需要时被传输给存储部分708,并被存储在那里。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行,例如,标识性属性抽取步骤、对象属性抽取步骤、值表达式抽取部分可以顺序地、并行地或者以任何顺序独立地执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (7)
1.一种从非结构化文档中抽取对象的方法,包括:
抽取命名实体,以及从命名实体中选择标识性属性;
抽取对象属性集;
抽取值表达式;
匹配对象属性集中的属性和值表达式;以及
利用标识性属性和匹配后的属性和值表达式来创建对象,其中对象由标识性属性标识,以及其他的属性-值对作为对象的一般属性,
其中,所述抽取对象属性集包括:
利用基于监督的学习算法抽取候选属性集1;
利用非基于监督的学习算法抽取候选属性集2;以及
从候选属性集1和候选属性集2聚合得到所述对象属性集,
其中所述从候选属性集1和候选属性集2聚合得到所述对象属性集包括:
利用候选属性集1和候选属性集2构建候选属性图,图中的结点为所有候选属性,每个候选属性具有先验分数,来自候选属性集1的候选属性的先验分数由前述基于监督的学习算法而获得,来自候选属性集2的候选属性的先验分数由前述非基于监督的学习算法获得;
从每一个结点向近邻传播分数,每一轮传播后每个结点的分数保留了一部分它的原始分数,传播过程终止于收敛或者达到某一最大迭代次数;
将结点聚类到k个簇中,k为目标短语个数;以及
从每个簇中选取一个加入到所述对象属性集中。
3.根据权利要求1的方法,其中,根据词频和位置信息来从命名实体中选择标识性属性。
4.根据权利要求3的方法,所述根据词频和位置信息来从命名实体中选择标识性属性包括:
基于词频和第一次出现的位置,如下计算每个命名实体的分数fiw:
fiw=Tf/log Tm;
其中Tf为词频,Tm为命名实体第一次出现的位置,
选择具有最高分数的命名实体作为标识性属性。
5.根据权利要求1的方法,所述匹配对象属性集中的属性和值表达式包括:
对于同时出现在一个预定大小的窗口中的一对属性x和值表达式y,通过下述公式来计算两者之间的相关度fxi(x,y):
其中,p(x)、p(y)分别表示属性x、值表达式y在文档中出现的概率,p(x,y)表示属性x和值表达式y在文档中预定大小窗口中共现的概率,
选择相关度值最高的属性和值表达式作为属性-值对。
6.根据权利要求1的方法,其中,所述非结构化文档是单个文档,以及描述且仅描述了一个主要对象。
7.一种从非结构化文档中抽取对象的装置,包括:
标识性属性获取部件,用于抽取命名实体,以及从命名实体中选择标识性属性;
对象属性抽取部件,用于抽取对象属性集;
值表达式抽取部件,用于抽取值表达式;
属性-值匹配部件,用于匹配对象属性集中的属性和值表达式;以及
对象创建部件,用于利用标识性属性和匹配后的属性和值表达式来创建对象,其中对象由标识性属性标识,以及其他的属性-值对作为对象的一般属性,
其中,所述对象属性抽取部件抽取对象属性集包括:
利用基于监督的学习算法抽取候选属性集1;
利用非基于监督的学习算法抽取候选属性集2;以及
从候选属性集1和候选属性集2聚合得到所述对象属性集,
其中所述从候选属性集1和候选属性集2聚合得到所述对象属性集包括:
利用候选属性集1和候选属性集2构建候选属性图,图中的结点为所有候选属性,每个候选属性具有先验分数,来自候选属性集1的候选属性的先验分数由前述基于监督的学习算法而获得,来自候选属性集2的候选属性的先验分数由前述非基于监督的学习算法获得;
从每一个结点向近邻传播分数,每一轮传播后每个结点的分数保留了一部分它的原始分数,传播过程终止于收敛或者达到某一最大迭代次数;
将结点聚类到k个簇中,k为目标短语个数;以及
从每个簇中选取一个加入到所述对象属性集中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010209002.3A CN102298588B (zh) | 2010-06-25 | 2010-06-25 | 从非结构化文档中抽取对象的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010209002.3A CN102298588B (zh) | 2010-06-25 | 2010-06-25 | 从非结构化文档中抽取对象的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102298588A CN102298588A (zh) | 2011-12-28 |
CN102298588B true CN102298588B (zh) | 2014-04-30 |
Family
ID=45359009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010209002.3A Active CN102298588B (zh) | 2010-06-25 | 2010-06-25 | 从非结构化文档中抽取对象的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102298588B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637202B (zh) * | 2012-03-15 | 2015-02-11 | 中国科学院计算技术研究所 | 一种迭代式概念属性名称自动获取方法和系统 |
CN103514194B (zh) * | 2012-06-21 | 2016-08-17 | 富士通株式会社 | 确定语料与实体的相关性的方法和装置及分类器训练方法 |
US20140277921A1 (en) * | 2013-03-14 | 2014-09-18 | General Electric Company | System and method for data entity identification and analysis of maintenance data |
CN104636466B (zh) * | 2015-02-11 | 2020-07-31 | 中国科学院计算技术研究所 | 一种面向开放网页的实体属性抽取方法和系统 |
CN107977368B (zh) * | 2016-10-21 | 2021-12-10 | 京东方科技集团股份有限公司 | 信息提取方法及系统 |
CN106372064B (zh) * | 2016-11-18 | 2019-04-19 | 北京工业大学 | 一种文本挖掘的特征词权重计算方法 |
CN106484920A (zh) * | 2016-11-21 | 2017-03-08 | 北京恒华伟业科技股份有限公司 | 一种评审文档指标的抽取方法 |
CN106776538A (zh) * | 2016-11-23 | 2017-05-31 | 国网福建省电力有限公司 | 企业非标准格式文档的信息提取方法 |
CN109117479B (zh) * | 2018-08-13 | 2022-07-22 | 数据地平线(广州)科技有限公司 | 一种金融文档智能核查方法、装置及存储介质 |
CN109344346A (zh) * | 2018-08-14 | 2019-02-15 | 广州神马移动信息科技有限公司 | 网页信息提取方法和装置 |
CN109145305B (zh) * | 2018-09-10 | 2022-12-16 | 鼎富智能科技有限公司 | 一种信息提取方法、装置及服务器 |
CN109637605B (zh) * | 2018-12-11 | 2022-05-10 | 北京大学 | 电子病历结构化方法及计算机可读存储介质 |
CN110033862B (zh) * | 2019-04-12 | 2022-05-17 | 南京中医药大学 | 一种基于加权有向图的中医量化诊断系统及存储介质 |
CN110162786B (zh) * | 2019-04-23 | 2024-02-27 | 百度在线网络技术(北京)有限公司 | 构建配置文件以及抽取结构化信息的方法、装置 |
CN110287302B (zh) * | 2019-06-28 | 2021-03-30 | 中国船舶工业综合技术经济研究院 | 一种国防科技领域开源信息置信度确定方法及系统 |
CN112579869B (zh) * | 2019-09-29 | 2022-02-01 | 北京星选科技有限公司 | 对象提取方法、装置、电子设备及存储介质 |
CN112749238A (zh) * | 2020-12-30 | 2021-05-04 | 北京金堤征信服务有限公司 | 搜索排序方法、装置、电子设备以及计算机可读存储介质 |
CN113609244B (zh) * | 2021-06-08 | 2023-09-05 | 中国科学院软件研究所 | 一种基于可控生成的结构化记录抽取方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101305366A (zh) * | 2005-11-29 | 2008-11-12 | 国际商业机器公司 | 从非结构化文本提取和显现图表结构化关系的方法和系统 |
CN101341486A (zh) * | 2005-12-22 | 2009-01-07 | 国际商业机器公司 | 用于从非结构化数据自动生成多语言电子内容的方法和系统 |
CN101369275A (zh) * | 2008-09-10 | 2009-02-18 | 浙江大学 | 一种非结构化文本中的产品属性挖掘方法 |
CN101441629A (zh) * | 2007-11-19 | 2009-05-27 | 上海新纳广告传媒有限公司 | 一种非结构化网页信息的自动采集方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774301B2 (en) * | 2006-12-21 | 2010-08-10 | International Business Machines Corporation | Use of federation services and transformation services to perform extract, transform, and load (ETL) of unstructured information and associated metadata |
-
2010
- 2010-06-25 CN CN201010209002.3A patent/CN102298588B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101305366A (zh) * | 2005-11-29 | 2008-11-12 | 国际商业机器公司 | 从非结构化文本提取和显现图表结构化关系的方法和系统 |
CN101341486A (zh) * | 2005-12-22 | 2009-01-07 | 国际商业机器公司 | 用于从非结构化数据自动生成多语言电子内容的方法和系统 |
CN101441629A (zh) * | 2007-11-19 | 2009-05-27 | 上海新纳广告传媒有限公司 | 一种非结构化网页信息的自动采集方法 |
CN101369275A (zh) * | 2008-09-10 | 2009-02-18 | 浙江大学 | 一种非结构化文本中的产品属性挖掘方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102298588A (zh) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102298588B (zh) | 从非结构化文档中抽取对象的方法和装置 | |
CN111104794B (zh) | 一种基于主题词的文本相似度匹配方法 | |
Neethu et al. | Sentiment analysis in twitter using machine learning techniques | |
KR101806452B1 (ko) | 텍스트 마이닝을 기반으로 한 상품 자동 매핑 방법 및 장치 | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN112559684A (zh) | 一种关键词提取及信息检索方法 | |
JP2003288362A (ja) | 特定要素ベクトル生成装置、文字列ベクトル生成装置、類似度算出装置、特定要素ベクトル生成プログラム、文字列ベクトル生成プログラム及び類似度算出プログラム、並びに特定要素ベクトル生成方法、文字列ベクトル生成方法及び類似度算出方法 | |
Tyagi et al. | Sentiment analysis of product reviews using support vector machine learning algorithm | |
CN112182145A (zh) | 文本相似度确定方法、装置、设备和存储介质 | |
Mehrbod et al. | Tender calls search using a procurement product named entity recogniser | |
CN105068986B (zh) | 基于双向迭代和自动构建更新语料库的垃圾评论过滤方法 | |
Yang et al. | Ontology generation for large email collections. | |
Rani et al. | Study and comparision of vectorization techniques used in text classification | |
CN104951478A (zh) | 信息处理方法和信息处理装置 | |
Zehtab-Salmasi et al. | FRAKE: fusional real-time automatic keyword extraction | |
Shahade et al. | Multi-lingual opinion mining for social media discourses: an approach using deep learning based hybrid fine-tuned smith algorithm with adam optimizer | |
Al Mostakim et al. | Bangla content categorization using text based supervised learning methods | |
Afuan et al. | A new approach in query expansion methods for improving information retrieval | |
Yang et al. | Amplifying scientific paper’s abstract by leveraging data-weighted reconstruction | |
Eldin et al. | An enhanced opinion retrieval approach on Arabic text for customer requirements expansion | |
CN109871429B (zh) | 融合Wikipedia分类及显式语义特征的短文本检索方法 | |
Mohemad et al. | Performance analysis in text clustering using k-means and k-medoids algorithms for Malay crime documents | |
Hosseini et al. | Implicit entity linking through ad-hoc retrieval | |
CN106202116A (zh) | 一种基于粗糙集与knn的文本分类方法及系统 | |
CN103678355A (zh) | 文本挖掘方法和文本挖掘装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |