机构名称检索方法及***
【技术领域】
本发明涉及一种检索方法,特别是涉及一种机构名称检索方法及***。
【背景技术】
海量机构名称快速查询技术是在语音服务中话务员赖以提升工作质量、提高工作效率的重要工具。目前该类工具广泛应用于电信114查号台和移动12580信息服务平台。在***后台庞大业务数据的基础上,
话务员必须在最短的时间内为用户提供最准确的信息,但没有一个话务员能掌握浩瀚无边的业务数据。因此,机构名称快速查询***是话务员向用户提供服务的必不可少工具。目前的查询***大多基于拼音编码规范进行扩展,操作员按照编码规范的要求输入拼音字母,***以操作员的输入为查询依据从数据库中匹配相关信息。目前的信息查询***存在如下问题:
(1)编码死板,容错性差。由于话务员无法掌握所有信息,因此他们无法判别查询客户说出的机构名称是否错误或不完整。目前***不能针对话务员输入的“错误”查询指令提供模糊处理,最终造成“查无此人”的服务结果。实际上,查询客户非常容易在机构名称正确性和完整性上出现小小差错,而这些小差错会严重降低话务员的服务质量。
(2)不具备学习和适应能力。多数查询***需要事先对海量数据进行人工编码,工作量巨大。同时,在业务数据发生变化时,***无法自动进行必要的编码适应,给***维护带来巨大困难。
【发明内容】
有鉴于此,有必要针对上述问题,提供一种容错能力强、具有自动学习能力的机构名称检索方法。
一种机构名称检索方法,包括如下步骤:
S11:将业务数据中所有机构名称自动切分为地名R、标识I、类型T和后缀S四部分;
S12:将业务数据中所有机构名称转换为缩写字母;
S13:建立对所有标识I所对应字母缩写的全文索引;
S14:建立标识I字母语言模型;
S15:建立地名词典、类型同义词词典和后缀同义词词典。
S16:建立用户检索界面,接收输入字母串并切分出各部分,得出标识I全文检索,得出候选检索结果和检索分数;
S17:检索地名R、类型T和后缀S,缩小候选检索结果范围;
S18:对候选检索结果进行排序并输出。
优选的,所述步骤S11中,地名R(region)是指出现在机构名称中的地理名称,标识I(identifier)是指标识机构名称的核心词汇,类型T(type)指区分机构类型中词汇,后缀S(suffix)指出现在机构名称汇总的后缀词汇。
优选的,所述步骤S11,切分时,词典优先识别地名R、类型T和后缀S从而确定标识I边界,准确获得标示I。
优选的,所述步骤S12中,先将中文机构名称的汉字转换为拼音,再提取汉语拼音首字母或英文单词首字母以形成机构名称的缩写字母。
优选的,所述步骤S12将汉字转换为拼音时采取上下文拼音相关算法消除多音字的歧义问题。
优选的,所述步骤S13采用倒排索引算法建立全文索引。
优选的,在建立全文索引时以所有标识I所对应字母缩写为元素。
优选的,所述步骤S14中,针对所有标识I所对应字母缩写建立标识I字母语言模型。
优选的,在建立标识I字母语言模型时以字母为元素,并采用了最大似然估计(Maximum Likelihood Estimation)方法。
优选的,在建立标示I字母语言模型时采取二元字母语言模型,降低计算负责度。
优选的,所述步骤S15在建立地名词典、类型同义词词典和后缀同义词词典时采用步骤S11所产生的切分结果。
优选的,所述步骤S16中,从输入字母串中识别标识I,采用了如下规则:
所有机构名称全称都包含地点(R)、机构名称标识词(I)、机构类型(T)和名称后缀(S);
即使在机构名称的最强省略情况下都不会丢失标识词I,且出现在输入字母串靠前的位置;
机构名称中的不同部分的输入可以颠倒顺序,但各部分内部汉字的顺序不可颠倒;
在任何状态下的输入字母串应包含机构名称标识I或地名R。
优选的,所述步骤S17中,以字典匹配的方法识别输入字母中可能存在的地名R、类型T和后缀S。
优选的,在进行字典匹配时采用了步骤S15产生的地名词典、类型同义词词典和后缀同义词词典。
优选的,在步骤S18中,以全文检索分数结合步骤S14产生的标识I字母语言模型对所有候选检索结果进行排序。
优选的,在对候选检索结果排序时采用了以下计算公式:
其中I为输入字母串,L为候选检索结果w对应的字母串,SIR(L,I)为L的全文检索分数,SLM(L,I)为L的语言模型分数,
和
分别为全文检索分数和语言模型分数的权重;
全文检索分数SIR(L,I)的计算公式如下:
其中,CMN(x,y)返回两字母串的共同字母串,Len(.)返回字母串的长度,ED(I,L)用于计算输入字母串I与检索结果对应字母串L的编辑距离;
语言模型分数SLM(L,I)的计算公式如下:
其中,L={Li)i=0,1,...,N。
一种机构名称检索***,包括:离线学习模块、全文索引数据库、语言模型、词典、实时检索模块;
所述离线学习模块,用于自动从海量业务数据中的机构名称中产生全文索引数据库、语言模型和词典;
所述全文索引数据库,用于存放机构名称中标识I部分的字母全文索引;
所述语言模型,用于管理机构名称中标识I部分的字母分布概率;
所述词典,用于存放业务数据中机构名称所涉及的地名、机构类型和名称后缀;
所述实时检索模块,用于接收用户输入的字母串切分出各部分得出标示I,全文索引,产生包含标识I的多种切分方式的候选结果,并产生检索分数,得出查询词典将候选检索结果缩小到更小的范围,并根据检索分数和语言模型对候选检索结果进行排序,最后输出检索结果。
上述机构名称检索方法及***自动对机构名称进行自动处理,构建全文索引和语言模型,在***业务数据发生变化时,具有自动学习能力。将输入的字母串自动切分出标识I进行检索,得出多种候选检索结果,并根据检索分数和语言模型对候选检索结果进行排序,实现了对用户输入最大限度地容错,从而准确、快速地以字母检索中西文机构名称,在不损失准确率的前提下缩短信息搜索时间,极大的提高检索的工作效率,提升检索质量。
【附图说明】
图1是机构名称检索方法流程示意图。
图2是机构名称检索***示意图。
【具体实施方式】
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是机构名称检索方法流程示意图。该机构名称检索方法包括:
S11:将业务数据中所有机构名称自动切分为地名R、标识I、类型T和后缀S四部分。
地名R(region)是指出现在机构名称中的地理名称;标识I(identifier)是指标识机构名称的核心词汇;类型T(type)指区分机构类型中词汇;后缀S(suffix)指出现在机构名称汇总的后缀词汇。以“深圳市华为技术有限公司”为例,“深圳市”是地名,“华为”为标识,“技术”为类型,“有限公司”为后缀。机构名称切分即实现将“深圳市华为技术有限公司”切分为“深圳市(R)华为(I)技术(T)有限公司(S)”。本发明优选实施例的所有步骤中,针对中西文机构名称,以汉语拼音首字母替代中文机构名称中的汉字,以西文单词首字母处理西文机构名称中的西文单词。
由于现有的地名、类型和后缀均可枚举,切分中,词典优先识别机构名称中的地名R、类型T和后缀S,从而确定标识I边界,最终准确获得标识I。
S12:将业务数据中所有机构名称转换为缩写字母
机构名称中的汉字转换为汉语拼音,双字节***数字和标点符号也被转换为对应的单字节字符,汉语拼音转化时采取上下文拼音相关算法消除多音字的歧义问题,完成上述转换后,获得由汉语拼音首字母和西文单词首字母以及数字组成的机构名称缩写,所有机构名称由西文字母(大写)、数字和标点符号组成。
S13:建立对所有标识I所对应的字母缩写的全文索引。
采用倒排索引算法,对机构名称的标识I所对应的字母缩写建立全文索引。
S14:建立标示I字母语言模型
以字母为元素,采用最大似然估计(MLE,Maximum Likelihood Estimation)方法,建立标识I字母语言模型,为降低计算负责度,采取二元字母语言模型。以现有机构名称缩写为依据,以MLE算法计算所有观察概率值方法如下:(1)枚举26个英文字母、10个数字和16个主要标点符号;(2)枚举所有字符的两两有序组合(包含重复)。(3)以如下公式(MLE算法)计算二元字母概率:
其中,Count(li+1,li)代表二元字母li+1,li在机构名称集合中出现的次数,Count(bigram)代表所有可能二元字母的总数。
S15:建立地名词典、类型同义词词典和后缀同义词词典
根据步骤S11产生的切分结果建立地名词典、类型同义词词典和后缀同义词词典。上述词典均采取汉语拼音首字母排序,以便快速查询。
S16:建立用户检索界面,接收输入字母串并切分出各部分,得出标识I,全文检索,得出候选检索结果和检索分数
建立用户可以操作的检索界面,允许用户输入字母串,接收字母串,根据用户输入的字母串,采用步骤S11,切分各部分得出标示I;采取步骤S13,对切分出的标识I所对应的缩写字母进行全文索引,产生包含标识I的多种切分方式的候选检索结果,并产生检索分数。
从输入字母串中识别标识I,采用了如下规则:
(1)所有机构名称全称都包含地点(R)、机构名称标识词(I)、机构类型(T)和名称后缀(S)。
(2)即使在机构名称的最强省略情况下都不会丢失标识词I,且出现在输入字母串靠前的位置。
(3)机构名称中的不同部分的输入可以颠倒顺序,但各部分内部汉字的顺序不可颠倒。
(4)在任何状态下的输入字母串应包含机构名称标识I或地名R。
基于上述规则,本发明可优选地以标识I或地名匹配输入字母串,从而产生N个候选检索结果,并自然产生了候选检索结果所对应的输入字母串切分方法。结合该字母串切分方法和标识I,输出全文检索分数的方法如下:
其中,CMN(x,y)返回两字母串的共同字母串,Len(.)返回字母串的长度,ED(I,L)用于计算输入字母串I与检索结果对应字母串L的编辑距离。
S17:检索字母串中的地名R、类型T和后缀S
基于步骤S15产生的地名词典、类型同义词词典和后缀同义词词典,以字典匹配的方法识别输入字母串中可能存在的地名R、类型T和后缀S,从而将候选检索结果缩小到更小的范围。
S18:对候选结果进行排序并输出
以全文检索分数结合步骤S14建立的标识I字母语言模型对所有候选检索结果进行排序,采用了以下计算公式:
其中I为输入字母串,L为候选检索结果w对应的字母串,S
IR(L,I)为L的全文检索分数,S
LW(L,I)为L的语言模型分数,
和
分别为全文检索分数和语言模型分数的权重。
语言模型分数SLM(L,I)的计算公式如下:
其中,L={li}i=0,1,...,N是字母串L中的字母。
得出排序结果然后输出。
图2是机构名称检索***示意图。机构名称检索***包括:离线学习模块110,全文索引数据库120,语言模型30,词典140,实时检索模块150。
离线学习模块110,用于自动从海量业务数据中的机构名称中产生全文索引数据库120、语言模型130和词典140;产生全文索引数据库120、语言模型130和词典140的方法已经在步骤S11至S15中详细描述,不再赘述。
全文索引数据库120,用于存放机构名称中标识I部分的字母全文索引。
语言模型130,用于管理机构名称中标识I部分的字母分布概率。
词典140(地名,类型,后缀),用于存放业务数据中机构名称所涉及的地名R、机构类型T和名称后缀S。
实时检索模块150,用于接收用户输入的字母串用于接收用户输入的字母串切分出各部分得出标示I,全文索引,产生包含标识I的多种切分方式的候选结果,并产生检索分数,得出查询词典140将候选检索结果缩小到更小的范围,并根据检索分数和语言模型130对候选检索结果进行排序,最后输出检索结果。
上述机构名称检索方法及***在***业务数据发生变化时,可自动对机构名称进行自动处理,构建全文索引、语言模型和词典,具有自动学习能力。将输入的字母串自动切分出标识I进行检索,得出多种候选检索结果,并根据检索分数和语言模型对候选检索结果进行排序,同时可以根据服务现场实际情况灵活调整地名和标识的输入先后顺序,对输入的错误查询指令提供模糊处理,最大限度地排除话务服务中不应出现的“查无此人”情况,实现了对用户输入的最大限度地容错,从而准确、快速地以字母检索中西文机构名称,在不损失准确率的前提下缩短信息搜索时间,极大的提高检索的工作效率,提升检索质量。