金融命名实体识别方法及系统、存储介质及终端

文档序号:1831805 发布日期:2021-11-12 浏览:6次 >En<

阅读说明:本技术 金融命名实体识别方法及系统、存储介质及终端 (Financial named entity identification method and system, storage medium and terminal ) 是由 周凯敏 张秀龙 于 2021-08-10 设计创作,主要内容包括:本发明提供一种金融命名实体识别方法及系统、存储介质及终端,包括以下步骤:对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库;构建金融命名实体的实体词候选模型;基于所述实体词候选模型,在待识别文本中筛选出候选实体词;基于所述拓展实体词数据库验证所述候选实体词;对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果。本发明的金融命名实体识别方法及系统、存储介质及终端有效提高了金融命名实体的覆盖率,实现了金融命名实体的快速高效识别。(The invention provides a financial named entity identification method and system, a storage medium and a terminal, comprising the following steps: expanding the entity words in the financial named entity database to generate an expanded entity word database; constructing an entity word candidate model of the financial named entity; screening candidate entity words from the text to be recognized based on the entity word candidate model; verifying the candidate entity words based on the expanded entity word database; and carrying out disambiguation processing on the verified candidate entity words to obtain the identification result of the financial named entity in the text to be identified. The financial named entity identification method and system, the storage medium and the terminal effectively improve the coverage rate of the financial named entity and realize the quick and efficient identification of the financial named entity.)

金融命名实体识别方法及系统、存储介质及终端

技术领域

本发明涉及命名实体识别的技术领域,特别是涉及一种金融命名实体识别方法及系统、存储介质及终端。

背景技术

命名实体就是人名、机构名、地名以及其他所有以名称为标识的实体。命名实体识别是指识别文本中具有特定意义的实体,是自然语言处理中的一项基础性关键任务。

金融命名实体识别是针对金融领域内的特定意义的命名实体进行识别。其中,金融命名实体主要包括股票、基金、债券、公司和组织机构。金融命名实体识别在金融资讯分类、资讯中的关键词提取起着重要作用,也是金融相关文本解析中事件抽取、关系抽取的基石。

现有技术中,命名实体识别主要采用以下四种方法:

(1)基于词典的方法;

(2)基于规则的方法

(3)基于概率模型的方法

(4)基于深度学习的方法。

然而,对于数量级较大的金融命名实体,现有的识别方法存在覆盖率较低、速度较慢的问题。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种金融命名实体识别方法及系统、存储介质及终端,有效提高了金融命名实体的覆盖率,实现了金融命名实体的快速高效识别。

为实现上述目的及其他相关目的,本发明提供一种金融命名实体识别方法,包括以下步骤:对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库;构建金融命名实体的实体词候选模型;基于所述实体词候选模型,在待识别文本中筛选出候选实体词;基于所述拓展实体词数据库验证所述候选实体词;对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果。

于本发明一实施例中,对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库包括以下步骤:

根据实体词类型优先级依次获取待拓展实体词;

对于包含公司后缀的所述待拓展实体词,判断去除所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中;

对于包含地名前缀的所述待拓展实体词,判断去除所述地名前缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀的待拓展实体词添加至所述拓展实体词数据库中;

对于包含地名前缀和公司后缀的所述待拓展实体词,判断去除所述地名前缀和所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀和所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中。

于本发明一实施例中,所述实体词类型优先级从高到低依次为上市公司、发行金融产品的非上式公司和不发行金融产品的非上市公司;不发行金融产品的非上市公司根据注册资本划分优先级。

于本发明一实施例中,构建金融命名实体的实体词候选模型包括以下步骤:

设定实体词的首两字和尾两字,并确定包含所述首两字和所述尾两字的实体词最大长度;

将所述实体词基于MD5算法映射为128比特的数据;

将所述128比特的数据按照顺序等分为4个32比特的数据;

对于每个32比特的数据,将前27比特数据对应为一227个元素且初始值为0的整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位并将所述末5映射位置1;所述末5映射位是以后5比特数据转换得到0-31的数值对应的所述整型元素由后向前的比特位。

于本发明一实施例中,基于所述实体词候选模型,在待识别文本中筛选出候选实体词包括以下步骤:

以两个字为窗口遍历所述待识别文本,基于设定的首两字、尾两字以及所述实体词最大长度,筛选疑似实体词;

