首页> 中国专利> 利用自动规则生成的非结构化数据支持

利用自动规则生成的非结构化数据支持

摘要

提供一种用于处理非结构化数据的系统。一种用于处理非结构化数据的示例系统包括:接收器,用于访问非结构化数据的源;实体类型模块,用于确定实体类型;规则生成器,用于基于确定的实体类型自动地生成语言规则;以及实体提取器,用于使用语言规则从非结构化数据的源获得实体。所述实体包括字母-数字串。

著录项

  • 公开/公告号CN102779114A

    专利类型发明专利

  • 公开/公告日2012-11-14

    原文格式PDF

  • 申请/专利权人 商业对象软件有限公司;

    申请/专利号CN201110122097.X

  • 发明设计人 刘靖;郑健豪;熊务真;

    申请日2011-05-12

  • 分类号G06F17/22;

  • 代理机构北京市柳沈律师事务所;

  • 代理人邵亚丽

  • 地址 爱尔兰都柏林

  • 入库时间 2023-12-18 07:16:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-29

    授权

    授权

  • 2014-06-04

    实质审查的生效 IPC(主分类):G06F17/22 申请日:20110512

    实质审查的生效

  • 2012-11-14

    公开

    公开

说明书

技术领域

此申请涉及数据处理领域,并且具体地,涉及用于自动地生成用于非结 构化数据的语言规则的方法和系统。

背景技术

非结构化数据是指要么不具有数据结构要么具有不能由计算机程序容 易地使用的数据结构的计算机化信息。非结构化数据可以来源于诸如,例如 电子邮件、网站、财务报告等等的多个源。非结构化数据因此可以与结构化 数据或者半结构化数据形成对比,所述结构化数据诸如以基于域 (field-based)的格式存储在数据库中的信息,所述半结构化数据是在电子 文档中被注释(例如,被进行了语义标注的)的数据。同时,研究表明在所 有潜在可用的商业信息当中很大百分比是以非结构化的形式生成的,比如在 电子邮件,网页、财务报告等等中。

一些现有的系统能够从非结构化数据源提取已经识别为与预定种类相 关联的信息。一些系统甚至允许处理包含外文文本的非结构化数据。可以使 用语言规则处理非结构化数据。然而一个挑战是检测和提取不同数据类型的 数据实例可能需要特定的语言规则。例如,可能需要编写一组特定语言规则 以处理包含不动产的描述的非结构化数据,而可能需要编写一组不同的特定 语言规则以处理包含本地商业新闻的非结构化数据。语言规则写作会是复杂 的过程,其需要特殊技能和一般在商业用户的专业知识范围之外的知识。

发明内容

根据本发明的一个方面,提供一种计算机实现的系统,其包括:接收器, 用于访问非结构化数据的源;实体类型模块,用于确定实体类型;规则生成 器,用于基于确定的实体类型自动地生成语言规则;以及实体提取器,用于 使用语言规则从非结构化数据的源获得实体,所述实体包括字母数字串。

根据本发明的另一方面,提供一种计算机实现的方法,包括:使用一个 或多个处理器执行如下操作:访问非结构化数据的源;确定实体类型;基于 确定的实体类型自动地生成语言规则;以及将该语言规则提供给实体提取器 以使用所述语言规则从非结构化数据的源获得实体,所述实体包括字母数字 串。

根据很发明的另一方面,提供一种机器可读的非暂时性存储介质,其具 有导致机器执行如下操作的指令数据:访问非结构化数据的源;确定实体类 型;以及基于确定的实体类型自动地生成语言规则,所述语言规则适于从非 结构化数据的源获得实体,所述实体包括字母数字串。

附图说明

以示例的方式示出本发明的实施例,但并不限于附图中的图形,附图中 相似的参考标号指示相似的元件,其中:

图1是根据一个示例实施例的可以在其中实现用于处理非结构化数据的 系统的网络环境的图示;

图2是根据一个示例实施例的用于处理非结构化数据的系统的框图;

图3是根据一个示例实施例的用于处理非结构化数据的方法的流程图;

图4是根据一个示例实施例的非结构化数据的源的图示;

图5是根据一个示例实施例的选择视图的图示;

图6是根据一个示例实施例的基于经处理的非结构化数据而生成的报告 的图示;以及

图7是采用其中可以运行指令的计算机系统的形式的示例机器的图示, 所述指令用于使机器执行在此讨论的任何一个或多个方法。

具体实施方式

