地址生成方法、装置、设备和存储介质与流程

文档序号:26139823发布日期:2021-08-03 14:23阅读:90来源:国知局
地址生成方法、装置、设备和存储介质与流程

本公开涉及计算机技术领域,具体涉及语音识别、深度学习等技术领域,尤其涉及一种地址生成方法、装置、设备和存储介质。



背景技术:

随着科技的发展,语音识别技术逐渐应用到各行各业。地图应用中对地址的识别是语音识别技术的一个重要应用场景。为了提高对地址的识别效果,特别是一些不常见的地址的识别效果,可以采用对已有的地址进行扩展的方式,以生成扩展地址。

相关技术中,可以基于预设的地址库中的地址进行扩展,以生成扩展地址。



技术实现要素:

本公开提供了一种地址生成方法、装置、设备和存储介质。

根据本公开的一方面,提供了一种地址生成方法,包括:获取用户输入的查询语句;确定所述查询语句中的多个原始地址,以及所述多个原始地址之间的从属关系;基于所述多个原始地址以及所述从属关系,生成扩展地址。

根据本公开的另一方面,提供了一种地址生成装置,包括:获取模块,用于获取用户输入的查询语句;确定模块,用于确定所述查询语句中的多个原始地址,以及所述多个原始地址之间的从属关系;生成模块,用于基于所述多个原始地址以及所述从属关系,生成扩展地址。

根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。

根据本公开的技术方案,可以提高扩展地址的有效性。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开第一实施例的示意图;

图2是根据本公开第二实施例的示意图;

图3是根据本公开第三实施例的示意图;

图4是根据本公开第四实施例的示意图;

图5是根据本公开第五实施例的示意图;

图6是用来实现本公开实施例的地址生成方法中任一方法的电子设备的示意图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

相关技术中,可以基于预设的地址库中的地址进行扩展,以生成扩展地址。比如,一个句式的槽位包括城市、区域和街道,表示为$city$zone$street,可以用地址库中的对应数据,比如北京海淀区西二旗分别填充对应的槽位,以生成扩展地址。但是,可能会存在填充结果不是真实地址的情况,比如,区域填充为黄浦区后,可能存在北京市黄浦区西二旗这一错误地址。

为了提高生成的扩展地址的有效性,本公开提供如下实施例。

图1是根据本公开第一实施例的示意图。该实施例提供一种地址生成方法,包括:

101、获取用户输入的查询语句。

102、确定所述查询语句中的多个原始地址,以及所述多个原始地址之间的从属关系。

103、基于所述多个原始地址以及所述从属关系,生成扩展地址。

如图2所示,以地图应用为例,用户可以与地图应用的客户端进行交互,图2中地图应用的客户端用地图应用表示;用户向地图应用的客户端中输入查询语句(query),其中,用户可以以文本形式输入查询语句,或者也可以以语音形式输入查询语句。对于语音形式的查询语句,可以先对语音形式的查询语句进行语音识别,得到对应的文本内容再进行后续处理。语音识别可以采用各种相关技术实现,在此不再详述。地图应用的客户端可以将用户输入的查询语句发送给地图应用的服务端,图2中地图应用的服务端用云端表示,由云端对用户输入的查询语句进行存储。随着时间的推移,云端可以存储大量的查询语句。

本公开实施例中,所涉及的用户相关信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

本公开实施例中,地址生成方法的执行主体可以为单一侧的设备,比如,在云端执行,或者,独立于云端的某一电子设备执行。在执行地址生成方式时,该单一侧的设备可以从云端获取大量的用户输入的查询语句,比如1万条查询语句,并基于查询语句进行地址扩展,以生成扩展地址。

获取用户输入的查询语句后,可以获取查询语句中的地址,为了区分,查询语句中的地址可以称为原始地址。比如,查询语句为“我要去海淀区西二旗”,则可以获取其中的“海淀区”以及“西二旗”作为原始地址。

一些实施例中,可以对所述查询语句进行命名实体识别,以确定所述查询语句中的多个原始地址。