对于每个所述疑似实体词,基于MD5算法映射为128比特的数据;将所述128比特的数据按照顺序等分为4个32比特的数据;对于每个32比特的数据,将前27比特数据对应为是整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位;

在所述实体词候选模型中查找与所述疑似实体词的四个整型元素的末5映射位对应的比特位,仅当四个比特位均为1时,判定所述疑似实体词为候选实体词。

于本发明一实施例中,基于所述拓展实体词数据库验证所述候选实体词包括以下步骤:

令所述拓展实体词数据库中同一金融命名实体对应的实体词具有相同的唯一标识信息;

在所述拓展实体词数据库中查找所述候选实体词对应的唯一标识信息和金融命名实体全称;若查找成功,则所述候选实体词验证通过。

于本发明一实施例中,对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果包括以下步骤:

判断所述候选实体词是否为已标注的歧义实体词;

若是已标注的歧义实体词,获取所述候选实体词所在句子及前后句子作为语料s*;对所述语料进行分词,得到词w1*,w2*…wn*;分别计算所述候选实体词存在歧义的概率P(c0|s*)和不存在歧义的概率P(c1|s*);其中,P(c0|s*)=P(c0|w1*)P(c0|w2*)…P(c0|wn*);P(c1|s*)=P(c1|w1*)P(c1|w2*)…P(c1|wn*);P(c0|wa*)和P(c1|wa*)分别为词wa存在歧义和不存在歧义的概率,a=1、2…n;

当P(c0|s*)>P(c1|s*)时,判定所述候选实体词为歧义词;否则判定所述候选实体词为所述识别结果。

于本发明一实施例中,基于Elastic Search构建所述拓展实体词数据库。

于本发明一实施例中,基于Hbase和Redis存储所述实体词候选模型。

本发明提供一种金融命名实体识别系统,包括拓展模块、构建模块、筛选模块、验证模块和消歧模块;

所述拓展模块用于对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库;

所述构建模块用于构建金融命名实体的实体词候选模型;

所述筛选模块用于基于所述实体词候选模型,在待识别文本中筛选出候选实体词;

所述验证模块用于基于所述拓展实体词数据库验证所述候选实体词;

所述消歧模块用于对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果。

于本发明一实施例中,所述拓展模块对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库包括以下步骤:

根据实体词类型优先级依次获取待拓展实体词;

对于包含公司后缀的所述待拓展实体词,判断去除所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中;

对于包含地名前缀的所述待拓展实体词,判断去除所述地名前缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀的待拓展实体词添加至所述拓展实体词数据库中;

对于包含地名前缀和公司后缀的所述待拓展实体词,判断去除所述地名前缀和所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀和所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中。

于本发明一实施例中,所述实体词类型优先级从高到低依次为上市公司、发行金融产品的非上式公司和不发行金融产品的非上市公司;不发行金融产品的非上市公司根据注册资本划分优先级。

于本发明一实施例中,所述构建模块构建金融命名实体的实体词候选模型包括以下步骤:

设定实体词的首两字和尾两字,并确定包含所述首两字和所述尾两字的实体词最大长度;

将所述实体词基于MD5算法映射为128比特的数据;

将所述128比特的数据按照顺序等分为4个32比特的数据;

对于每个32比特的数据,将前27比特数据对应为一227个元素且初始值为0的整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位并将所述末5映射位置1;所述末5映射位是以后5比特数据转换得到0-31的数值对应的所述整型元素由后向前的比特位。

于本发明一实施例中,所述筛选模块基于所述实体词候选模型,在待识别文本中筛选出候选实体词包括以下步骤:

以两个字为窗口遍历所述待识别文本,基于设定的首两字、尾两字以及所述实体词最大长度,筛选疑似实体词;

对于每个所述疑似实体词,基于MD5算法映射为128比特的数据;将所述128比特的数据按照顺序等分为4个32比特的数据;对于每个32比特的数据,将前27比特数据对应为所述整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位;

在所述实体词候选模型中查找与所述疑似实体词的四个整型元素的末5映射位对应的比特位,仅当四个比特位均为1时,判定所述疑似实体词为候选实体词。

于本发明一实施例中,所述验证模块基于所述拓展实体词数据库验证所述候选实体词包括以下步骤:

令所述拓展实体词数据库中同一金融命名实体对应的实体词具有相同的唯一标识信息;