在下面的描述中,出于解释的目的,阐述许多特定细节以便提供对一些 示例实施例的全面理解。然而,对本领域技术人员来说,很显然没有这些特 定细节也可以实践本发明的实施例。

可以提供计算机实现的方法和系统以基于选择的实体类型自动地生成 用于处理非结构化数据的语言规则。在本描述的上下文中,短语“实体类型” 是指字母-数字信息的类型或种类。被识别为与实体类型相关联并且因此从 非结构化数据源被提取的特定的字母-数字串可以称为实体。在一个示例实 施例中,用于利用自动规则生成来处理非结构化数据的系统组合了文本分析 和企业报告技术的特征,并且允许用户基于他们的非结构化数据输入来报告 信息。通过使用基于一个或多个实体类型自动生成的语言规则来提取实体。

语言规则是使用正则表达式和语言学属性编写的语句,所述正则表达式 和语言学属性定义用于非结构化数据的源之内的实体、事件和关系的模式。 语言规则可以被编写(例如,使用计算机实现的开发工具来编写或者根据此 处描述的一些实施例自动地编写)、编译并且使其可用于提取引擎(extraction  engine),该提取引擎可以被提供有在计算机系统上运行的应用。可以将所述 提取引擎配置为基于语言规则从非结构化数据的源识别并且提取信息。

实体类型可以是预定义的实体类型。预定义实体类型可以包括,例如, 在与各种各样的主题(topic)相关的非结构化数据的源中通常出现的实体类 型。这种常见的实体类型(为了本描述的目的,也被称为通用实体类型)的 示例是地址、日期、电子邮件、电话等等。在下面的表1中示出了与可能出 现在非结构化数据的源中的地址信息以及用于实体类型地址的语言规则有 关的示例文本。

表1

在下面的表2中示出了与可能出现在非结构化数据信息的源中的日期以 及用于实体类型日期的语言规则有关的示例文本。

表2

在下面的表3中示出了与可能出现在非结构化数据的源中的电子邮件信 息以及用于实体类型电子邮件的语言规则有关的示例文本。

表3

在下面的表4中示出了与可能出现在非结构化数据的源中的电话信息以 及用于实体类型电话的语言规则有关的示例文本。

表4

以上在表1-4中示出的规则可以是预定义的或者是响应于关于处理非结 构化数据的源(例如,网页或者电子邮件消息)的请求而自动生成的。对于 一些实体类型,可能有益的是:提供多于一个的语言规则以便从非结构化数 据源提取更精确和/或更完整的信息。例如,在非结构化数据源与不动产列表 相关的情况中,可能有益的是:提取与不动产的各个方面(诸如,例如,卧 室数量)相关的数据。在下面的表5中示出用于提取关于房地产广告中描述 或提到的卧室的信息的示例语言规则。

表5

如在上面的表5中可以看到的,对于实体类型卧室,存在两个子组 (subgroup)规则以及一个组规则。卧室子组表示单词“bedroom(卧室)” 的可能的书写风格——大写的和未大写的。修饰语子组表示从单词 “bedroom”派生出来的单词形容词或副词(words adjectives or adverbs)。以及, 最后,Bedroom组表示单词“bedroom”的可能相关语义描述,诸如,例如, “spacious(宽敞)”或“master(主人)”。如上所述,这些规则可以手动地 生成(这需要规则语言的专门知识),或者根据本发明的一些实施例使用语 言规则生成器自动地生成。在一个实施例中,表5中示出的每个规则都可以 自动地生成,例如,基于预定义的规则模板,通过利用关键字或关键字的一 部分替换模板中的一个或多个占位符来自动地生成。

在一些实施例中,可以将用于处理非结构化数据的系统配置为既允许预 定义(或通用)实体类型又允许定制实体类型。可以基于一个或多个用户提 供的关键字生成定制实体类型。可以将示例语言规则生成器配置为自动地生 成用于预定义实体类型和定制实体类型两者的语言规则。例如,用于处理非 结构化数据的系统可以检测到用户输入特定关键字(例如,“bathroom(浴 室)”)以指示对房地产列表中可能发现的任何涉及浴室的内容的兴趣。可以 允许用户经由选择视图提供要在创建定制实体类型中使用的关键字,该视图 将稍后参照图5描述。用户提供的关键字“bathroom”可以随后被当做定制 种类类型,并且系统可以自动地生成用于从房地产列表提取与浴室相关的信 息的一个或多个语言规则。可以将语言规则设计成从非结构化数据的源提取 词浴室和它的可能变体(例如,单数和复数形式)以及描述浴室的形容词和 /或副词。