命名实体识别(namedentityrecognition,ner),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地址、机构名、专有名词等。本公开实施例中,是指识别查询语句中的地址。

具体地,可以预先训练命名实体识别模型,命名实体识别模型的输入为文本,比如为查询语句,输出为该文本中的地址。因此,基于该模型可以确定出查询语句中的地址。

通过对查询语句进行命名实体识别,可以高效地识别出查询语句中的原始地址。

一些实施例中,可以基于预设的地址库,确定所述查询语句中的多个原始地址。其中,地址库中可以预先保存多个地址,在获取查询语句后,将查询语句中包括的属于地址库中的地址,作为所确定的所述查询语句中的多个原始地址。比如,地址库中可以预先保存“海淀区”和“西二旗”,之后查询语句中若包括“海淀区”和“西二旗”,则可以将“海淀区”和“西二旗”作为所确定的多个原始地址。具体地,获取查询语句后,可以对查询语句进行分词,再对每个分词在地址库中进行查询,如果地址库中存储当前查询的分词,则将该分词作为所确定的原始地址。

通过与地址库比对的方式,也可以确定出查询语句中的原始地址。

一些实施例中,可以对所述查询语句进行句法分析,确定所述多个原始地址之间的从属关系。

多个原始地址之间的从属关系可以表示为原始地址之间的排列顺序,一般来讲,该排列顺序是按大范围到小范围的顺序,比如,海淀区西二旗,海淀区上地等。

以原始地址之间的从属关系为按大范围到小范围的排列顺序为例,可以通过对查询语句进行句法分析,以确定出查询语句中包括的多个原始地址之间的从属关系。

一些示例中,句法分析时可以对大量的查询语句进行统计,比如,某个查询语句为“我要去海淀区清河”,另一个查询语句为“我要去海淀区西二旗”,另一个查询语句为“我要去海淀区上地”,通过统计大量的查询语句,确定存在“我要去地址1地址2”这样的句式,并且,地址1的位置处均为“海淀区”,因此,可以确定海淀区与之后的xxx(清河、西二旗、上地)的从属关系为:海淀区xxx。或者,

一些示例中,句法分析时也可以对查询语句进行语义分析,以获得多个原始地址之间的从属关系,比如,查询语句的另一种句式可以是“我要去西二旗,海淀区的”,则可以对查询语句进行语义分析等处理,获得该查询语句中的两个地址的从属关系,依然是海淀区西二旗。

在获取到查询语句中的多个原始地址和原始地址之间的从属关系后,获取与所述多个原始地址对应的待关联地址组,所述待关联地址组包括多个待关联地址,所述多个待关联地址与所述多个原始地址至少部分重合;基于所述从属关系,通过所述相同的原始地址,将所述多个原始地址与所述待关联地址进行关联,以生成扩展地址。

比如,类似上述海淀区xxx的处理,基于其他的查询语句可以确定的原始地址之间的从属关系还包括:西二旗百度大厦、西二旗a大厦、西二旗b大厦等,即可以表示为西二旗yyy。假设海淀区xxx包括海淀区西二旗,则基于“海淀区西二旗”,以及,“西二旗yyy”,可以生成扩展地址,比如,海淀区西二旗百度大厦,海淀区西二旗a大厦,海淀区西二旗b大厦等。

通过基于相同的原始地址进行关联,可以简便地生成扩展地址。

上述以对两个查询语句中的原始地址进行关联为例进行说明,可以理解的是,还可以对三个或更多个查询语句中的原始地址进行关联,比如,基于一个查询语句获取原始地址及从属关系为“海淀区西二旗”,基于另一个查询语句获取原始地址及从属关系为“西二旗后厂村”,基于另一个查询语句获取原始地址及从属关系为“后厂村百度大厦”,则可以生成扩展地址为“海淀区西二旗后厂村百度大厦”。

