CN109885823A - 一种金融行业的分布式语义识别方法及系统装置 - Google Patents
一种金融行业的分布式语义识别方法及系统装置 Download PDFInfo
- Publication number
- CN109885823A CN109885823A CN201711248780.1A CN201711248780A CN109885823A CN 109885823 A CN109885823 A CN 109885823A CN 201711248780 A CN201711248780 A CN 201711248780A CN 109885823 A CN109885823 A CN 109885823A
- Authority
- CN
- China
- Prior art keywords
- scene
- matrix plate
- character matrix
- engine
- matched
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种金融行业的分布式语义识别方法,包括所述控制与调度引擎调用各个引擎,分词引擎加载各个场景模块,对问句进行分词,生成关键词及匹配的命名实体;语义分析引擎加载各个场景模块,对所述匹配的命名实体同命令字模板进行匹配,提取命令字模板;分析推荐引擎;所述分析推荐引擎计算命令字模板的匹配度,输出匹配度最高的命令字模板;知识库检索引擎根据所述匹配度最高的命令模板从数据库中提取相关信息呈现。本发明的系统稳定性、可靠性强、识别率高、人机交互体验好,系统中的所有模块均可采用多点部署,伸缩、扩展性强。能智能将用户的问句结合到情境中去,匹配到用户最关心的问题,并尽可能挖掘用户想知道的问题进行问题推荐。
Description
技术领域
本发明涉及一种语义识别方法,尤其涉及一种应用于互联网金融行业的分布式语义识别方法及系统装置。
背景技术
随着信息技术的发展,传统的搜索引擎已经不能满足人们的信息获取和检索的需求,基于自然语言的智能客服系统应运而生。互联金融企业用户基数庞大,信息纷繁复杂,实时性要求高,如何快速对用户输入自然语言进行准确语义识别是智能客服的关键。 传统的语义理解通常采用基于关键词的精确或模糊匹配方法,这对大规模的金融数据和场景,有以下几个问题:
(1)检索速度慢,由于金融行业场景多,业务复杂,如果采用基于关键词的匹配方法,命名实体数量会非常巨大, 在百万级规模,在如此庞大的关键词库中去循环检索,不仅效率差、耗费计算机资源,而且响应速度慢,人机交互体验差。
(2)关键词词库维护成本大,如果采用基于关键词的匹配方法,命名实体库是决定识别率的关键,所以必须花费大量的人力进行命名实体库的维护和更新。
(3)识别率低,由于用户普遍采用语音输入的方式,不可避免的有口音问题,如“同洲电子”说成“同邹电子”的平翘舌音问题,“九龙电力”说成“九农电力”,而且很多股票都有别名,如“道恩股份”实际上指的是“N道恩”,这样如果采用基于关键词的匹配方法就会匹配失败。
(4)不能结合用户上下文语境理解用户的意图,比如用户第一句问“万科的行情”,第二句问“那万达呢”,如果采用基于关键词的匹配方法,就没办法理解用户第二句的意图是要问万达的行情。
可见,在金融领域,基于关键词匹配的语义理解不能有效的解决金融领域的语义识别问题。
发明内容
为解决上述现有技术中存在的问题,本发明提供了一种系统稳定性、可靠性强、识别率高、人机交互体验好的应用于金融行业的分布式语义识别方法及系统装置,其主要的技术方案为:
作为第一方面,一种金融行业的分布式语义识别方法,包括:
输入装置获取信息数据转换为文本数据;
所述控制与调度引擎调用分词引擎;
所述分词引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命名实体,对所述文本数据进行分词,按照分词顺序生成关键词及匹配的命名实体;
所述控制与调度引擎调用语义分析引擎;
所述语义分析引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命令字模板,对所述匹配的命名实体同命令字模板进行匹配,提取与所述匹配的命名实体相同的命令字模板;
所述控制与调度引擎调用分析推荐引擎;
所述分析推荐引擎根据预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述匹配度最高的命令模板从数据库中提取相关信息呈现。
结合第一方面,在第一方面可能的实现方式中的第一种情况为,所述对所述文本数据进行分词,按照分词顺序生成关键词及匹配的命名实体:
所述分词引擎向各个场景模块发起调用;
所述场景模块选取最大字节长度的命名实体的字节长度;
按照所述字节长度从所述文本数据的首字节选取相同字节长度的文本进行匹配;
若匹配不到相同字节长度的命名实体,则执行切分方法,所述切分方法为删除所述选取相应字节长度的文本的末位字节进行匹配,循环上述切分方法进行匹配,直至匹配到命名实体或所述选取相应字节长度的文本字节为0;
若匹配到命名实体,提取所述命名实体,将所述选取相应字节长度的文本中删除所述命名实体对应的文本数据,执行所述切分方法;
当所述选取相应字节长度的文本字节为0时,则执行移位方法,所述移位方法为按照最大字节长度命名实体的字节长度从所述文本数据后移一字节选取相应字节长度的文本,然后进行上述的切分方法循环匹配;循环上述移位方法,直至所述相应字节长度的文本字节为0,所述匹配结束;
按照分词顺序生成关键词及匹配的命名实体。
结合第一方面可能的实现方式中的第一种情况,在第一方面可能的实现方式中的第二种情况为,所述分析推荐引擎根据预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板包括:所述关键词的匹配率乘以所述命令字模板的预设优先级得出所述关键词的匹配度;所述匹配率为匹配到模板的关键词字节长度除以所述文本数据的字节长度的数值。
结合第一方面可能的实现方式中的第二种情况,在第一方面可能的实现方式中的第三种情况为,当对所述匹配的命名实体同命令字模板进行匹配,提取与所述匹配的命名实体相同的命令字模板时包括:
所述匹配的命名实体无法匹配出所述命令字模板时,所述语义分析引擎调用存储于数据库的历史记录,所述历史记录中包括多个文本数据及相应的命令字模板、参数,所述参数同所述命名实体相关联;所述历史记录中命令字模板按照记录时间的先后从小到大分配时间权重;所述匹配的命名实体同所述历史记录的匹配的命名实体进行匹配;
若匹配成功则提取所述历史记录中命令字模板,将所述关键词同所述历史记录中命令字模板的相同参数关键词进行替换,生成新命令字模板,并依据所述命令字模板的时间权重推送时间权重最大的命令字模板;
所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述时间权重最大的命令模板从数据库中获取所述命令模板关联的信息。
结合第一方面及其可能的实现方式中的第一至第三种情况之一,在第一方面可能的实现方式中的第四种情况为,所述知识库检索引擎根据所述时间权重最大的命令模板从数据库中获取所述命令模板关联的信息后,将所述时间权重最大的命令字模板及相应的文本数据、参数存入所述数据库中作为历史记录。
结合第一方面及其可能的实现方式中的第一至第三种情况之一,在第一方面可能的实现方式中的第五种情况为,在所述对所述文本数据进行分词,生成匹配的命名实体前,将文本数据中的汉字转化为拼音,并进行平翘舌、前后鼻音纠正,再转换为汉字。
结合第一方面及其可能的实现方式中的第一至第三种情况之一,在第一方面可能的实现方式中的第六种情况为,所述场景应用模块中的场景设置为金融行业,所述场景应用模块中的多个场景分别为A股场景、港股场景、美股场景、创业板场景、基金场景、基本用语场景、客服场景、操作场景、QA场景、K线场景、行情场景。
作为第二方面,一种金融行业的分布式语义识别系统,包括:
控制与调度引擎:用于对所述分词引擎、场景应用模块、语义分析引擎、分析推荐引擎、知识库检索引擎进行控制和调度;
分词引擎:用于对所述文本数据进行分词,提取关键词及关键词属性;
场景应用模块:分配多个不同场景模块,每个模块存储有多条命名实体及命令字模板供分词引擎和语义分析引擎调用。
语义分析引擎:根据所述关键词及关键词属性匹配命令字模板;
分析推荐引擎:将所匹配的命令字模板按照预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
知识库检索引擎:根据所述匹配度最高的命令字模板从数据库提取相关信息呈现。
结合第二方面,在第二方面可能的实现方式中的第一种情况为,所述场景应用模块包括:A股场景模块、港股场景模块、美股场景模块、创业板场景模块、基金场景模块、基本用语场景模块、客服场景模块、操作场景模块、QA场景模块、K线场景模块、行情场景模块。
作为第三方面,一种金融行业的分布式语义识别装置,包括:
输入装置:用于获取输入的信息数据并转化为文本数据,包括但不限于文字输入装置、语音输入装置、图像输入装置;
控制与调度装置:用于对所述分词装置、场景应用装置、语义分析装置、分析推荐装置、知识库检索装置进行控制和调度;
分词装置:用于对所述文本数据进行分词,提取关键词及关键词属性;
场景应用装置:分配多个不同场景模块,每个模块存储有多条命名实体及命令字模板供分词引擎和语义分析装置调用。
语义分析装置:根据所述关键词及关键词属性匹配命令字模板;
分析推荐装置:将所匹配的命令字模板按照预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
知识库检索装置:根据所述匹配度最高的命令字模板从数据库提取相关信息呈现;
数据库装置:用于存储命令字模板关联的信息及历史记录;
还包括存储装置、处理器及总线,所述存储装置同所述处理器通过总线连接,所述存储装置存储有多条操作指令,所述处理器加载所述操作指令执行第一方面及第一方面可能的实现方式中的第一至第六种情况所述方法。
有益效果:
(1)系统稳定性、可靠性强。本系统中的所有模块均可采用多点部署,并且将计算量最大的词法分析模块、语法分析模块设计成“无状态的”,一个或多个模块挂掉不影响系统整体的运行,伸缩、扩展性强。
(2)识别率高,完备的金融关键词和命令字模板,加之拼音模糊匹配,口音纠正、用户上下文情境结合等算法,该系统具有非常高的命令识别率,对用户的问题对答如流。
(3)人机交互体验好,由于命令模板匹配结合了用户上下文语境和用户数据画像,自选股、资产、交易纪录,用户收益数据,持仓情况等,能智能将用户的问句结合到情境中去,匹配到用户最关心的问题,并尽可能挖掘用户想知道的问题进行问题推荐。
附图说明
图1为本发明实施例的具体实施例方案之一;
图2为本发明实施例的具体实施例方案之二;
图3为本发明实施例的具体实施例方案之三;
图4为本发明实施例的具体实施例方案之四;
图5为本发明实施例的具体实施例方案之五;
图6为本发明实施例的具体实施例方案之六;
图7为本发明实施例的具体实施例方案之七。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性发明前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
如图1所示,一种金融行业的分布式语义识别方法,包括:
一种金融行业的分布式语义识别方法,包括:
步骤101,输入装置获取信息数据转换为文本数据;
步骤102,所述控制与调度引擎调用分词引擎,所述分词引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命名实体,对所述文本数据进行分词,按照分词顺序生成关键词及匹配的命名实体;
步骤103,所述控制与调度引擎调用语义分析引擎,所述语义分析引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命令字模板,对所述匹配的命名实体同命令字模板进行匹配,提取与所述匹配的命名实体相同的命令字模板;
步骤104,所述控制与调度引擎调用分析推荐引擎,所述分析推荐引擎根据预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
步骤105,所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述匹配度最高的命令模板从数据库中提取相关信息呈现。
实施例2:
如图2所示,所述分词引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命名实体,对所述文本数据进行分词,按照分词顺序生成关键词及匹配的命名实体的具体方法如下,以“说万科A行情好不好”为例。
所述分词引擎将文本数据“说万科A行情好不好”分配至多个场景模块中,在每个场景模块中,所述分词引擎执行相同的分词方法,从而获取不同场景中对应的命名实体,然后将所述命名实体生成匹配的命名实体汇总于所述分词引擎。
所述分词方法为:
所述分词引擎向场景应用模块中各个模块发起调用;
选取其模块中定义最大字节长度的命名实体,以A股场景模块为例;
按照最大字节长度命名实体的字节长度,比如8个字节长度,从所述文本数据的首字节选取相应字节长度的文本“说万科A行情好不”进行匹配;
若匹配不到相同字节长度的命名实体,则执行切分方法,所述切分方法为删除所述选取相应字节长度的文本的末位字节进行匹配,循环上述切分方法进行匹配,直至匹配到命名实体或所述选取相应字节长度的文本字节为0。
从图2中的Loop1可知,
第1次,选取的8字节文本数据为“说万科A行情好不”进行匹配,未成功匹配到命名实体,匹配失败;
第2次,对所述文本数据“说万科A行情好不”进行切分,得到文本数据“说万科A行情好”,继续进行匹配,未成功匹配到命名实体,匹配失败,继续切分。
·······
第9次,经过多次匹配失败、切分,其所述文本数据仅剩下“说”,进行匹配依然未成功匹配到命名实体,再次进行一次切分后,所述文本数据为0,即全部删除。
至此,对文本数据“说万科A行情好不”的第一轮匹配失败,运行移位方法后等候下轮迭代。
所述移位方法为按照最大字节长度命名实体的字节长度从所述文本数据后移一字节选取相应字节长度的文本,然后进行上述的切分方法循环匹配;循环上述移位方法,直至所述相应字节长度的文本字节为0,所述匹配结束;
从图2中Loop2可知,当Loop1匹配失败后,将所述文本数据“说万科A行情好不好”按8字节后移一位提取文本数据“万科A行情好不好”,进而继续执行切分方法进行分配。
第1次,选取的8字节文本数据为“万科A行情好不好”进行匹配,未成功匹配到命名实体,匹配失败;
第2次,对所述文本数据“万科A行情好不好”进行切分,得到文本数据“万科A行情好不”,继续进行匹配,未成功匹配到命名实体,匹配失败,继续切分。
·······
第5次,经过多次匹配失败、切分,其所述文本数据剩下“万科A”,进行匹配,匹配到所述A股场景模块中的命名实体${stock.code},匹配成功,取出命名实体${stock.code}。
此时,将Loop2中的第1次文本数据“万科A行情好不好”中的“万科A”删除,因为其已匹配到命名实体,删除后可以消除“万科A”对文本数据中其他文本进行匹配时的干扰。删除后,此轮匹配结束,删除后的文本数据“行情好不好”继续迭代至下轮。
从图2中的Loop3和Loop4可知,每轮都需要执行切分方法进行匹配,直至所述文本数据为0或匹配成功;Loop3和Loop4之间是逐步的执行8字节的移位方法,直至最初始的文本数据“说万科A行情好不好”为0,即最后一位字节执行移位方法后无位可移,则整个分词匹配结束。
从图2可知,上述分词匹配中各个场景模块都是同时进行的,每个场景模块都执行每轮中的切分方法和轮之间的移位方法进行匹配,得出不同的命名实体。如“万科A”对应的是A股场景模块的命名实体${stock.code}、“行情”对应的是行情场景模块的命名实体${stock.trend}、“好不好”对应的是基本用语场景模块的命名实体${base.question}。
生成分词结果,包括按照分词顺序生成的关键词:“万科A”“行情”“好不好”及匹配的命名实体:${stock.code}${stock.trend}${base.question}。
实施例3:
所述控制与调度引擎调用语义分析引擎,所述语义分析引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命令字模板,对所述匹配的命名实体同命令字模板进行匹配,提取与所述匹配的命名实体相同的命令字模板的方法包括:
如实施例2所述的,其分词结果包括按照分词顺序生成的匹配的命名实体:${stock.code}${stock.trend}${base.question},所述的命令字模板也是同所述命名实体:${stock.code}${stock.trend}${base.question}一样的类型。其所述的命令字模板可为但不限于:${stock.code}、${stock.code}、${base.question}、${stock.code}${stock.trend}、${stock.trend}${base.question}、${stock.code}${base.question}、${stock.code}${stock.trend}${base.question}。
所述语义分析引擎根据所述匹配的命名实体:${stock.code}${stock.trend}${base.question}与不同场景模块中的命令字模板进行匹配。
如果所述命令字模板为所述匹配的命名实体:${stock.code}${stock.trend}${base.question}中的单个命名实体(如${stock.code}或${stock.code}或${base.question}),则认为匹配成功;
如果所述命令字模板为所述匹配的命名实体:${stock.code}${stock.trend}${base.question}中的单个命名实体的组合(如${stock.code}${stock.trend}或${stock.trend}${base.question}或${stock.code}${base.question}或${stock.code}${stock.trend}${base.question}),则还需要匹配所述匹配的命名实体的顺序,如命令字模板${stock.code}${stock.trend}或${stock.trend}${base.question}或${stock.code}${stock.trend}${base.question}同所述匹配的命名实体匹配成功,命令字模板${stock.code}${base.question}则同所述匹配的命名实体匹配失败。
实施例4:
所述控制与调度引擎调用分析推荐引擎,所述分析推荐引擎根据预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板方法包括:
所述关键词的匹配率乘以所述命令字模板的预设优先级得出所述关键词的匹配度;所述匹配率为匹配到模板的关键词字节长度除以所述文本数据的字节长度的数值。
假如用户问“妈妈今天告诉我让我问下优品大师兄万科的行情”
匹配到的模板对应的关键词为:1.大师兄 2.万科的行情;
大师兄为客服场景命令:预设优先级低,为1;
匹配率:len(大师兄)/ len(妈妈今天告诉我让我问下大师兄 万科的行情) = 3/19 =0.1579;
匹配度:1*0.1579 = 0.1579;
万科的行情是股票行情场景:预设优先级高,为3;
匹配率:len(万科的行情)/len(妈妈今天告诉我让我问下大师兄 万科的行情) = 5/19=0.2631;
匹配度:3*0.2631 = 0.789;
0.789 > 0.1579,所以匹配的结果是匹配度最高的“万科的行情”。
实施例5:
当所述匹配的命名实体无法匹配出命令字模板时,所述语义分析引擎调用存储于数据库的历史记录,所述历史记录中包括多个文本数据及相应的命令字模板、参数,所述参数同所述命名实体相关联;所述历史记录中命令字模板按照记录时间的先后从小到大分配时间权重;所述匹配的命名实体同所述历史记录的匹配的命名实体进行匹配;
若匹配成功则提取所述历史记录中命令字模板,将所述关键词同所述历史记录中命令字模板的相同参数关键词进行替换,生成新命令字模板,并依据所述命令字模板的时间权重推送时间权重最大的命令字模板;
所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述时间权重最大的命令模板从数据库中获取所述命令模板关联的信息。
以图3为例,图3为存储于数据库的近五条历史记录,每条历史记录包含其文本数据、匹配的命令字模板、参数。所述每条历史记录按照存入的先后从低到高分配有时间权重。
比如用户在询问“万科的行情”后又询问“市盈率大于3的股票”,此时用户突然想询问万科的行情,于是询问“那万达信息呢”。通过上述方法对“那万达信息呢”进行分词后获得的分词结果${stock.code}${base.sign},即股票“万达信息”+语气词“呢”,有效的关键词只有“万达信息”,无法组成一个完整的逻辑问句。在命令字模板的匹配中无法匹配到有效的模板。此时,所述语义分析引擎调用数据库中的历史记录,比如图3中的近五条历史记录。
如图3所示,参数中%s1代表股票代码参数;%s2代表比较参数;%s3代表数量的参数。
文本数据“那万达信息呢”进行分词匹配命名实体时,所述“万达信息”匹配的命名实体为${stock.code},其对应的参数为%s1。所述“万达信息”同所述的历史记录进行参数匹配。
从近五条历史记录开始匹配:
(1)市盈率大于3的股票,没有股票代码的参数%s1,匹配失败;
(2)万科的行情,有股票代码的参数%s1,同参数关键词替换,替换为万达信息的行情;
(3)今日涨停股票,没有股票代码的参数,匹配失败;
(4)腾讯控股怎么操作,有股票代码的参数%s1,同参数关键词替换,替换为万达信息怎么操作;
(5)龙虎榜连续上榜5日的股票,没有股票代码的参数%s1,匹配失败。
因此生成两个同参数关键词替换后的新问句,然后进行分词、匹配命令字模板。因为历史记录中记录的都是成功匹配到命令字模板,输出用户需要的正确信息的问句。因此,所述两个同参数关键词替换后的新问句也必然可以成功匹配到命令字模板。所述命令字模板有优先级之分,根据上述方法分别计算出两个新问句所匹配的命令字模板的匹配度。
由此可知,“万达信息的行情”匹配的命令字模板为“万达信息行情”,其优先级为3,则所述命令字模板“万达信息行情”的匹配度为“万达信息”匹配率4/7=0.5714乘以命令模板优先级3等于1.7142;“万达信息怎么操作”匹配的命令字模板为“万达信息操作”,其优先级为2,则所述命令字模板“万达信息操作”的匹配度为“万达信息”匹配率4/8=0.5乘以命令模板优先级2等于1。
再将上述两个新命令字模板的匹配度同其所替换的历史记录命令字模板对应的时间权重进行计算:“万达信息行情”为1.7142*0.7=1.19994;“万达信息操作”为1*0.3=0.3。通过比较可以得出“万达信息行情”为匹配度最高的命令字模板。则所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述匹配度最高的命令字模板“万达信息行情”从数据库中获取所述命令模板关联的信息。
进一步地,上述所述并依据所述命令字模板的时间权重推送时间权重最大的命令字模板的方法具体如下:
例如,在“万达信息的行情”进行分词、匹配命令模板的过程中,可能匹配到多个命令字模板,比如“万达信息”、“行情”、“万达信息行情”。这些命令字模板都需要进行匹配率计算及根据其命令字模板的优先级计算匹配度,按照实施例4中所述的方法可以很容易的得出“万达信息行情”这个命令字模板的匹配度最高,此时将其匹配度置为1,并存储为所述的历史记录。因此,只要所述的“那万达信息呢”能成功进行相同参数关键词的替换,即代表其必然可以匹配到匹配度最高的“万达信息行情”及“万达信息操作”命令字模板。此时,仅需依据“万达信息行情”及“万达信息操作”命令字模板对应的问句的时间权重的大小排序,选取最大时间权重的命令字模板“万达信息行情”(“万达信息行情”时间权重0.7>“万达信息操作”时间权重0.3),则所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述时间权重最大的命令字模板“万达信息行情”从数据库中获取所述命令模板关联的信息。
图4为实施例5在程序端实际操作所呈现的效果。
实施例6:
如图5所示,本发明还包括一种金融行业的分布式语义识别系统,包括:
控制与调度引擎:用于对所述分词引擎、场景应用模块、语义分析引擎、分析推荐引擎、知识库检索引擎进行控制和调度;
分词引擎:用于对所述文本数据进行分词,提取关键词及关键词属性;
场景应用模块:分配多个不同场景模块,每个模块存储有多条命名实体及命令字模板供分词引擎和语义分析引擎调用。将机器学习应用到金融场景命令模板智能决策系统,将用户的日常问题、自选股、资产、交易纪录,用户收益数据,持仓情况作为样本进行训练和用户分类,当用户的一个问句同时匹配到多个场景命令模板时,根据用户标签进行决策,选出优场景命令模板。
语义分析引擎:根据所述关键词及关键词属性匹配命令字模板;
分析推荐引擎:将所匹配的命令字模板按照预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
知识库检索引擎:根据所述匹配度最高的命令字模板从数据库提取相关信息呈现。
所述场景应用模块包括:A股场景模块、港股场景模块、美股场景模块、创业板场景模块、基金场景模块、基本用语场景模块、客服场景模块、操作场景模块、QA场景模块、K线场景模块、行情场景模块。
总体上采用分布式系统架构。系统整体分成六大模块:控制与调度引擎、自动分词引擎、语义分析引擎、场景应用模块、分析推荐引擎,知识库检索引擎,这些服务各司其职,服务与服务之间通过私有协议进行RPC通信,服务都是“无状态可扩展”的,可扩展的意思是“投入更多的机器,能处理更大的数据”,为语义识别处理速度提供架构上的保证。
与所述一种金融行业的分布式语义识别系统相配套的装置包括:
输入装置:用于获取输入的信息数据并转化为文本数据,包括但不限于文字输入装置、语音输入装置、图像输入装置;
控制与调度装置:用于对所述分词装置、场景应用装置、语义分析装置、分析推荐装置、知识库检索装置进行控制和调度;
分词装置:用于对所述文本数据进行分词,提取关键词及关键词属性;
场景应用装置:分配多个不同场景模块,每个模块存储有多条命名实体及命令字模板供分词引擎和语义分析装置调用。
语义分析装置:根据所述关键词及关键词属性匹配命令字模板;
分析推荐装置:将所匹配的命令字模板按照预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
知识库检索装置:根据所述匹配度最高的命令字模板从数据库提取相关信息呈现;
数据库装置:用于存储命令字模板关联的信息及历史记录;
还包括存储装置、处理器及总线,所述存储装置同所述处理器通过总线连接,所述存储装置存储有多条操作执行指令,所述处理器加载所述存储装置中的操作执行指令并执行,实现说明书中所述的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,可以是设计成一体设备,也可以是组合成一套设备,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
实施例7:
如图6所示,本发明的分布式系统的基础服务调用关系;
为了实现上诉高可用、可伸缩的RPC服务,实现了以下基础服务:
registry(路由+管理服务):提供服务节点的地址查询、发布、启停、管理等操作,以及对服务上报心跳的管理,通过它实现服务的注册与发现;
patch(发布管理):提供服务的发布功能;
config(配置中心):提供服务配置文件的统一管理功能;
log(远程日志):提供服务打日志到远程的功能;
stat(调用统计):统计业务服务上报的各种调用信息,比如总流量、平均耗时、超时率等,以便对服务出现异常时进行告警;
property(业务属性):统计业务自定义上报的属性信息,比如内存使用大小、队列大小、cache命中率等,以便对服务出现异常时进行告警;
notify(异常信息):统计业务上报的各种异常信息,比如服务状态变跟信息、访问db失败信息等,以便对服务出现异常时进行告警。
实施例8:
如图7所示,配置存储结构ER图。下面对具体的ER图实体进行说明。
t_ner_tablename为基本配置表,配置系统中到底有哪些关键词,便于在服务初始化时加载所有的关键词。
t_ner_content_base是基本关键词表,存储了最基本的关键词,如“坏”、“好”、“差”、“比较差”等。
t_ner_content_kefu是客服关键词表,存储了客服相关的关键词,如“客服电话”、“人工服务”、“如何开户”等。
t_ner_content_kxian是k线关键词表,存储了k线相关的关键词,如“k线”、“走势图”等。
t_ner_content_qa是常见问题关键词表,存储了常见问题关键字,如“创业板开户”、“十字线”、“股票回购”等。
t_ner_content_stock是股票关键词表,存储了股票常见的关键字,如“股票板块”、“抄底”、“反弹”等。
t_ner_content_stockhq是股票代码关键字,存储了所有的股票名称和代码,是由脚本每天定时更新,如“万科A”、“ST生物”、“ST珠江”等。
t_ner_command_stock 是命令字模板,定义了命令字模板,比如“${stock.code}”表示询问股票代码为stock.code的行“${stock.code}${stock.trend}”表示询问个股走势。
以上各表各字段的含义基本可以做到“见名知意”。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件和必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种金融行业的分布式语义识别方法,包括:
输入装置获取信息数据转换为文本数据;
所述控制与调度引擎调用分词引擎;
所述分词引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命名实体,对所述文本数据进行分词,按照分词顺序生成关键词及匹配的命名实体;
所述控制与调度引擎调用语义分析引擎;
所述语义分析引擎调用场景应用模块中的多个场景模块,加载所述各个场景模块及对应的命令字模板,对所述匹配的命名实体同命令字模板进行匹配,提取与所述匹配的命名实体相同的命令字模板;
所述控制与调度引擎调用分析推荐引擎;
所述分析推荐引擎根据预设的模板匹配规则,计算所述命令字模板的匹配度,输出匹配度最高的命令字模板;
所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述匹配度最高的命令模板从数据库中提取相关信息呈现。
2.根据权利要求1所述的一种金融行业的分布式语义识别方法,其特征在于,对所述文本数据进行分词,按照分词顺序生成关键词及匹配的命名实体:
所述分词引擎向场景应用模块中的各个场景模块发起调用;
所述场景模块选取最大字节长度的命名实体的字节长度;
按照所述字节长度从所述文本数据的首字节选取相同字节长度的文本进行匹配;
若匹配不到相同字节长度的命名实体,则执行切分方法,所述切分方法为删除所述选取相应字节长度的文本的末位字节进行匹配,循环上述切分方法进行匹配,直至匹配到命名实体或所述选取相应字节长度的文本字节为0;
若匹配到命名实体,提取所述命名实体,将所述选取相应字节长度的文本中删除所述命名实体对应的文本数据,执行所述切分方法;
当所述选取相应字节长度的文本字节为0时,则执行移位方法,所述移位方法为按照最大字节长度命名实体的字节长度从所述文本数据后移一字节选取相应字节长度的文本,然后进行上述的切分方法循环匹配;循环上述移位方法,直至所述相应字节长度的文本字节为0,所述匹配结束;
按照分词顺序生成关键词及匹配的命名实体。
3.根据权利要求2所述的一种金融行业的分布式语义识别方法,其特征在于,所述分析推荐引擎根据预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板包括:所述关键词的匹配率乘以所述命令字模板的预设优先级得出所述关键词的匹配度;所述匹配率为匹配到模板的关键词字节长度除以所述文本数据的字节长度的结果数值。
4.根据权利要求3所述的一种金融行业的分布式语义识别方法,其特征在于,当对所述匹配的命名实体同命令字模板进行匹配,提取与所述匹配的命名实体相同的命令字模板时包括:
所述匹配的命名实体无法匹配出所述命令字模板时,所述语义分析引擎调用存储于数据库的历史记录,所述历史记录中包括多个文本数据及相应的命令字模板、参数,所述参数同所述命名实体相关联;所述历史记录中命令字模板按照记录时间的先后从小到大分配时间权重;所述匹配的命名实体同所述历史记录的匹配的命名实体进行匹配;
若匹配成功则提取所述历史记录中命令字模板,将所述关键词同所述历史记录中命令字模板的相同参数关键词进行替换,生成新命令字模板,并依据所述命令字模板的时间权重推送时间权重最大的命令字模板;
所述控制与调度引擎调用知识库检索引擎,所述知识库检索引擎根据所述时间权重最大的命令模板从数据库中获取所述命令模板关联的信息。
5.根据权利要求3所述的一种金融行业的分布式语义识别方法,其特征在于,所述知识库检索引擎根据所述时间权重最大的命令模板从数据库中获取所述命令模板关联的信息后,将所述时间权重最大的命令字模板及相应的文本数据、参数存入所述数据库中作为历史记录。
6.根据权利要求1或2或3或4所述的一种金融行业的分布式语义识别方法,其特征在于:在所述对所述文本数据进行分词,生成匹配的命名实体前,将文本数据中的汉字转化为拼音,并进行平翘舌、前后鼻音纠正,再转换为汉字。
7.根据权利要求1或2或3或4所述的一种金融行业的分布式语义识别方法,其特征在于:所述场景应用模块中的场景设置为金融行业,所述场景应用模块中的多个场景分别为A股场景、港股场景、美股场景、创业板场景、基金场景、基本用语场景、客服场景、操作场景、QA场景、K线场景、行情场景。
8.一种金融行业的分布式语义识别系统,包括:
控制与调度引擎:用于对所述分词引擎、场景应用模块、语义分析引擎、分析推荐引擎、知识库检索引擎进行控制和调度;
分词引擎:用于对所述文本数据进行分词,提取关键词及关键词属性;
场景应用模块:分配多个不同场景模块,每个模块存储有多条命名实体及命令字模板供分词引擎和语义分析引擎调用;
语义分析引擎:根据所述关键词及关键词属性匹配命令字模板;
分析推荐引擎:将所匹配的命令字模板按照预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
知识库检索引擎:根据所述匹配度最高的命令字模板从数据库提取相关信息呈现。
9.根据权利要求8所述的一种金融行业的分布式语义识别系统,其特征在于,所述场景应用模块包括:A股场景模块、港股场景模块、美股场景模块、创业板场景模块、基金场景模块、基本用语场景模块、客服场景模块、操作场景模块、QA场景模块、K线场景模块、行情场景模块。
10.一种金融行业的分布式语义识别装置,包括:
输入装置:用于获取输入的信息数据并转化为文本数据;
控制与调度装置:用于对所述分词装置、场景应用装置、语义分析装置、分析推荐装置、知识库检索装置进行控制和调度;
分词装置:用于对所述文本数据进行分词,提取关键词及关键词属性;
场景应用装置:分配多个不同场景模块,每个模块存储有多条命名实体及命令字模板供分词引擎和语义分析装置调用;
语义分析装置:根据所述关键词及关键词属性匹配命令字模板;
分析推荐装置:将所匹配的命令字模板按照预设的模板匹配规则,计算出所述命令字模板的匹配度,输出匹配度最高的命令字模板;
知识库检索装置:根据所述匹配度最高的命令字模板从数据库提取相关信息呈现;
数据库装置:用于存储命令字模板关联的信息及历史记录;
还包括存储装置、处理器及总线,所述存储装置同所述处理器通过总线连接,所述存储装置存储有多条操作执行指令,所述处理器加载所述操作指令执行权利要求1-7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248780.1A CN109885823A (zh) | 2017-12-01 | 2017-12-01 | 一种金融行业的分布式语义识别方法及系统装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248780.1A CN109885823A (zh) | 2017-12-01 | 2017-12-01 | 一种金融行业的分布式语义识别方法及系统装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109885823A true CN109885823A (zh) | 2019-06-14 |
Family
ID=66923060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711248780.1A Pending CN109885823A (zh) | 2017-12-01 | 2017-12-01 | 一种金融行业的分布式语义识别方法及系统装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885823A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110288985A (zh) * | 2019-06-28 | 2019-09-27 | 北京猎户星空科技有限公司 | 语音数据处理方法、装置、电子设备及存储介质 |
CN111192584A (zh) * | 2019-12-11 | 2020-05-22 | 秒针信息技术有限公司 | 单据核销方法及系统 |
CN112347772A (zh) * | 2020-08-14 | 2021-02-09 | 北京京东尚科信息技术有限公司 | 一种语义解析方法和装置 |
CN112445775A (zh) * | 2019-08-15 | 2021-03-05 | 上海微电子装备(集团)股份有限公司 | 一种光刻机的故障分析方法、装置、设备和存储介质 |
CN112800769A (zh) * | 2021-02-20 | 2021-05-14 | 深圳追一科技有限公司 | 命名实体识别方法、装置、计算机设备和存储介质 |
CN113488041A (zh) * | 2021-06-28 | 2021-10-08 | 青岛海尔科技有限公司 | 用于场景识别的方法、服务器及信息识别器 |
WO2021253904A1 (zh) * | 2020-06-18 | 2021-12-23 | 深圳前海微众银行股份有限公司 | 测试案例集生成方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663129A (zh) * | 2012-04-25 | 2012-09-12 | 中国科学院计算技术研究所 | 医疗领域深度问答方法及医学检索系统 |
CN104636323A (zh) * | 2013-11-07 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 处理语音文本的方法及装置 |
CN106357942A (zh) * | 2016-10-26 | 2017-01-25 | 广州佰聆数据股份有限公司 | 基于上下文对话语义识别的智能应答方法及系统 |
CN106682137A (zh) * | 2016-12-19 | 2017-05-17 | 武汉市灯塔互动文化传播有限公司 | 一种智能股票投顾问答交互方法与系统 |
-
2017
- 2017-12-01 CN CN201711248780.1A patent/CN109885823A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663129A (zh) * | 2012-04-25 | 2012-09-12 | 中国科学院计算技术研究所 | 医疗领域深度问答方法及医学检索系统 |
CN104636323A (zh) * | 2013-11-07 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 处理语音文本的方法及装置 |
CN106357942A (zh) * | 2016-10-26 | 2017-01-25 | 广州佰聆数据股份有限公司 | 基于上下文对话语义识别的智能应答方法及系统 |
CN106682137A (zh) * | 2016-12-19 | 2017-05-17 | 武汉市灯塔互动文化传播有限公司 | 一种智能股票投顾问答交互方法与系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110288985A (zh) * | 2019-06-28 | 2019-09-27 | 北京猎户星空科技有限公司 | 语音数据处理方法、装置、电子设备及存储介质 |
CN110288985B (zh) * | 2019-06-28 | 2022-03-08 | 北京猎户星空科技有限公司 | 语音数据处理方法、装置、电子设备及存储介质 |
CN112445775A (zh) * | 2019-08-15 | 2021-03-05 | 上海微电子装备(集团)股份有限公司 | 一种光刻机的故障分析方法、装置、设备和存储介质 |
CN112445775B (zh) * | 2019-08-15 | 2024-04-19 | 上海微电子装备(集团)股份有限公司 | 一种光刻机的故障分析方法、装置、设备和存储介质 |
CN111192584A (zh) * | 2019-12-11 | 2020-05-22 | 秒针信息技术有限公司 | 单据核销方法及系统 |
WO2021253904A1 (zh) * | 2020-06-18 | 2021-12-23 | 深圳前海微众银行股份有限公司 | 测试案例集生成方法、装置、设备及计算机可读存储介质 |
CN112347772A (zh) * | 2020-08-14 | 2021-02-09 | 北京京东尚科信息技术有限公司 | 一种语义解析方法和装置 |
CN112800769A (zh) * | 2021-02-20 | 2021-05-14 | 深圳追一科技有限公司 | 命名实体识别方法、装置、计算机设备和存储介质 |
CN113488041A (zh) * | 2021-06-28 | 2021-10-08 | 青岛海尔科技有限公司 | 用于场景识别的方法、服务器及信息识别器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885823A (zh) | 一种金融行业的分布式语义识别方法及系统装置 | |
CN109871527A (zh) | 一种基于分词的语义识别方法 | |
US11004013B2 (en) | Training of chatbots from corpus of human-to-human chats | |
US11847422B2 (en) | System and method for estimation of interlocutor intents and goals in turn-based electronic conversational flow | |
CN107766511A (zh) | 智能问答方法、终端及存储介质 | |
CN107688667A (zh) | 智能机器人客服方法、电子装置及计算机可读存储介质 | |
CN110472017A (zh) | 一种话术分析和话题点识别匹配的方法及系统 | |
CN110765759B (zh) | 意图识别方法及装置 | |
CN109325041A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
US20230139628A1 (en) | Supporting automation of customer service | |
WO2020197630A1 (en) | Interactive dialog training and communication system using artificial intelligence (ai) | |
CN108874992A (zh) | 舆情分析方法、系统、计算机设备和存储介质 | |
CN107784033B (zh) | 一种基于会话进行推荐的方法和装置 | |
JP2020521210A (ja) | 情報処理方法及び端末、コンピュータ記憶媒体 | |
CN113051362B (zh) | 数据的查询方法、装置和服务器 | |
CN108563734A (zh) | 制度信息查询方法、装置、计算机设备和存储介质 | |
CN105630827B (zh) | 一种信息处理方法、系统及辅助系统 | |
CN110489749B (zh) | 一种智能办公自动化系统的业务流程优化方法 | |
CN109871526A (zh) | 一种股票行业的语义识别方法及系统装置 | |
CN109271428A (zh) | 数据抽取方法及基于地理信息的数据展示方法 | |
CN110019713A (zh) | 基于意图理解的数据检索方法和装置、设备及存储介质 | |
CN110929007A (zh) | 一种电力营销知识体系平台及应用方法 | |
CN110516057A (zh) | 一种信访问题答复方法及装置 | |
CN114265957A (zh) | 基于图数据库的多种数据源联合查询方法及系统 | |
CN112148874A (zh) | 可自动新增用户潜在意图的意图识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190614 |