在一个实施例中,用于处理非结构化数据的系统可以访问包含一个或多 个占位符的先前存储的规则模板。当检测到用户提供的关键字以及关于将其 当作定制实体类型来对待的请求时,访问先前存储的一个或多个规则模板, 并且占位符自动地被替换为关键字或关键字的一部分。还可以由与先前定义 的(或通用)实体类型对应的关键字来替换规则模板中的占位符,从而可以 为先前定义的实体类型生成语言规则。占位符被关键字替换的模板随后被用 作自动生成的语言规则。在上面的表5中示出为实体类型浴室生成的示例语 言规则。

为了允许用户请求定制实体类型,可以将用于处理非结构化数据的系统 配置为向用户提供选择视图,所述选择视图用于显示一个或多个预定义实体 以及允许用户打入一个或多个表示定制实体类型的关键字的输入区。可以将 选择视图设计为将与预定义实体类型相关联的附加信息连同预定义的实体 类型一起呈现给用户,所述附加信息可以帮助用户确定是否选择具体的实体 类型。这种附加信息可以包括各个实体类型的实体在非结构化数据源中平均 出现的频率以及实体类型与具体的非结构化数据的源的相关度。这样,用户 可以经由选择视图选择和不选择预定义的实体类型。可以将用于处理非结构 化数据的系统配置为对于那些已经选择的预定义实体类型以及基于用户提 供的关键字生成的定制实体类型自动地生成语言规则,而忽略那些未被选择 的预定义实体类型。

虽然用于处理非结构化数据的系统可以存储通用实体类型,但是也可以 将所述系统配置为允许基于用户提供的关键字的定制实体类型并且对于定 制实体类型自动地生成语言规则。例如,虽然通用实体类型可以包括地址和 电话号码实体类型,但是用户可能对,例如,从与房地产广告相关的网页提 取关于房产出租(rental properties)的信息(诸如卧室和浴室的数量和描述)感 兴趣。

使用自动生成的语言规则从非结构化数据源提取的数据可以被进一步 处理,例如,使用统计分析方法进行进一步处理,以除去被识别为不想要的 或不相关信息的文本,以便提高提取数据的质量。在该附加处理之后,提取 数据可以被绘制成用于向用户演示的二维表格。在一些实施例中,自动化的 语言规则生成器可以突出显示(highlight)每个提取数据集合的一系列语义学 建议。

用于处理非结构化数据的示例系统可以在图1中示出的网络环境100的 上下文中实现。如图1所示,网络环境100可以包括服务器计算机系统140 和非结构化数据的源120。在一个示例实施例中,计算机系统140为商业应 用142和用于处理非结构化数据的系统146提供主机服务(host)。非结构化 数据的源120可以包括,例如,网页122、电子邮件124、非结构化报告126 (例如,财务报告)等等。

可以将用于处理非结构化数据的系统146配置为自动生成与通用实体类 型和定制实体类型相关联的语言规则,并且基于所生成的语言规则经由通信 网络130从非结构化数据的源120提取信息(实体)。该通信网络130可以 是公共网络(例如,因特网、无线网络等等)或者私有网络(例如,局域网 (LAN)、广域网(WAN)、内联网等等)。

可以将使用自动生成的语言规则从非结构化数据的源提取的信息提供 给商业应用142,该商业应用142可以进而使用这个结构化数据来生成一个 或多个报告。在一些实施例中,可以由用于处理非结构化数据的系统146来 生成所述报告。随后可以将所述报告提供给商业应用142。如图1所示,计 算机系统与储存库150通信。储存库150可以存储也可以由用于处理非结构 化数据的系统146处理的非结构化数据152。图2中示出用于处理非结构化 数据的示例系统。

图2是根据一个示例实施例的用于处理非结构化数据的系统200的框 图。可以以硬件实现系统200的各个模块。在一些实施例中,系统200的模 块可以实现为软件或者软件和硬件的组合。如图2所示,系统200包括接收 器202、实体类型模块204、规则生成器206、实体提取器208和选择视图生 成器210。

可以将接收器202配置为访问非结构化数据的源,例如,包含房地产列 表的网页。可以将实体类型模块204配置为确定要用于解析非结构化数据的 源的实体类型。实体类型模块204可以联合选择视图生成器210来运行,选 择视图生成器210可以被配置为提供选择视图,所述选择视图显示通用实体 类型以及允许用户指定可随后被用作定制实体类型的一个或多个关键字的 输入区。在下面将参照图5进一步描述示例选择视图。