在所述拓展实体词数据库中查找所述候选实体词对应的唯一标识信息和金融命名实体全称;若查找成功,则所述候选实体词验证通过。

于本发明一实施例中,所述识别模块对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果包括以下步骤:

判断所述候选实体词是否为已标注的歧义实体词;

若是已标注的歧义实体词,获取所述候选实体词所在句子及前后句子作为语料s*;对所述语料进行分词,得到词w1*,w2*…wn*;分别计算所述候选实体词存在歧义的概率P(c0|s*)和不存在歧义的概率P(c1|s*);其中,P(c0|s*)=P(c0|w1*)P(c0|w2*)…P(c0|wn*);P(c1|s*)=P(c1|w1*)P(c1|w2*)…P(c1|wn*);P(c0|wa*)和P(c1|wa*)分别为词wa存在歧义和不存在歧义的概率,a=1、2…n;

当P(c0|s*)>P(c1|s*)时,判定所述候选实体词为歧义词;否则判定所述候选实体词为所述识别结果。

于本发明一实施例中,所述拓展模块基于Elastic Search构建所述拓展实体词数据库。

于本发明一实施例中,所述构建模块基于Hbase和Redis存储所述实体词候选模型。

本发明提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的金融命名实体识别方法。

本发明提供一种金融命名实体识别终端,包括:处理器及存储器;

所述存储器用于存储计算机程序;

所述处理器用于执行所述存储器存储的计算机程序,以使所述金融命名实体识别终端执行上述的金融命名实体识别方法。

如上所述,本发明的金融命名实体识别方法及系统、存储介质及终端,具有以下有益效果:

(1)通过金融命名实体词的扩展,能够获得更高的覆盖率;

(2)通过候选词模型支持海量实体词的快速候选词匹配,能够快速筛选出金融命名实体词,加快了识别速度;

(3)通过消歧算法,解决了歧义实体词的问题。

附图说明

图1显示为本发明的金融命名实体识别方法于一实施例中的流程图;

图2显示为本发明的实体词拓展于一实施例中流程图;

图3显示为本发明的实体词候选模型构建于一实施例中的流程图;

图4显示为本发明的金融命名实体识别系统于一实施例中的结构示意图;

图5显示为本发明的金融命名实体识别终端于一实施例中的结构示意图。

元件标号说明

41 拓展模块

42 构建模块

43 筛选模块

44 验证模块

45 消歧模块

51 处理单元

52 存储器

521 随机存取存储器

522 高速缓存存储器

523 存储系统

524 程序/实用工具

5241 程序模块

53 总线

54 I/O接口

55 网络适配器

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明的金融命名实体识别方法及系统、存储介质及终端通过实体词拓展、候选词筛选、歧义词消除等方式,有效提高了金融命名实体的覆盖率,实现了金融命名实体的快速高效识别,适用于海量数据中的金融命名实体识别,极具实用性。

如图1所示,于一实施例中,本发明的金融命名实体识别方法包括以下步骤:

步骤S1、对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库。

具体地,所述金融命名实体数据库中包含有金融命名实体的唯一标识信息、实体名称全称、有约定俗成简称的实体的实体名称简称。优选地,所述唯一标识信息采用唯一编码。基于所述金融命名实体数据库进行金融命名实体识别时,存在覆盖率低的问题。故本发明需要对所述金融命名实体数据库进行拓展,以实现实体词的进一步拓展。

在本发明中,实体词拓展主要对公司类型实体词进行处理,按照实体词类型的优化级依次进行。在进行实体词拓展时,对每个实体词依次进行公司后缀拓展、地名前缀拓展,地名前缀和公司后缀一同拓展。例如,“珠海格力电器股份有限公司”通过拓展可以得到以下拓展实体词:珠海格力电器、格力电器股份有限公司、格力电器。拓展完毕后,所述拓展实体词数据块中包含有实体名称全称、实体名称简称以及拓展实体名称。

于本发明一实施例中,对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库包括以下步骤:

11)根据实体词类型优先级依次获取待拓展实体词。

其中,上市公司优先级大于非上市公司,非上市公司中发行金融产品的优先级大于不发行的,不发行金融产品的之间可以按照注册资本划分优先级。

12)对于包含公司后缀的所述待拓展实体词,判断去除所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中。

13)对于包含地名前缀的所述待拓展实体词,判断去除所述地名前缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀的待拓展实体词添加至所述拓展实体词数据库中。