具体地,可以采用正则表达式匹配的方式在查询语句中提取出待关联地址。正则表达式,又称规则表达式(regularexpression),是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式或规则的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。比如,一个查询语句,如“我要去海淀区西二旗”的句式是“我要去地址1地址2”,则可以构造该句式对应的正则表达式,从而基于该正则表达式,可以提取出其他的具有该句式的查询语句中的地址,比如,提取出“西二旗百度大厦”等。之后,可以基于“海淀区西二旗”和“西二旗百度大厦”生成扩展地址“海淀区西二旗百度大厦”。

上述以在查询语句中获取待关联地址为例,还可以在预设的地址库中获取待关联地址,比如,一个查询语句中的原始地址为“海淀区西二旗”,地址库中已有的地址包括“西二旗百度大厦”,则也可以生成扩展地址“海淀区西二旗百度大厦”。

通过基于查询语句或者地址库获取待关联地址组,可以扩展待关联地址组的数量,以生成更多的扩展地址。

本实施例中,由于用户输入的查询语句中的原始地址一般都是真实有效的,所以,基于查询语句中的原始地址生成扩展地址,可以提高扩展地址的有效性。另外,在生成扩展地址时还会考虑原始地址之间的从属关系,可以进一步提高扩展地址的有效性。

图3是根据本公开第三实施例的示意图,并结合图4所示的架构图,该实施例提供一种地址生成方法,包括:

301、获取用户输入的查询语句。

302、判断所述查询语句中是否包含地址,若是,执行303,否则重复执行301及其后续步骤。

如图4所示,可以采用地址意图判别器判断查询语句中是否包含地址。其中,地址意图判别器可以是一种预先建立的分类模型,输入为查询语句,输出为该查询语句是否包含地址。具体地,地址意图判别器比如为贝叶斯文本分类器、支持向量机文本分类器、神经网络文本分类器等等,用户可根据实际情况进行选择使用。

303、确定所述查询语句中的多个原始地址,以及所述多个原始地址之间的从属关系。

如图4所示,可以采用命名实体识别器确定查询语句中的多个原始地址。命名实体识别器可以使用的方法包括:隐马尔科夫模型(hiddenmarkovmodel,hmm)、条件随机场(conditionalrandomfield,crf)、长短期记忆网络(longshort-termmemory,lstm)+crf、卷积神经网络(convolutionalneuralnetwork,,cnn)+crf等等。也可以使用常用分词工具,根据词性进行选择。

另外,如图4所示,在确定查询语句中的多个原始地址时,还可以基于预设的地址库确定,具体可以参见上一实施例。

多个原始地址之间的从属关系可以称为地址从属关系,比如用大范围到小范围的排列顺序表示,比如海淀区西二旗。具体确定地址从属关系的方式可以参见上一实施例。

另外,本实施例中还可以基于查询语句确定句式,比如,通过统计大量的查询语句,存在“我要去地址1地址2”的句式,则参见图4,可以将该句式作为补充句式输入到数据扩展器中。

304、基于所述多个原始地址以及所述从属关系,生成扩展地址。

其中,如图4所示,可以采用数据扩展器生成扩展地址。

具体地,可以基于补充句式构建对应的正则表达式,并采用该正则表达式从其他的查询语句中获取待关联地址。比如,基于“我要去海淀区xxx”确定的补充句式为“我要去地址1地址2”,基于该补充句式对应的正则表达式,假设对一个查询语句“我要去西二旗百度大厦”进行处理,则可以得到待关联地址“西二旗百度大厦”,假设,“我要去海淀区xxx”包括“我要去海地区西二旗”,即原始地址包括“海淀区西二旗”,则可以基于原始地址“海淀区西二旗”和待关联地址“西二旗百度大厦”生成扩展地址为“海淀区西二旗百度大厦”。

305、确定所述扩展地址的频次。

比如,参见图4,可以采用句频补充器确定扩展地址的频次。

306、基于所述扩展地址和所述扩展地址的频次,生成最终数据。

比如,最终数据包括多组数据,每组数据包括相互对应的扩展地址和频次。

为了方便后续数据处理,比如在训练语言模型时,一般不仅需要地址还需要地址对应的频次,因此,还可以确定扩展地址的频次,以方便后续处理。