规则生成器206可以被配置为基于一个或多个相应实体类型自动生成语 言规则,所述一个或多个相应实体类型可以例如使用由选择视图生成器210 生成的选择视图来确定。实体提取器208可以被配置为使用由规则生成器 206生成的语言规则从非结构化数据的源获得实体。系统200也可以包括数 据质量模块212以除去被识别为不想要或不相关的信息的文本,以便提高提 取的数据的质量,并且系统200也可以包括报告生成器214,其可以被配置 为生成用于向用户演示的报告(例如,包含提取的实体的二维表格)。

如上所述,可以将用于处理非结构化数据的系统200的组件实现为硬件、 软件或硬件和软件的组合。例如,可以以硬件实现系统200的一个或多个模 块。在一个实施例中,可以由一个或多个处理器实现系统200的一个或多个 模块。应该注意的是,可以提供这样的实施例:被显示为分离的组件的系统 200的一些模块被实现为单个模块。相反地,可以提供这样的实施例:在图 2中作为单个模块示出的组件可以被实现为两个或更多组件。可以参考图3 描述系统200为了处理非结构化数据而执行的示例操作。

图3是根据示例实施例的用于处理非结构化数据的方法300的流程图。 可以由处理逻辑执行方法300,所述处理逻辑可以包含硬件(例如,专用逻 辑、可编程逻辑、微代码等等)、软件(诸如在通用计算机系统或专用机器 上运行)、或两者的组合。在一个示例实施例中,处理逻辑位于图1的计算 机系统140,并且,具体来说,位于图2中示出的可以被配置为使用自动生 成的语言规则处理非结构化数据的系统200。

如图3所示,方法300在操作310开始,其中接收器202访问非结构化 数据的源,诸如,例如网页、电子邮件消息等等。在操作320,向由用户操 作的客户端计算机系统提供由图2的选择视图模块210生成的选择视图。在 操作330,图2的实体类型模块204确定要由图2的实体提取器208使用的 实体类型。在操作340,图2的规则生成器206对于确定的实体类型生成一 个或多个语言规则。如上所述,在一个示例实施例中,可以将规则生成器206 配置为对于单个实体类型生成多个语言规则,这将使得使用语言规则中的描 述性单词来提取与实体类型相关的附加信息(例如,用于“kitchen(厨房)” 实体的“a beautiful remodeled kitchen(漂亮的改造厨房)”)成为可能。例如, 描述性单词可以包括指示如下内容的单词:数量(如在“two bedrooms(两 个卧室)”中,一个、两个、1、2等等)、位置(例如,“5 minutes from a metro  station(距离地铁站5分钟)”)、副词或形容词(如在“newly decorated apartment (新装修的公寓)”或“a beautiful kitchen(漂亮的厨房)”中)。在操作350, 图2的实体提取器208使用由图2的规则生成器206生成的语言规则解析非 结构化数据的源并且提取一个或多个实体。在操作360,图2的报告生成器 214生成用于绘制所提取的实体的报告视图。

可以由用于处理非结构化数据的分布式系统执行图3中示出的不同的操 作,以使得各个模块或数据(例如,模板或模式)可以位于不同的计算机系 统。可以由配备有一个或多个计算机系统的一个或多个处理器来执行由用于 处理非结构化数据的系统执行的操作。下面参照图4和图5描述示出使用用 于利用自动规则生成来处理非结构化数据的系统的示例。

图4是非结构化数据源的视图400——用于出租单元(rental unit)的广 告。对于图4中示出的广告,客户或许将对诸如出租价格、卧室和浴室的数 量、联系信息、公寓地址等等之类的信息感兴趣。用于利用自动规则生成来 处理非结构化数据的方法和系统可以被有益地使用以消除用户手动地创建 用于提取这样的实体的语言规则的负担。

图5是由图2的选择视图模块210生成的选择视图500。如图5所示, 区域510显示可以使用相应的复选框选择的预定义的实体类型。区域520显 示由用户输入的关键字“bedroom(卧室)”和“bathroom(浴室)”。在下面的表 6中示出由图2的规则生成器210基于用户选择的实体类型和用户提供的关 键字生成的语言规则。

表6

图6是由图2的规则生成器214生成的报告视图600。报告视图600列 出如图5所示的由用户选择的预定义的实体(地址、电子邮件、电话和价格), 以及示出的基于用户提供的关键字(卧室和浴室)创建的定制实体类型。