14)对于包含地名前缀和公司后缀的所述待拓展实体词,判断去除所述地名前缀和所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀和所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中。

优先地,基于Elastic Search构建所述拓展实体词数据库。Elastic Search是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elastic Search是用Java语言开发的,并作为Apache许可条款下的开放源码发布,其用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

步骤S2、构建金融命名实体的实体词候选模型。

具体地,为了快速定位待识别文本中的实体词,本发明设置了实体词候选模型,以便于后续的候选实体词识别。优选地,所述实体词候选模型存储至Hbase和Redis,并在使用时加载在内存中使用。其中,HBase是一个分布式的、面向列的开源数据。HBase在Hadoop之上提供了类似于Bigtable的能力,不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

于本发明一实施例中,如图3所示,构建金融命名实体的包括以下步骤:

21)设定实体词的首两字和尾两字,并确定包含所述首两字和所述尾两字的实体词最大长度。

具体地,对所述拓展实体词数据库中的实体词进行统计分析,获取首两字和尾两字,并确定包含所述首两字和所述尾两字的实体词最大长度,以便于后续的实体词定位。

需要说明的是,不同的首尾字数,对于硬件开销和定位效果有着不同的影响。通常地首尾字数越多那么硬件开销会比较大、定位效果会比较好,为了平衡硬件开销和定位效果,本发明定义了一个开销-困惑度函数。按照不同首尾字数统计首尾字数量len_sw、len_ew’,len_sw,其中,len_sw表示字数为w的首字数量,len_ew’表示字数为w′的尾字数量。统计首尾字对应实体词数量,从而计算不同字数情况下首尾字对应实体词数的均值ave_sw、ave_ew‘,ave_sw表示字数为w的首字对应实体词数的均值,ave_ew‘表示字数为w′的尾字对应实体词数的均值。那么开销-困惑度函数为Efv=log2(len_sw*len_ew′)+log10(ave_sw*ave_ew′)2,前半部分为开销,后半部分为困惑度。取开销-困惑度函数值小的w和w′的组合为优选参数。需要依照不同实际情况计算选取优选参数。经过计算当首字数取w=2,尾字数取w′=2为优选参数。

22)将所述实体词基于MD5算法映射为128比特的数据。

具体地,将实体词通过哈希算法将实体词映射到一段固定长度数据时,由于是从无限的空间映射到了某一有限空间,可能会发生碰撞。即不同的内容对应到有限空间的同一个数据。通常有限空间的长度越长碰撞概率越小。综合存储空间和碰撞概率的考虑,本发明采用MD5(Message-Digest Algorithm)散列算法。其中,MD5散列算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。故基于MD5算法将所述拓展实体词数据库中的实体词映射为一128比特的数据,即MD5 VALUE 128BIT BYTE[16]。

23)将所述128比特的数据按照顺序等分为4个32比特的数据。

具体地,为了快速查找,需要将128比特的数据对应到某一bit上,那就需要2^128bit的存储空间。为了压缩这一存储空间同时降低压缩空间带来的碰撞概率上升的问题,本发明将128bit的数据切分成4份,每份用一个2^27长的整型数组进行存储,从而得到MD5 VALUE 128BIT[0-3]32BIT、MD5 VALUE 128BIT[4-7]32BIT、MD5 VALUE 128BIT[8-11]32BIT和MD5 VALUE 128BIT[12-15]32BIT。优选地,将四个整型数组记为hash[i],(i=0,1,2,3)。

24)对于每个32比特的数据,将前27比特数据对应为一227个元素且初始值为0的整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位并将所述末5映射位置1;所述末5映射位是以后5比特数据转换得到0-31的数值对应的所述整型元素由后向前的比特位。

具体地,对于每个32比特的数据,前27比特数据(MD5 VALUE 27BIT)可以通过一个227个元素且初始值都为0的整型数组来记录。其中,前27比特数据可以对应为整型数组的下标。后5比特数据(MD5 VALUE 5BIT)的大小为0-31之间的整数,故可以通过一个整型元素(32bit)来表示。其中,后5比特数据的大小对应的整型元素的比特位设置为末5映射位并将所述末5映射位置为1。例如,当所述后5比特数据为00001时,大小为1,则所述整型元素的第1位设置为1;当所述后5比特数据为00110时,大小为6,则所述整型元素的第6位设置为1。

