具体实施方式
事件抽取是信息抽取的一个重要研究方向,是一种自然语言处理技术。事件抽取的目的是从非结构化或半结构化的文本数据中抽取结构化的数据。事件抽取在各个领域都有着重要的应用前景,比如金融领域、新闻领域、生物医学领域等等。
下面以金融领域为例进行描述。在金融领域中,金融舆情的目标是监测所关注的公司的金融活动、经营状态和外部评价等情况,来掌握所关注的公司的全面情报。这些情报可以用来对该公司动态地进行信用评级,或者这些情报可以作为期货股票交易的参考信息。此外,也可以通过观察公司的情报来进行企业风险管控等。
传统的舆情收集方法主要是通过在搜索引擎中搜索所关注的公司的名称,获得关于该公司的信息,然后通过人工浏览、归纳和总结获得该公司的总体情报。然而,这种方式需要人工阅读有关该公司的大量信息,导致工作量非常大。此外,由于人工处理慢,导致不可能对大量公司进行全面的监测,而且人工处理无法进行实时监测,因此得到的信息将是滞后的。
因此,如果在金融舆情中引入事件抽取技术,通过自动化地抽取公司金融活动、经营状态和外部评价等事件,从而能够对大量公司进行实时监测和情报收集。
目前,业界提出了基于句法来实现事件抽取。基于句法的事件抽取方法依赖于中文分词、词性标注、实体识别、句法分析和语义分析等子任务。然而,这种方法也存在一些弊端。
例如,各个子任务的误差会传播扩大,导致事件抽取准确率急剧下降。例如,业界效果最好的句法分析工具是斯坦福大学的Stanford Parser,其准确率也只达到75%左右,这决定了基于句法的事件抽取性能不可能高于75%。另外,句法分析处理文本的速度相对较慢,耗费计算资源。
此外,句法分析需要较为深入的语言学和自然语言处理知识,这需要具备相应专业知识的人员来构建句法模板。如果应用于金融领域,在构建句法模板时还需要较多的金融领域知识,这对于技术人员要求较高,导致在实现上较为困难。另外,句法分析分为结构句法分析和依存句法分析,通常句法模板是基于依存句法分析的结构来构建的。基于依存句法分析的模板假设事件的核心词是动词,事件的属性存在连接该动词的依存路径。然而,在一些领域中,比如在金融领域中,金融事件并非以动词作为核心词,比如事件“资金紧张”(其描述公司资金短缺的状态),一般没有核心的动词。这些都对构建句法模板提出了极大的挑战。
鉴于此,本发明实施例提供了一种基于词汇目标的事件抽取方案。在本发明实施例中,首先对目标文本进行处理,以获得目标文本的分词结果。分词结果可以包括至少一个词汇。然后将分词结果与预定义的事件抽取模板集合进行匹配。事件抽取模板集合中的每个事件抽取模板的模板元素是基于词汇来构建的。在分词结果与事件抽取模板集合中的特定事件抽取模板匹配成功的情况下,基于分词结果和特定事件抽取模板来生成事件属性数据,其中,事件属性数据用于表示目标文本中描述的事件的属性。
在本发明实施例中,由于事件抽取模板的模板元素是基于词汇来构建的,所以能够通过将目标文本的分词结果与事件抽取目标进行匹配来实现事件抽取,这样不仅实现简单,而且能够减少误差,从而能够提高事件抽取准确率。
例如,与基于句法的事件抽取方法相比,本发明实施例的技术方案不需要依赖于句法分析结果,不仅能够有效避免子任务误差传播的问题,而且能够节省计算资源。
此外,与基于句法的事件抽取方法相比,本发明实施例的技术方案不需要额外的自然语言处理知识,构建基于词汇的事件抽取模板在实现上相对简单。例如,在应用于金融领域时,也不需要较多的金融领域知识,仅需要了解金融事件本身即可,极大地降低了对技术人员的要求。
此外,相比于基于句法的事件实现方法,本发明实施例的技术方案中的基于词汇的事件抽取模板并没有词性等约束限制,所以在实现上更为灵活,而且能够表达的事件类型更为丰富。
下面将结合具体实施例来详细地描述本发明实施例的技术方案。
图1是根据本发明实施例的用于事件抽取的方法的示意性流程图。
如图1所示,在步骤110中,对目标文本进行处理,以获得目标文本的分词结果,其中,分词结果包括至少一个词汇。
在步骤120中,将分词结果与预定义的事件抽取模板集合进行匹配,其中,事件抽取模板集合中的每个事件抽取模板的模板元素是基于词汇来构建的。
在步骤130中,在分词结果与事件抽取模板集合中的特定事件抽取模板匹配成功的情况下,基于分词结果和特定事件抽取模板来生成事件属性数据,其中,事件属性数据用于表示目标文本中描述的事件的属性。
在本发明实施例中,由于事件抽取模板的模板元素是基于词汇来构建的,所以能够通过将目标文本的分词结果与事件抽取目标进行匹配来实现事件抽取,这样不仅实现简单,而且能够减少误差,从而能够提高事件抽取准确率。
在本发明实施例中,目标文本可以是非结构化或半结构化的文本。事件可以是指特定的人、物在特定事件和特定地点相互作用的客观事实。例如,在金融领域中,金融事件可以是指公司进行的金融活动或被设定为某种状态,例如,股权出让、资产重组或被列为失信名单等。
在一个实施例中,在步骤110中,可以对目标文本进行正文提取、实体识别和中文分词处理,从而获得分词结果。
例如,可以利用本领域适用的算法来对目标文本进行正文提取。比如,目标文本可以是html网页。对html网页进行正文提取可以包括对html网页进行简单的文本清洗,比如去掉html转义字符等。例如,可以采用正则表达式来进行网页抽取。
在对目标文本进行正文提取之后,可以对所提取的正文进行实体识别。实体识别的功能主要是识别出正文中的公司名称、人名等实体。实体的类型可以是预先定义的。可以利用本领域适用的算法来进行实体识别。例如,目前常用的实体识别算法可以包括条件随机场、循环神经网络等。
在对所提取的正文进行实体识别之后,可以对正文进行中文分词。中文分词可以是指在保证实体词汇不被切断的情况下将正文切分成合理的词汇序列,所切分出的词汇是在语言学上有意义的,也就是说可以作为语义单元。可以利用本领域适用的算法来进行中文分词,例如,目前常用的中文分词算法可以包括前向最长匹配、条件随机场、循环神经网络等。
从上述可见,本发明实施例的事件抽取方案主要依赖于实体识别和中文分词处理得到的分词结果。目前,实体识别在识别公司和人名方面取得了90%以上的准确率,而中文分词也已经达到了97%以上的准确率。这样,利用分词结果和基于词汇的事件抽取模板来实现事件抽取,能够极大地提高事件抽取准确率。此外,与基于句法的事件抽取方法相比,由于本发明实施例的技术方案依赖于实体识别和中文分词子任务,而不需要借助于句法分析,能够从上游减少子任务的误差,这也能进一步提高事件抽取准确率。
在另一实施例中,在步骤120中使用的事件抽取模板集合中的每个事件抽取模板可以表示为由至少一个模板元素构成的有序序列。模板元素可以分为三种类型:词汇匹配符、实体匹配符和通配符。词汇匹配符可以用于指示事件关键信息,实体匹配符可以用于指示事件关键实体。可以明白的是,构成每个事件抽取模板的至少一个模板元素中的每个模板元素可以属于这三种类型中的一种类型。也就是说,每个事件抽取模板可以包括这三种类型的模板元素中的一种或多种。比如,事件抽取模板可以仅包括词汇匹配符、实体匹配符和通配符这三种模板元素中的任一种模板元素;事件抽取模板可以包括词汇匹配符、实体匹配符和通配符这三种模板元素;事件抽取模板可以包括词汇匹配符和实体匹配符这两种模板元素;事件抽取模板可以包括词汇匹配符和通配符这两种模板元素;等等。
例如,词汇匹配符可以用来判断分词结果中的对应词汇是否属于事件关键词汇。实体匹配符可以用来判断分词结果中的对应词汇是否属于实体词汇。而通配符可以用于与任何词汇进行匹配。
可见,在本发明实施例中,事件抽取模板中的三种类型的模板元素定义明确,利用这三种类型的模板元素中的至少一种模板元素能够容易地构建事件抽取模板,而且利用这样的事件抽取模板进行匹配可以达到所见即所得的效果,因此本发明实施例的方案不仅在实现上简单,而且能够极大地降低对技术人员的专业知识要求。
在另一实施例中,词汇匹配符可以包括一个或多个事件关键词汇。实体匹配符可以包括一个或多个实体类型表示。通配符可以包括要匹配的最少词汇数量和最多词汇数量。
事件关键词汇可以是描述某种类型的事件的关键词。比如,对于股权出让这种类型的金融事件,事件关键词汇可以包括转让或出让。词汇匹配符可以利用各种适用的形式来表达。例如,词汇匹配符可以表示为“(…)”,其中小括号内部填充一个或多个事件关键词汇。如果存在多个事件关键词汇,可以利用竖线“|”隔开。比如,词汇匹配符可以表示为“(转让|出让)”,那么,词汇匹配符可以用于判断分词结果中的对应词汇是否是转让或出让。
实体类型表示可以是用于表达实体类型的某种具体表示,比如英文字符,数字字符等等。例如,对于实体类型“公司”,对应的实体类型表示可以是“COMPANY”;对于实体类型“人”,对应的实体类型表示可以是“PERSON”。实体匹配符可以利用各种适用的形式来表达。例如,实体匹配符可以表示为“<…>”,其中尖括号内部填充一个或多个实体类型表示。如果存在多个实体类型表示,可以利用竖线“|”隔开。比如,实体匹配符可以表示为“<COMPANY|PERSON>”,那么,实体匹配符可以用于判断分词结果中的对应词汇是否是公司名称或人名。
通配符可以与任何词汇匹配。通配符可以包括要匹配的最小词汇数量和最大词汇数量。通配符可以利用各种适用的形式来表达。例如,通配符可以表示为“{…}”,其中花括号内部填充最少词汇数量和最多词汇数量。比如,通配符可以表示为“{0,5}”,其意指最少匹配0个词汇,最多匹配5个词汇。通配符的最少词汇数量和最多词汇数量可以根据实际情况来设定。比如,如果两个词汇(比如实体词汇和事件关键词汇)之间的词汇数量在通配符中设定的最少词汇数量和最多词汇数量之间,可以认为这两个词汇是具有语义关联的。而如果两个词汇之间的词汇数量超出通配符中的最多词汇数量,可以认为这两个词汇之间没有语义关联。因此,设定适当的最少词汇数量和最多词汇数量有利于提高事件抽取准确率。
可见,在本发明实施例中,事件抽取模板包括三种模板元素,每种模板元素的定义明确,因此能够简单且方便地根据这三种模板元素中的至少一种模板元素来构建事件抽取模板。
例如,每个事件抽取模板可以是由上述三种模板元素中的至少一种模板元素构建的有序序列。此处,应理解的是,事件抽取模板中的每种类型的模板元素的数量可以是一个或多个。比如,结合上述各种模板元素的例子,事件抽取模板可以被表示为“<COMPANY>{0,5}<PERCENT>{0,5}(股权){0,5}(转让)”,可见其由七个模板元素构成。
应理解的是,上述对词汇匹配符、实体匹配符、通配符以及事件抽取模板的举例说明仅是为了帮助本领域技术人员更好地理解本发明实施例。本发明实施例并不限于此。
在另一实施例中,每个事件抽取模板可以与一种事件类型相对应。每个事件抽取模板的模板元素可以是基于语料集来形成的,而语料集可以是从描述与该事件抽取模板相对应的事件类型的一组文本中提取的。
事件类型不是限定的集合,是需要根据用户需求进行扩充的。现有的普通自然语言处理多分类技术不适合可扩展的事件抽取,这是因为当新增加了事件类型时,原有的分类模型需要推翻来重新训练。
然而,在本发明实施例中,可以为每种事件类型构建相应的事件抽取模板,因此当对事件类型进行扩充时,仅需要为新的事件类型构建新的事件抽取模板,而不会影响已有的事件类型。
此外,在本发明实施例中,并不需要构建大规模的训练预料,而仅需要为每种事件类型建立少量的支持预料,能够减少人工成本。
例如,在本发明实施例中,可以预先定义事件类型、事件属性和事件类型的判断标准。然后收集各事件类型的一组文本,从这些文本中提取语料集。通过观察语料集,来汇总出词汇。基于所汇总出的词汇来构建词汇匹配符、实体匹配符和通配符,从而构建与各事件类型相对应的事件抽取模板。此外,为了确保事件抽取模板的准确率,可以将事件抽取模板应用于相应的语料集,确定事件抽取效果是否符合预期,比如准确率是否高于预定阈值。如果准确率低于预定阈值,则可以根据语料集更新汇总出的词汇,然后基于更新后的词汇来构建新的事件抽取模板。之后可以再次将新的事件抽取模板应用于相应的语料集,确定事件抽取效果是否符合预期。可以重复上述过程,直到所得到的事件抽取模板符合预期为止。
在另一实施例中,每个事件抽取模板可以具有相对应的属性抽取器。属性抽取器可以用于指示从与该属性抽取器相对应的事件抽取模板所匹配的分词结果中抽取事件属性数据的规则。事件属性数据可以包括一个或多个属性名称以及与每个属性名称相对应的属性内容。那么,属性抽取器也可以理解为指示从与相应的事件抽取模板匹配的分词结果中抽取属性内容的规则。
可见,在本发明实施例中,利用属性抽取器对事件属性数据进行抽取,在实现上简单方便。
在另一实施例中,属性抽取器可以表示为至少一个属性名称和至少一个元素索引之间的映射关系。每个元素索引可以指示与该属性抽取器相对应的事件抽取模板中的一个模板元素。这种映射关系可以用于指示与每个属性名称相对应的属性内容为与该属性名称相映射的元素索引指示的模板元素所匹配的词汇。
例如,属性抽取器可以表示为:field_name:element_inde。其中,field_name可以表示属性名称,element_index可以表示元素索引。那么,在所抽取的事件属性数据中,field_name表示的属性名称对应的属性内容可以是与相应的事件抽取模板中的第element_index个模板元素匹配的词汇。
比如,属性抽取器可以表示为:“主体公司:0,股权比例:2”。假设分词结果已经和该属性抽取器对应的事件抽取模板匹配成功,则利用该属性抽取器抽取的事件属性数据中,主体公司的公司名称可以是分词结果中的与事件抽取模板中的第0个模板元素匹配的词汇,股权比例的具体内容可以是分词结果中的与事件抽取模板中的第2个模板元素匹配的词汇。
接下来继续描述图1中的步骤。在步骤120中,可以将分词结果与预定义的事件抽取模板集合进行逐一匹配,确定是否与某个事件抽取模板匹配成功。例如,可以将分词结果中的各个词汇与事件抽取模板中的模板元素进行逐个匹配。在步骤130中,可以确定分词结果与特定事件抽取模板匹配成功。例如,分词结果中的各个词汇与该特定事件抽取模板中的模板元素分别匹配成功。
在这种情况下,可以抽取事件属性数据。如上所述,在步骤130中的事件属性数据可以包括一个或多个属性名称以及与每个属性名称对应的属性内容。具体而言,在步骤130中,利用与该特定事件抽取模板相对应的属性抽取器,从该分词结果中抽取与每个属性名称相对应的属性内容,其中,该属性抽取器用于表示抽取与每个属性名称相对应的属性内容的规则。
在另一实施例中,如上所述,步骤130中使用的该属性抽取器表示为至少一个属性名称与至少一个元素索引之间的映射关系,其中,每个元素索引用于指示特定事件抽取模板中的一个模板元素,该映射关系用于指示与每个属性名称对应的属性内容为上述分词结果中的与该属性名称相映射的元素索引指示的模板元素所匹配的词汇。
可见,本发明实施例中的抽取事件属性数据的方式实现简单,而且准确率高。
下面将结合具体例子来描述本发明实施例。应当理解的是,以下例子仅是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
图2是根据本发明实施例的用于事件抽取的方法的一个例子的示意图。
在图2中,为了呈现的简洁,未示出目标文本。
如图2所示,在步骤210中,在对目标文本进行正文提取后,所得到的正文是“上海XX公司40%股权挂牌转让”。
在步骤220中,对所提取的正文进行实体识别。例如,识别出实体类型为“COMPANY”,占用第1至6个字符。识别出百分比为“PERCENT”,占用第7至9个字符。此处将百分比也定义为一种实体类型。应当理解的是,实体类型可以根据实际情况来定义,本发明实施例对此不作限定。
在步骤230中,在进行实体识别之后,对正文进行中文分词,得到分词结果。例如,如图2所示,分词结果可以包括“上海XX公司”、“40%”、“股权”、“挂牌”和“转让”。在图2中,“DEF”可以表示默认(default)值。
在步骤240中,将分词结果与预定义的事件抽取模板集合进行匹配之后,确定分词结果与针对事件类型“股权出让”构建的事件抽取模板匹配成功。如图2所示,事件抽取模板可以表示为“<COMPANY>{0,5}<PERCENT>{0,5}(股权){0,5}(转让)”,分词结果中的各个词汇可以与该事件抽取模板中的各个模板元素分别匹配成功。
在步骤250中,利用与该事件抽取模板相对应的属性抽取器来抽取事件属性数据。在图2的例子中,属性抽取器可以表示为“主体公司:0,股权比例:2”。也就是说,主体公司的公司名称为与第0个模板元素所匹配的词汇,股权比例的具体内容为与第2个模板元素所匹配的词汇。那么,如图2所示,所得到的事件属性数据可以表示为:
事件类型:股权出让
主体公司:上海XX公司
股权比例:40%
可见,在本发明实施例中,由于事件抽取模板的模板元素是基于词汇来构建的,所以通过将目标文本的分词结果与事件抽取目标进行匹配来实现事件抽取,不仅实现简单,而且能够减少误差,从而能够提高事件抽取准确率。此外,本发明实施例的技术方案还能够节省计算资源,降低对技术人员的要求。同时,在本发明实施例中,基于词汇的事件抽取模板并没有词性等约束限制,所以在实现上更为灵活,而且能够表达的事件类型更为丰富。
图3是根据本发明实施例的用于事件抽取的装置的示意框图。图3的装置300可以利用软件、硬件(例如集成电路或DSP等)或软硬件结合的方式来实现。
如图3所示,装置300可以包括文本处理单元310、匹配单元320和数据生成单元330。文本处理单元310对目标文本进行处理,以获得目标文本的分词结果,其中,分词结果包括至少一个词汇。匹配单元320将分词结果与预定义的事件抽取模板集合进行匹配,其中,事件抽取模板集合中的每个事件抽取模板的模板元素是基于词汇来构建的。数据生成单元330在分词结果与事件抽取模板集合中的特定事件抽取模板匹配成功的情况下,基于分词结果和特定事件抽取模板来生成事件属性数据,其中,事件属性数据用于表示目标文本中描述的事件的属性。
可见,在本发明实施例中,由于事件抽取模板的模板元素是基于词汇来构建的,所以通过将目标文本的分词结果与事件抽取目标进行匹配来实现事件抽取,不仅实现简单,而且能够减少误差,从而能够提高事件抽取准确率。此外,本发明实施例的技术方案还能够节省计算资源,降低对技术人员的要求。同时,在本发明实施例中,基于词汇的事件抽取模板并没有词性等约束限制,所以在实现上更为灵活,而且能够表达的事件类型更为丰富。
在一个实施例中,每个事件抽取模板可以表示为由至少一个模板元素构成的有序序列,至少一个模板元素中的每个模板元素可以属于以下三种类型中的一种类型:词汇匹配符、实体匹配符和通配符。词汇匹配符可以用于指示事件关键信息,实体匹配符可以用于指示事件关键实体。
在另一实施例中,词汇匹配符可以包括一个或多个事件关键词汇。实体匹配符可以包括一个或多个实体类型表示。通配符可以包括要匹配的最少词汇数量和最多词汇数量。
在另一实施例中,每个事件抽取模板可以与一种事件类型相对应。每个事件抽取模板的模板元素可以是基于语料集来形成的,语料集可以是从描述事件类型的一组文本中提取的。
在另一实施例中,事件属性数据可以包括一个或多个属性名称以及与一个或多个属性名称中的每个属性名称相对应的属性内容。数据生成单元330可以利用与特定事件抽取模板相对应的属性抽取器,从分词结果中抽取与每个属性名称相对应的属性内容。属性抽取器用于表示抽取与每个属性名称相对应的属性内容的规则。
在另一实施例中,属性抽取器可以表示为至少一个属性名称与至少一个元素索引之间的映射关系。至少一个元素索引中的每个元素索引可以用于指示特定事件抽取模板中的一个模板元素,映射关系用于指示与至少一个属性名称中的每个属性名称对应的属性内容为分词结果中的与该属性名称相映射的元素索引指示的模板元素所匹配的词汇。
在另一实施例中,文本处理单元310可以对目标文本进行正文提取、实体识别和中文分词处理,以获得分词结果。
装置300的各个单元可以执行图1和2的方法实施例中的相应步骤,因此,为了描述的简洁,装置300的各个单元的具体操作和功能此处不再赘述。
图4是根据本发明实施例的用于事件抽取的装置的示意框图。
如图4所示,装置400可以包括至少一个处理器410和存储器420。存储器420可以与至少一个处理器410耦合,其存储有可执行指令。
例如,处理器410可以包括但不限于,中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital SignalProcessor,DSP)、微处理器等等。
存储器420可以包括但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-ErasableProgrammable Read-Only Memory,EEPROM)、静态随机存取存储器(Static Random AccessMemory,SRAM)、移动硬盘等等。
可执行指令在被至少一个处理器410执行时,可以实现结合图1和2描述的方法的具体过程。为了描述的简洁,此处不再赘述。
本发明实施例还提供一种计算机可读介质。例如,计算机可读介质可以包括但不限于磁存储设备、光存储设备等等。计算机可读介质可以存储有计算机程序,计算机程序在由计算机执行时可以实现结合图1和2所描述的具体过程。例如,计算机可以包括各种类型的计算设备或处理设备,比如台式计算机、膝上型计算机、智能电话等等。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,本领域技术人员从中推导出来的其它方案也在本发明的保护范围之内。