图7示出采用在其中可以运行一组指令的计算机系统的示例形式的机 器的图示,所述指令用于使该机器执行在此讨论的任何一个或多个方法。在 替换实施例中,机器作为独立设备操作或者可以连接(例如,联网)到其它 机器。在联网部署中,机器可以在服务器-客户端网络环境中以服务器或客 户端机器的地位操作,或者在对等(或分布)网络环境中作为对等机器操作。 机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、 蜂窝式电话、web应用、网络路由器、交换机或网桥、或任何能够运行指定 将由机器采取的动作的指令集合(顺序的或其它排序的)的机器。此外,虽 然仅示出单个机器,但是术语“机器”也应当被理解为包括独立地或共同地 运行一组(或多组)指令以执行此处讨论的任何一个或更多方法的机器的任 何集合。

示例计算机系统700包括经由总线708彼此通信的处理器702(例如, 中央处理器(CPU)、图形处理单元(GPU)或它们两者)、主存储器704和 静态存储器706。计算机系统700还可以包括视频显示单元710(例如,液 晶显示器(LCD)或阴极射线管(CRT))。计算机系统700也包括字母-数字 输入设备712(例如,键盘)、用户接口(UI)导航设备714(例如,光标控 制设备)、磁盘驱动单元716、信号生成设备718(例如,扬声器)和网络接 口设备720。

磁盘驱动单元716包括机器可读介质722,在机器可读介质722上存储 使此处描述的任何一个或更多方法或功能具体化或者被此处描述的任何一 个或更多方法或功能使用的一组或多组指令和数据结构(例如,软件724)。 在由计算机系统700运行软件724期间,软件724还可以完全地或至少部分 地位于主存储器704和/或处理器702之内,主存储器704和处理器702也构 成机器可读介质。

还可以经由使用大量公知的传输协议(例如,超文本传输协议(HTTP)) 中的任何一个的网络接口设备720通过网络726发送或接收软件724。

虽然在示例实施例中将机器可读介质722显示为单个介质,但是术语“机 器可读介质”应该被理解为包括存储一组或多组指令的单个介质或多个介质 (例如,集中式或分布式数据库和/或关联的高速缓存和服务器)。术语“机 器可读介质”还包括能够存储和一组用于由机器运行的并且导致机器执行本 发明的实施例的任何一个或多个方法的指令的任何介质,或者能够存储和编 码由这样一组指令使用的或者与这样一组指令相关联的数据结构的任何介 质。因此术语“机器可读介质”包括,但不局限于,固态存储器、光学和磁 介质。这种介质还可以包括,而不限于,硬盘、软盘、闪存卡、数字视频盘、 随机存取存储器(RAM)、只读存储器(ROM)等等。

可以在包括安装在计算机上的软件的操作环境中、在硬件中或在软件和 硬件的组合中实现此处描述的实施例。

本发明的实施例还可以针对包括如下装置的系统:用于访问非结构化数 据的源的装置、用于基于确定的实体类型自动生成语言规则的装置以及用于 使用语言规则从非结构化数据的源获得实体的装置,所述实体包括字母-数 字串。本发明的更多的实施例还可以针对用于携带导致机器执行如下操作的 指令数据的载波信号:访问非结构化数据的源;确定实体类型;基于确定的 实体类型自动生成语言规则;以及使用语言规则从非结构化数据的源获得实 体,所述实体包括字母-数字串。

这样,已经描述了使用自动语言规则生成过程来处理非结构化数据的系 统。用于自动生成用于处理非结构化数据的语言规则的方法和系统可以被有 利地使用以将非结构化数据转换成为更可读的和更方便处理的形式。该方法 和系统可以被用于利用在万维网中可获得的大量的非结构化数据,并且通过 引入自动化语言规则生成来帮助减少定制语言规则写作的复杂性,所述自动 化语言规则生成可以用于从非结构化数据提取域特定信息。在一些实施例 中,该方法和系统可以用于减少或消除对保持特定的手写的语言规则的需 要。此外,通过获得用户提供的关键字来允许定制实体类型并且自动地生成 用于定制实体类型的语言规则可以提高报告数据的质量。

虽然已经参考特定的示例实施例描述了实施例,但是,很明显,可以对 这些实施例进行各种修改和改变而不脱离本发明的主题的更宽泛的精神和 范围。因此,说明书和附图被认为是说明性的,而不是限制的意思。例如, 虽然已经参考商业应用描述了实施例,但是用于处理非结构化数据的系统可 可以在各种其它计算机应用的上下文中实现以及有利地使用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号