步骤S3、基于所述实体词候选模型,在待识别文本中筛选出候选实体词。

具体地,对于所述待识别文本,采用所述实体词候选模型来筛选出候选实体词。

于本发明一实施例中,基于所述实体词候选模型,在待识别文本中筛选出候选实体词包括以下步骤:

31)以两个字为窗口遍历所述待识别文本,基于设定的首两字、尾两字以及所述实体词最大长度,筛选疑似实体词。

具体地,利用实体词候选模型设定的首两字、尾两字和实体词最大长度,以两个字为窗口遍历所述待识别文本,获取长度不超过所述实体词最大长度,首两字和尾两字匹配的疑似实体词。

32)对于每个所述疑似实体词,基于MD5算法映射为128比特的数据;将所述128比特的数据按照顺序等分为4个32比特的数据;对于每个32比特的数据,将前27比特数据对应为所述整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位。

具体地,类似实体词候选模型的处理方式,将所述疑似实体词映射至所述实体词候选模型的四个整型数组。

33)在所述实体词候选模型中查找与所述疑似实体词的四个整型元素的末5映射位对应的比特位,仅当四个比特位均为1时,判定所述疑似实体词为候选实体词。

具体地,对于所述疑似实体词的四个整型元素的末5映射位,依次在所述实体词候选模型的整型数组中查找四个整型元素中末5映射位对应的比特位,当四个末5映射位对应的比特位均为1时若,表明所述疑似实体词为候选实体词;若一个或多个末5映射位对应的比特位不为1,判定所述疑似实体词不为候选实体词。

步骤S4、基于所述拓展实体词数据库验证所述候选实体词。

具体地,对于所获取的候选实体词,在所述拓展实体词数据库中进行验证,验证其是否记录在所述拓展实体词数据库中。若是,则验证通过;若否,则验证失败。

于本发明一实施例中,基于所述拓展实体词数据库验证所述候选实体词包括以下步骤:

41)令所述拓展实体词数据库中同一金融命名实体对应的实体词具有相同的唯一标识信息。

当基于Elastic Search构建所述拓展实体词数据库时,所述Elastic Search构建包含所述唯一标识信息的实体词索引,以便于后续的实体词查询。其中,所述拓展实体词数据库中同一金融命名实体对应的实体词(如实体全称、实体简称、实体别称)具有相同的唯一标识信息。

42)在所述拓展实体词数据库中查找所述候选实体词对应的唯一标识信息和金融命名实体全称;若查找成功,则所述候选实体词验证通过;若查找识别,则所述候选实体词验证识别。

步骤S5、对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果。

于本发明一实施例中,对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果包括以下步骤:

51)根据所述唯一标识信息和金融命名实体全称判断所述候选实体词是否为已标注的歧义实体词。

具体地,预先采集有歧义的实体词相关语料,语料为包含歧义实体词的文本。通过人工标注的方式确定具有歧义的实体词是否指对应实体,从而以所述唯一标识信息和金融命名实体全称为索引,构建歧义实体词的标注集。例如,语料“苹果开发者大会又要来了,苹果为什么越来越重视软件?”这里苹果指的是金融实体苹果公司,“宝鸡市千阳县强力推进苹果产业转型升级”这里苹果为非金融实体。

52)若是已标注的歧义实体词,获取所述候选实体词所在句子及前后句子作为语料s*;对所述语料进行分词,得到词w1*,w2*…wn*;分别计算所述候选实体词存在歧义的概率P(c0|s*)和不存在歧义的概率P(c1|s*);其中,P(c0|s*)=P(c0|w1*)P(c0|w2*)…P(c0|wn*);P(c1|s*)=P(c1|w1*)P(c1|w2*)…P(c1|wn*);P(c0|wa*)和P(c1|wa*)分别为词wa存在歧义和不存在歧义的概率,a=1、2…n。

具体地,采用条件随机场(Conditional Random Field,CRF)算法进行分词。设某一句语料si的分词结果为w1,w2…wn,如果句子中的歧义词对应不是实体,那么认为这个句子为歧义c0类,反之则为非歧义c1类。w1出现在了语料中的K个句子中,其中k0个为非对应实体,即是c0类的;k1个为对应实体,即是c1类的。故概率P(c0|w1)=k0/(k0+k1)及P(c1|w1)=k1/(k0+k1)。