一些实施例中,所述查询语句为多个,所述扩展地址基于所述多个查询语句生成,所述确定所述扩展地址的频次可以包括:确定所述扩展地址与所述多个查询语句中的各个查询语句的相似度;将所述相似度最高的查询语句对应的频次,确定为所述扩展地址对应的频次。

比如,基于查询语句“海淀区西二旗”、查询语句“西二旗后厂村”、查询语句“后厂村百度大厦”生成的扩展地址为“海淀区西二旗后厂村百度大厦”,则可以分别计算“海淀区西二旗后厂村百度大厦”与“海淀区西二旗”的相似度,“海淀区西二旗后厂村百度大厦”与“西二旗后厂村”的相似度,以及,“海淀区西二旗后厂村百度大厦”与“后厂村百度大厦”的相似度,假设“海淀区西二旗后厂村百度大厦”与“后厂村百度大厦”的相似度最高,则可以将“后厂村百度大厦”的频次确定为“海淀区西二旗后厂村百度大厦”的频次。其中,扩展地址与查询语句之间的相似度可以采用各种相关的文本相似度计算方式确定,在此不再详述,另外,在获取查询语句后还可以统计各种查询语句的频次,以获得查询语句对应的频次。

本实施例中,通过补充句式,可以获取更多的地址信息;通过基于查询语句的频次确定扩展地址的频次,可以使得扩展地址符合真实的地址分布情况。

需要说明的是,本公开实施例中,地址生成方法的执行主体可以通过各种公开、合法合规的方式获取用户的查询语句,例如可以是从公开数据集处获取的,或者是经过了用户的授权从用户处获取的。通过本公开实施例得到的扩展地址是在经用户授权后执行的,其生成过程符合相关法律法规。本公开实施例中的扩展地址并不是针对某一特定用户的扩展地址,并不能反映出某一特定用户的个人信息。

图5是根据本公开第四实施例的示意图,本实施例提供一种地址生成装置。如图5所示,地址生成装置500包括获取模块501、确定模块502和生成模块503。获取模块501用于获取用户输入的查询语句;确定模块502用于确定所述查询语句中的多个原始地址,以及所述多个原始地址之间的从属关系;生成模块503用于基于所述多个原始地址以及所述从属关系,生成扩展地址。

一些实施例中,所述确定模块502具体用于:对所述查询语句进行命名实体识别,以确定所述查询语句中的多个原始地址;和/或,基于预设的地址库,确定所述查询语句中的多个原始地址。

一些实施例中,所述确定模块502具体用于:对所述查询语句进行句法分析,确定所述多个原始地址之间的从属关系。

一些实施例中,所述生成模块503具体用于:获取与所述多个原始地址对应的待关联地址组,所述待关联地址组包括多个待关联地址,所述多个待关联地址与所述多个原始地址至少部分重合;基于所述从属关系,通过所述相同的原始地址,将所述多个原始地址与所述待关联地址进行关联,以生成扩展地址。

一些实施例中,所述生成模块503进一步具体用于:采用正则表达式对所述查询语句之外的其他查询语句进行处理,以获取与所述多个原始地址对应的待关联地址组;和/或,从预设的地址库中,获取与所述多个原始地址对应的待关联地址组。

一些实施例中,所述查询语句为多个,所述扩展地址基于所述多个查询语句生成,所述装置还包括:频次确定模块,用于确定所述扩展地址与所述多个查询语句中的各个查询语句的相似度;将所述相似度最高的查询语句对应的频次,确定为所述扩展地址对应的频次。

本实施例中,由于用户输入的查询语句中的原始地址一般都是真实有效的,所以,基于查询语句中的原始地址生成扩展地址,可以提高扩展地址的有效性。另外,在生成扩展地址时还会考虑原始地址之间的从属关系,可以进一步提高扩展地址的有效性。

可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。

可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元508加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

电子设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如地址生成方法。例如,在一些实施例中,地址生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到ram603并由计算单元601执行时,可以执行上文描述的地址生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行地址生成方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtualprivateserver",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1