53)当P(c0|s*)>P(c1|s*)时,判定所述候选实体词为歧义词;否则判定所述候选实体词为所述识别结果。

如图4所示,于一实施例中,本发明的金融命名实体识别系统包括拓展模块41、构建模块42、筛选模块43、验证模块44和消歧模块45。

所述拓展模块41用于对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库。

具体地,所述金融命名实体数据库中包含有金融命名实体的唯一标识信息、实体名称全称、有约定俗成简称的实体名称简称。优选地,所述唯一标识信息采用唯一编码。基于所述金融命名实体数据库进行金融命名实体识别时,存在覆盖率低的问题。故本发明需要对所述金融命名实体数据库进行拓展,以实现实体词的进一步拓展。

在本发明中,实体词拓展主要对公司类型实体词进行处理,按照实体词类型的优化级依次进行。在进行实体词拓展时,对每个实体词依次进行公司后缀拓展、地名前缀拓展,地名前缀和公司后缀一同拓展。例如,“珠海格力电器股份有限公司”通过拓展可以得到以下拓展实体词:珠海格力电器、格力电器股份有限公司、格力电器。拓展完毕后,所述拓展实体词数据块中包含有实体名称全称、实体名称简称以及拓展实体名称。

于本发明一实施例中,对金融命名实体数据库中的实体词进行扩展,生成拓展实体词数据库包括以下步骤:

11)根据实体词类型优先级依次获取待拓展实体词。

其中,上市公司优先级大于非上市公司,非上市公司中发行金融产品的优先级大于不发行的,不发行金融产品的之间可以按照注册资本划分优先级。

12)对于包含公司后缀的所述待拓展实体词,判断去除所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中。

13)对于包含地名前缀的所述待拓展实体词,判断去除所述地名前缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀的待拓展实体词添加至所述拓展实体词数据库中。

14)对于包含地名前缀和公司后缀的所述待拓展实体词,判断去除所述地名前缀和所述公司后缀的待拓展实体词是否已包含在所述拓展实体词数据库中;若否,将去除所述地名前缀和所述公司后缀的待拓展实体词添加至所述拓展实体词数据库中。

优先地,基于Elastic Search构建所述拓展实体词数据库。Elastic Search是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elastic Search是用Java语言开发的,并作为Apache许可条款下的开放源码发布,其用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

所述构建模块42与所述拓展模块41相连,用于构建金融命名实体的实体词候选模型。

具体地,为了快速定位待识别文本中的实体词,本发明设置了实体词候选模型,以便于后续的候选实体词识别。优选地,所述实体词候选模型存储至Hbase和Redis,并在使用时加载在内存中使用。其中,HBase是一个分布式的、面向列的开源数据。HBase在Hadoop之上提供了类似于Bigtable的能力,不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

于本发明一实施例中,如图3所示,构建金融命名实体的包括以下步骤:

21)设定实体词的首两字和尾两字,并确定包含所述首两字和所述尾两字的实体词最大长度。

具体地,对所述拓展实体词数据库中的实体词进行统计分析,获取首两字和尾两字,并确定包含所述首两字和所述尾两字的实体词最大长度,以便于后续的实体词定位。

需要说明的是,不同的首尾字数,对于硬件开销和定位效果有着不同的影响。通常地首尾字数越多那么硬件开销会比较大、定位效果会比较好,为了平衡硬件开销和定位效果,本发明定义了一个开销-困惑度函数。按照不同首尾字数统计首尾字数量len_sw、len_ew’,len_sw,其中,len_sw表示字数为w的首字数量,len_ew’表示字数为w′的尾字数量。统计首尾字对应实体词数量,从而计算不同字数情况下首尾字对应实体词数的均值ave_sw、ave_ew‘,ave_sw表示字数为w的首字对应实体词数的均值,ave_ew‘表示字数为w′的尾字对应实体词数的均值。那么开销-困惑度函数为Efv=log2(len_sw*len_ew′)+log10(ave_sw*ave_ew′)2,前半部分为开销,后半部分为困惑度。取开销-困惑度函数值小的w和w′的组合为优选参数。需要依照不同实际情况计算选取优选参数。经过计算当首字数取w=2,尾字数取w′=2为优选参数。

22)将所述实体词基于MD5算法映射为128比特的数据。

具体地,将实体词通过哈希算法将实体词映射到一段固定长度数据时,由于是从无限的空间映射到了某一有限空间,可能会发生碰撞。即不同的内容对应到有限空间的同一个数据。通常有限空间的长度越长碰撞概率越小。综合存储空间和碰撞概率的考虑,本发明采用MD5(Message-Digest Algorithm)散列算法。其中,MD5散列算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。故基于MD5算法将所述拓展实体词数据库中的实体词映射为一128比特的数据,即MD5 VALUE 128BIT BYTE[16]。

23)将所述128比特的数据按照顺序等分为4个32比特的数据。

具体地,为了快速查找,需要将128比特的数据对应到某一bit上,那就需要2^128bit的存储空间。为了压缩这一存储空间同时降低压缩空间带来的碰撞概率上升的问题,本发明将128bit的数据切分成4份,每份用一个2^27长的整型数组进行存储,从而得到MD5 VALUE 128BIT[0-3]32BIT、MD5 VALUE 128BIT[4-7]32BIT、MD5 VALUE 128BIT[8-11]32BIT和MD5 VALUE 128BIT[12-15]32BIT。优选地,将四个整型数组记为hash[i],(i=0,1,2,3)。

24)对于每个32比特的数据,将前27比特数据对应为一227个元素且初始值为0的整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位并将所述末5映射位置1;所述末5映射位是以后5比特数据转换得到0-31的数值对应的所述整型元素由后向前的比特位。

具体地,对于每个32比特的数据,前27比特数据(MD5 VALUE 27BIT)可以通过一个227个元素且初始值都为0的整型数组来记录。其中,前27比特数据可以对应为整型数组的下标。后5比特数据(MD5 VALUE 5BIT)的大小为0-31之间的整数,故可以通过一个整型元素(32bit)来表示。其中,后5比特数据的大小对应的整型元素的比特位设置为末5映射位并将所述末5映射位置为1。例如,当所述后5比特数据为00001时,大小为1,则所述整型元素的第1位设置为1;当所述后5比特数据为00110时,大小为6,则所述整型元素的第6位设置为1。所述筛选模块43与所述构建模块42相连,用于基于所述实体词候选模型,在待识别文本中筛选出候选实体词。

具体地,对于所述待识别文本,采用所述实体词候选模型来筛选出候选实体词。

于本发明一实施例中,基于所述实体词候选模型,在待识别文本中筛选出候选实体词包括以下步骤:

31)以两个字为窗口遍历所述待识别文本,基于设定的首两字、尾两字以及所述实体词最大长度,筛选疑似实体词。

具体地,利用实体词候选模型设定的首两字、尾两字和实体词最大长度,以两个字为窗口遍历所述待识别文本,获取长度不超过所述实体词最大长度,首两字和尾两字匹配的疑似实体词。

32)对于每个所述疑似实体词,基于MD5算法映射为128比特的数据;将所述128比特的数据按照顺序等分为4个32比特的数据;对于每个32比特的数据,将前27比特数据对应为所述整型数组的下标,后5比特数据映射为所述下标对应的整型元素对应的末5映射位。

具体地,类似实体词候选模型的处理方式,将所述疑似实体词映射至所述实体词候选模块的四个整型数组。

33)在所述实体词候选模型中查找与所述疑似实体词的四个整型元素的末5映射位对应的比特位,仅当四个比特位均为1时,判定所述疑似实体词为候选实体词。

具体地,对于所述疑似实体词的四个整型元素的末5映射位,依次在所述实体词候选模型的整型数组中查找四个整型元素中末5映射位对应的比特位,当四个末5映射位对应的比特位均为1时若,表明所述疑似实体词为候选实体词;若一个或多个末5映射位对应的比特位不为1,判定所述疑似实体词不为候选实体词。

所述验证模块44与所述拓展模块41和所述筛选模块43相连,用于基于所述拓展实体词数据库验证所述候选实体词。

具体地,对于所获取的候选实体词,在所述拓展实体词数据库中进行验证,验证其是否记录在所述拓展实体词数据库中。若是,则验证通过;若否,则验证失败。

于本发明一实施例中,基于所述拓展实体词数据库验证所述候选实体词包括以下步骤:

41)令所述拓展实体词数据库中同一金融命名实体对应的实体词具有相同的唯一标识信息。

当基于Elastic Search构建所述拓展实体词数据库时,所述Elastic Search构建包含所述唯一标识信息的实体词索引,以便于后续的实体词查询。其中,所述拓展实体词数据库中同一金融命名实体对应的实体词(如实体全称、实体简称、实体别称)具有相同的唯一标识信息。

42)在所述拓展实体词数据库中查找所述候选实体词对应的唯一标识信息和金融命名实体全称;若查找成功,则所述候选实体词验证通过;若查找识别,则所述候选实体词验证识别。

所述识别模块45与所述验证模块44相连,用于对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果。

于本发明一实施例中,对通过验证的候选实体词进行消歧处理,获取所述待识别文本中的金融命名实体的识别结果包括以下步骤:

51)根据所述唯一标识信息和金融命名实体全称判断所述候选实体词是否为已标注的歧义实体词。

具体地,预先采集有歧义的实体词相关语料,语料为包含歧义实体词的文本。通过人工标注的方式确定具有歧义的实体词是否指对应实体,从而以所述唯一标识信息和金融命名实体全称为索引,构建歧义实体词的标注集。例如,语料“苹果开发者大会又要来了,苹果为什么越来越重视软件?”这里苹果指的是金融实体苹果公司,“宝鸡市千阳县强力推进苹果产业转型升级”这里苹果为非金融实体。

52)若是已标注的歧义实体词,获取所述候选实体词所在句子及前后句子作为语料s*;对所述语料进行分词,得到词w1*,w2*…wn*;分别计算所述候选实体词存在歧义的概率P(c0|s*)和不存在歧义的概率P(c1|s*);其中,P(c0|s*)=P(c0|w1*)P(c0|w2*)…P(c0|wn*);P(c1|s*)=P(c1|w1*)P(c1|w2*)…P(c1|wn*);P(c0|wa*)和P(c1|wa*)分别为词wa存在歧义和不存在歧义的概率,a=1、2…n。

具体地,采用条件随机场(Conditional Random Field,CRF)算法进行分词。设某一句语料si的分词结果为w1,w2…wn,如果句子中的歧义词对应不是实体,那么认为这个句子为歧义c0类,反之则为非歧义c1类。w1出现在了语料中的K个句子中,其中k0个为非对应实体,即是c0类的;k1个为对应实体,即是c1类的。故概率P(c0|w1)=k0/(k0+k1)及P(c1|w1)=k1/(k0+k1)。

53)当P(c0|s*)>P(c1|s*)时,判定所述候选实体词为歧义词;否则判定所述候选实体词为所述识别结果。

需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。

本发明的存储介质上存储有计算机程序,该程序被处理器执行时实现上述的金融命名实体识别方法。所述存储介质包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。

可以采用一个或多个存储介质的任意组合。存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。

也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。

也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。

于一实施例中,本发明的金融命名实体识别终端包括:处理器及存储器。

所述存储器用于存储计算机程序。

所述存储器包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。

所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述金融命名实体识别终端执行上述的金融命名实体识别方法。

优选地,所述处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

如图5所示,本发明的金融命名实体识别终端以通用计算设备的形式表现。金融命名实体识别终端的组件可以包括但不限于:一个或者多个处理器或者处理单元51,存储器52,连接不同系统组件(包括存储器52和处理单元51)的总线53。

总线53表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

金融命名实体识别终端典型地包括多种计算机系统可读介质。这些介质可以是任何能够被金融命名实体识别终端访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器52可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)521和/或高速缓存存储器522。金融命名实体识别终端可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统523可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线53相连。存储器52可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块5241的程序/实用工具524,可以存储在例如存储器52中,这样的程序模块5241包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5241通常执行本发明所描述的实施例中的功能和/或方法。

金融命名实体识别终端也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该金融命名实体识别终端交互的设备通信,和/或与使得该金融命名实体识别终端能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口54进行。并且,终端4还可以通过网络适配器55与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器55通过总线53与金融命名实体识别终端的其它模块通信。应当明白,尽管图中未示出,可以结合金融命名实体识别终端使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

综上所述,本发明的金融命名实体识别方法及系统、存储介质及终端通过金融命名实体词的扩展,能够获得更高的覆盖率;通过候选词模型支持海量实体词的快速候选词匹配,能够快速筛选出金融命名实体词,加快了识别速度;通过消歧算法,解决了歧义实体词的问题。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种融合多级语义信息的多模态讽刺识别系统方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!