一种本地化机构搜索的方法、电子设备和存储介质与流程

文档序号:27943107发布日期:2021-12-11 13:25阅读:77来源:国知局
一种本地化机构搜索的方法、电子设备和存储介质与流程

1.本发明涉及信息检索技术领域,尤其涉及一种本地化机构搜索的方法、电子设备和存储介质。


背景技术:

2.在搜索场景中,用户存在搜索本地机构的需求。例如搜索诸如医院、商场、电影等特定功能的公共场所。目前现有搜索技术中对于机构搜索问题,通常直接使用用户的搜索词和数据库中存储的机构名称基于文本进行字面匹配并召回匹配度最高的机构作为候选机构。
3.若只按文本的字面相似度匹配,那么召回的结果可能不是用户想要的结果,甚至返回的信息对用户来说毫无价值。比如:用户在杭州搜“杭州妇幼保健院”,数据库中有“浙江省妇幼保健院”和“广州妇幼保健院”,按照现有的文本相似度匹配方法,搜索系统配会返回“广州妇幼保健院”,而此时最好的结果应该是“浙江省妇幼保健院”。另外,基于文本匹配的字面相似度方法还不能解决语义相似的问题,比如“妇女儿童”和“妇幼”的语义相似问题,影响用户体验。


技术实现要素:

4.(一)要解决的技术问题鉴于现有技术的上述缺点、不足,本发明提供一种本地化机构搜索的方法、电子设备和存储介质。
5.(二)技术方案为了达到上述目的,本发明采用的主要技术方案包括:第一方面,本发明提供一种本地化机构搜索的方法,所述方法包括:获取第一搜索词;基于所述第一搜索词确定位置信息、关键词、第二搜索词;所述第二搜索词是对所述第一搜索词进行地址归一化后得到的;在预先构建的词库中,确定与所述第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与所述第二搜索词匹配的n2个第二本地化机构,形成第二集合;所述词库中存储有各第六本地化机构的地址归一化名称,所述语义数据库中存储有各第六本地化机构的名称语义向量;确定第一集合和第二集合的并集;在所述并集中,确定与所述位置信息匹配的第三本地化机构,形成第三集合;在预先构建的机构图谱中,确定与所述位置信息匹配的第四本地化机构,并将第四本地化机构与所述并集的交集形成第四集合;所述机构图谱中包括各第六本地化机构的属性信息;在预先构建的机构图谱中,确定与所述关键词匹配的第五本地化机构,并将第五
本地化机构与所述并集的交集形成第五集合;将第三集合、第四集合、第五集合并集中的元素作为所述第一搜索词所搜索到的本地化机构。
6.第二方面,本发明提供一种电子设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如上述第一方面所述的方法。
7.第三方面,本发明提供一种计算机可读存储介质,其特征在于,其上存储有计算机程序;所述计算机程序被处理器执行以实现如上述第一方面所述的方法。
8.(三)有益效果本发明的本地化机构搜索的方法,该方法包括:获取第一搜索词;基于第一搜索词确定位置信息、关键词、第二搜索词;第二搜索词是对第一搜索词进行地址归一化后得到的;在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合;词库中存储有各第六本地化机构的地址归一化名称,语义数据库中存储有各第六本地化机构的名称语义向量;确定第一集合和第二结合的并集;在并集中,确定与位置信息匹配的第三本地化机构,形成第三集合;在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,并将第四本地化机构与并集的交集形成第四集合;机构图谱中包括各第六本地化机构的属性信息;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,并将第五本地化机构与并集的交集形成第五集合;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。本发明所提供的方法,通过词库、语义数据库和机构图谱保证了搜索结果不仅在语义层面上满足用户需求,还在地里位置等层面上也符合用户需求,提升了搜索结果的准确性。
附图说明
9.图1为本发明一实施例提供的一种本地化机构搜索的方法的流程示意图;图2为本发明一实施例提供的一种编码模型架构示意图;图3为本发明一实施例提供的一种机构图谱的示意图;图4为本发明一实施例提供的一种第七本地化机构排序过程的实现架构示意图;图5为本发明一实施例提供的一种注意力权重确定过程的实现架构示意图;图6为本发明一实施例提供的另一种本地化机构搜索的方法的流程示意图。
具体实施方式
10.为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
11.在搜索场景中,用户存在搜索本地机构的需求。例如搜索诸如医院、商场、电影等特定功能的公共场所。如果仅基于用户输入的搜索词和机构的名字进行字面匹配,不考虑
机构语义信息和位置信息,会出现机构的简称和正式名称无法匹配和跨城市推荐机构的问题,影响用户体验。
12.为了使得搜索结果不仅在语义层面上满足用户需求,还在地里位置等层面上也符合用户需求,本发明提供一种本地化机构搜索的方法、电子设备和存储介质,该方法通过词库、语义数据库和机构图谱保证了搜索结果不仅在语义层面上满足用户需求,还在地里位置等层面上也符合用户需求,提升了搜索结果的准确性。
13.参见图1,本实施例提供的本地化机构搜索的方法实现过程如下:101,获取第一搜索词。
14.该第一搜索词是用户进行本地化机构搜索时输入的。例如,第一搜索词为“杭州妇幼保健院”。再例如,第一搜索词为“杭州来福士中心”。
15.因为第一搜索词是用户输入的,而用户往往不能准确的描述其想要搜索的本地化机构,因此第一搜索词可能就是其想要得到的本地化机构的名称,也可能不是其想要得到的本地化机构的名称,而是描述其想要得到的本地化机构名称的内容。
16.例如,用户想搜索“杭州市妇产科医院”,如果该用户知道准确名称,那么其输入的第一搜索词可能为“杭州市妇产科医院”。如果用户不知道准确名称,只知道杭州市的妇幼保健院,或者,用户以为该医院就是杭州市妇幼保健院,或者,用户忘记了该名称,只记得杭州的妇幼相关的意义,那么其输入的第一搜索词可能为“杭州市妇幼保健院”,或者,其输入的第一搜索词可能为“妇幼保健院”。
17.需要说明的是,本实施例及后续实施例针对的场景是,用户想要搜索本地化机构,此处的本地化机构可能为医院,也可能为电影院、商场等机构。为了方便描述,本实施例及后续实施例仅以搜索医院为例,对于搜索其他机构就不再单独举例描述。
18.此外,第一搜索词中的“第一”仅为标识作用,用于区分用户输入的搜索词和其他处理后得到的搜索词,除此之外,并无其他实质性含义。也就是说,第一搜索词就是一个搜索词,是当前通过本实施例的本地化机构搜索的方法进行本地化机构搜索的用户所输入的搜索词。
19.102,基于第一搜索词确定位置信息、关键词、第二搜索词。
20.其中,第二搜索词是对第一搜索词进行地址归一化后得到的。
21.具体的,102

1,对第一搜索词进行分词处理。
22.本步骤采用现有的分词处理方法进行分词处理,如结巴分词。
23.以第一搜索词为“杭州市妇科医院”为例,其分词处理后得到的分词为:“杭州市”、“妇科”、“医院”。
24.102

2,确定是否存在表征地点名称的第一分词。
25.本步骤也采用现有的方案在102

1得到的所有分词中,确定是否存在第一分词。如,通过词性分析或者命名实体识别方法识别出文本中的地点名词,将其作为第一分词。
26.以步骤102

1中的例子为例,确定其中有第一分词,即“杭州市”。
27.需要说明的是,第一分词中的“第一”仅为标识作用,用于区分表征地点名称的分词和表征其他内容的分词,并无实质含义。也就是说,第一分词,其实就是一个分词,是步骤102

1得到的分词中的一个,只不过是满足特殊条件的分词,即表征地点名称的分词。
28.102

3,若存在第一分词,则将第一分词作为位置信息,若不存在第一分词,则确定发送第一搜索词的ip地址,将ip地址所在位置作为位置信息。
29.如果用户输入的搜索词(即第一搜素词)中就包括表征地点名词的分词(即第一分词),那么直接将第一分词作为位置信息。例如,第一分词为“杭州市”那么,位置信息为杭州市。
30.如果用户输入的搜索词(即第一搜素词)中没有就包括表征地点名词的分词(即第一分词),那么,获取用户输入搜索词时其设备的ip地址,将ip地址所在位置作为位置信息。例如,第一搜索词为“妇幼保健院”,该分词中没有表征地点名词的分词,那么获取用户输入“妇幼保健院”所在设备的ip地址,若该ip地址属于北京市,则位置信息为北京市。
31.至此,位置信息确定完毕。
32.102

4,确定表征服务类型的第二分词。
33.本步骤也采用现有的方案在102

1得到的所有分词中,确定是否存在第二分词。如,通过词性分析或者命名实体识别方法识别出文本中的服务类型名词,将其作为第二分词。
34.本步骤及后续步骤中的服务类型,如医院、电影院、商场等,表征本地化机构的服务类型。
35.以步骤102

1中的例子为例,确定其中有第二分词,即“医院”。
36.需要说明的是,第二分词中的“第二”仅为标识作用,用于区分表征服务类型的分词和表征其他内容的分词,并无实质含义。也就是说,第二分词,其实就是一个分词,是步骤102

1得到的分词中的一个,只不过是满足特殊条件的分词,即表征服务类型的分词。
37.102

5,将除第一分词和第二分词之外的分词作为关键词。
38.通过上述步骤,步骤102

1中的到的分词可能属于三类,一类为第一分词,即表征地点名称的分词,一类为第二分词,即表征服务类型的分词,一类为不表征地点名称也不表征服务类型的分词。
39.在具体实施时,可能存在没有第一分词和/或没有第二分词的情况。
40.如步骤102

1中的到的分词只属于两类,一类为第一分词,即表征地点名称的分词,一类为不表征地点名称也不表征服务类型的分词。或者,步骤102

1中的到的分词只属于两类,一类为第二分词,即表征服务类型的分词,一类为不表征地点名称也不表征服务类型的分词。或者,步骤102

1中的到的分词只属于两类,一类为第一分词,即表征地点名称的分词,一类为第二分词,即表征服务类型的分词。
41.再如,步骤102

1中的到的分词只属于一类,为第二分词,即表征服务类型的分词。或者,步骤102

1中的到的分词只属于一类,为不表征地点名称也不表征服务类型的分词。对于只属于第一分词,即表征地点名称的分词的情况,理论上可以出现,实际上出现概率极低。
42.本步骤会将不表征地点名称也不表征服务类型的分词作为关键词。
43.仍以步骤102

1中的例子为例,“妇科”为关键词。
44.执行至此,完成关键词的确定。
45.102

6,若存在第一分词,则将第一分词向行政区划等级进行映射,得到第三分词,将第一分词替换为第三分词,得到第二搜索词。
46.将第一分词向行政区划等级进行映射,得到第三分词,将第一分词替换为第三分词,得到第二搜索词的过程也可成为地址归一化过程,实现了第一搜索词中的地点名词按照行政区等级的归一化。通过该地址归一化过程可以解决语义识别时无法理解行政区划相似性的问题,提高了语义识别的准确率和可解释性。
47.例如,行政区划等级如下所示:地点为浙江省,上位词为省份名;地点为江苏省,上位词为省份名;地点为杭州市,上位词为地级市;地点为金华市,上位词为地级市;地点为上城区,上位词为行政区;地点为富阳区,上位词为行政区;地点为嘉善县,上位词为基层县;地点为桐庐县,上位词为基层县。
48.若第一分词为“杭州市”,那么将第一分词向行政区划等级进行映射后,得到第三分词为“地级市”,将第一分词替换为第三分词,得到第二搜索词为“地级市妇科医院”。
49.需要说明的是,第三分词中的“第三”仅为标识作用,用于区分进行归一化后的分词和表征其他内容的分词,并无实质含义。也就是说,第三分词,其实就是一个分词,是经过归一化处理后的,表征地点名称的分词。该分词是由步骤102

1得到的分词中的一个映射而来。
50.另外,第二搜索词中的“第二”仅为标识作用,用于区分地址归一化后的搜索词和用户输入的搜索词以及其他处理后得到的搜索词,除此之外,并无其他实质性含义。也就是说,第二搜索词就是一个搜索词,是对用户输入的搜索词进行地址归一化处理后得到的搜索词。
51.另外,本实施例和后续实施例对102

2和102

4的执行顺序不做区分,本实施例仅以先执行102

2再执行102

4为例,具体实施时,可以先执行102

4再执行102

2,也可以同时执行102

2和102

4。
52.另外,本实施例和后续实施例对102

3和102

6的执行顺序也不做区分,本实施例仅以先执行102

3再执行102

6为例,具体实施时,可以先执行102

6再执行102

3,也可以同时执行102

3和102

6。只要102

3和102

6在102

2之后执行即可。
53.也就是说,执行步骤102

1得到分词后,位置信息、关键词、第二搜索词的确定顺序不做限定,本实施例仅以先确定位置信息(步骤102

2和102

3),再确定关键词(步骤102

4和102

5),最后确定第二搜索词(步骤102

6)为例,具体实施时,三者可以任意先后顺序确定,也可以同时确定。
54.执行至此,将用户输入的搜索词(即第一搜索词)进行了地址归一化,得到归一化后的搜索词(即第二搜索词。)103,在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合。
55.其中,词库中存储有各第六本地化机构的地址归一化名称,语义数据库中存储有
各第六本地化机构的名称语义向量。
56.本步骤会计算确定词库中每个第六本地化机构的地址归一化名称与第二搜索词之间的字面相似度score_e(如通过bm25算法计算score_e),选择score_e最大的n1个第六本地化机构作为第一本地化机构,将所有的第一本地化机构形成第一集合。
57.确定语义数据库中每个第六本地化机构的名称语义向量与第二搜索词之间的向量余弦相似度score_m,选择score_m最大的n2个第六本地化机构作为第二本地化机构,将所有的第二本地化机构形成第二集合。
58.其中,n1和n2为预先设置的正整数,用于控制第一本地化机构和第二本地化机构的数量。本实施例及后续实施例不对n1和n2的关系进行限定,n1可以等于n2,也可以小于n2,还可以大于n2。
59.词库和语义数据库中虽然存储的本地化机构是相同的,但是其存储的内容不同,词库中存储有第六本地化机构的地址归一化名称,语义数据库中存储有第六本地化机构的名称语义向量,因此,用相同的第二搜索词在词库和语义数据库中进行搜索,得到的本地化机构可能完全相同,也可能不完全相同,还可能完全不同。
60.需要说明的是,第一本地化机构、第二本地化机构、第六本地化机构中的“第一”、“第二”和“第六”仅为标识作用,用于出自于不同位置的本地化机构,并无实质含义。也就是说,词库和语义数据库中存储了各本地化机构的信息,为了区分词库和语义数据库存储的本地化机构与其他位置存储的地化机构,将词库和语义数据库存储的本地化机构命名为第六本地化机构,即第六本地化机构就是词库和语义数据库中存储的本地化机构。
61.本步骤中,会根据第二搜索词从词库中选择部分本地化机构,为了区分选出的本地化机构与词库中其他本地化机构,将从词库中选出的本地化机构命名为第一本地化机构,即第一本地化机构也是本地化机构,是存储在词库中且与第二搜索词匹配的本地化机构。另外,该机构在词库中为第六本地化机构,被选择之后变为第一本地化机构,第一本地化机构实际也是第六本地化机构,也就是说,第一本地化机构为第六本地化机构中的一部分。
62.本步骤中,会根据第二搜索词从语义数据库中选择部分本地化机构,为了区分选出的本地化机构与语义数据库中其他本地化机构,将从语义数据库中选出的本地化机构命名为第二本地化机构,即第二本地化机构也是本地化机构,是存储在语义数据库中且与第二搜索词匹配的本地化机构。另外,该机构在语义数据库中为第六本地化机构,被选择之后变为第二本地化机构,第二本地化机构实际也是第六本地化机构,也就是说,第二本地化机构为第六本地化机构中的一部分。
63.对于第一本地化机构与第二本地化机构之间的关系,本实施例不做限定,可以相同,也可以不同,还可以部分相同。只要在词库中,且与第二搜索词匹配,就可以作为第一本地化机构。只要在语义数据库中,且与第二搜索词匹配,就可以作为第二本地化机构。
64.在执行本步骤之前,还会构建词库和语义数据库,构建过程如下:201,获取各第六本地化机构的名称、标识(id)和地址。
65.其中地址为第六本地化机构的实际运营地址,并非注册地址。
66.202,对每一个六本地化机构的名称进行分词处理,确定表征地点名称的第四分词,将第四分词向行政区划等级进行映射,得到第五分词,将第四分词替换为第五分词,得
到处理后名称。
67.具体的,对于任一个六本地化机构的名称,先采用现有的分词处理方法(如结巴分词)进行分词处理,再采用现有的方案在得到的所有分词中,确定是否存在第四分词,将第四分词进行地址归一化,将第四分词替换为归一化后的分析,得到处理后名称。
68.其中,本步骤的地址归一化过程,与102

6相似,可参见102

6,此处不再赘述。
69.需要说明的是,第四分词和第五分词中的“第四”和“第五”仅为标识作用,用于区分不同对象的分词,并无实质含义。也就是说,第四分词实际是一个分词,只不过是六本地化机构的名称中的分词,且该分词表征地点名称。第五分词实际也为一个分词,是经过归一化处理后的,也表征地点名称,且该分词是由第四分词映射而来。
70.203,根据各第六本地化机构的处理后名称、标识和地址构建词库。
71.例如,若第六本地化机构为富阳区第一人民医院,那么步骤201中获取该第六本地化机构的名称为“富阳区第一人民医院”、标识为“id1”、地址为“浙江省杭州市富阳区富春街道北环路429号”。在步骤202中,会根据行政区划等级(如步骤102

6的示例)将“富阳区”(第四分词)进行映射,得到“基层县”(第五分词),进而得到处理后名称“基层县第一人民医院”。步骤203中,会将“基层县第一人民医院”、“id1”、“浙江省杭州市富阳区富春街道北环路429号”作为该第六本地化机构的信息存入词库中。
72.另外,该词库可以为elasticsearch框架。
73.204,根据预先训练好的编码模型,确定各处理后名称的机构向量。
74.其中,编码模型为神经网络架构模型,由第一embedding(映射)层、dnnencoder(神经网络编码)层、outerproduct(外积)层、第一dense(全连接)层、crossentropyloss(交叉熵损失计算)层构成。
75.编码模型的训练过程为:301,获取第一样本搜索词和第一样本本地化机构的名称和标签。
76.其中,第一样本搜索词和第一样本本地化机构的名称均已进行地址归一化。
77.第一归一化过程与102

6相似,可参见102

6,此处不再赘述。
78.302,将第一样本搜索词和第一样本本地化机构的名称分别通过第一embedding层进行语义空间至向量空间的映射,将映射后的向量空间再分别通过dnnencoder层进行编码,得到第一编码结果和第二编码结果。
79.具体实现时,embedding层可以采用2个embedding模块分别对第一样本搜索词和第一样本本地化机构的名称进行因此,dnnencoder层也可以采用2个dnnencoder模块,分别对2个映射结果分别编码。
80.若采用上述2个模块分别处理的实现方案,两个embedding模块和两个dnn encoder模块参数和结构均相同,dnn encoder为bert结构。
81.303,将第一编码结果和第二编码结果输入outerproduct层,进行外积计算。
82.将计算后的结果和第一样本本地化机构的标签输入crossentropyloss层,计算交叉熵损失。
83.若交叉熵损失小于预设阈值,则结束编码模型的训练。
84.若交叉熵损失不小于预设阈值,则根据计算结果调整编码模型,针对调整后编码模型,重复执行训练过程,直至交叉熵损失的计算结果小于预设阈值。
85.需要说明的是,第一样本搜索词、第一样本本地化机构中的“第一”仅为标识作用,用于区分其他模型训练样本中的搜索词和本地化机构,无其他实质含义。也就是说,第一样本搜索词是一个搜索词,该搜索词为编码模型的训练样本,该样本用于训练编码模型,第一样本本地化机构是一个本地化机构,该本地化机构为编码模型的训练样本,该样本用于训练编码模型。
86.第一embedding层、第一dense层中的“第一”仅为标识作用,用于区分其他模型中的embedding层和dense层,无其他实质含义。也就是说,第一embedding层是embedding层,位于编码模型中,第一dense层是dense层,位于编码模型中。即在具体实施时,本实施例的编码模型架构如图2所示。
87.训练时先为编码模型设置初始化权重,一条训练样本由三部分组成,第一部分为搜索文本(即第一样本搜索词),第二部分为机构名称(即第一样本本地化机构的名称),第三部分为标签,该标签的值为0或者1(0表示搜索文本和机构名称不是同一家机构,1表示搜索文本和机构名称为同一家机构),例如“基层县妇保院基层县妇幼保健院1”,预训练编码模型时,通过embedding层和dnnencoder层对搜索文本和机构名称进行编码,从神经网络输出句子的向量在outerproduct层进行外积再经过dense层,dense层的输出和给定的标签在crossentropyloss层求交叉熵计算损失来更新模型。
88.编码模型是一种后期交互的语义相似度模型,该模型既能有交互型语义模型的精度,又能达到表示型模型在线上的推理速度要求。
89.205,根据各第六本地化机构的机构向量、标识和地址构建语义数据库。
90.仍以上面例子为例,若第六本地化机构为富阳区第一人民医院,那么步骤201中获取该第六本地化机构的名称为“富阳区第一人民医院”、标识为“id1”、地址为“浙江省杭州市富阳区富春街道北环路429号”。在步骤204中会得到“富阳区第一人民医院”的机构向量,步骤205中会将“富阳区第一人民医院”的机构向量、“id1”、“浙江省杭州市富阳区富春街道北环路429号”作为该第六本地化机构的信息存入语义数据库中。
91.另外,该语义数据库可以为hnsw(hierarchical navigable small world)数据库。
92.104,确定第一集合和第二结合的并集。
93.105,在并集中,确定与位置信息匹配的第三本地化机构,形成第三集合。
94.其中,位置信息为步骤102中确定的位置信息。
95.也就是说,先对用户输入的搜索词进行地址归一化,得到第二搜索词,再根据第二搜索词在词库中找到了n1个匹配的本地化机构(即第一本地化机构,也是第一集合中的元素),在语义数据库中找到了n2个匹配的本地化机构(即第二本地化机构,也是第二集合中的元素)。在两个集合并集中的元素中确定与用户意向位置(即位置信息)匹配的本地化机构(即第三本地化机构,也是第三集合中的元素)。
96.另外,本步骤中的“匹配”为行政区划相同的关系,即只要并集中的本地化机构的名称(即地址归一化后的名称)在行政区划上与位置信息相同,则其就是第三本地化机构,是第三集合中的元素。
97.例如,并集中的元素为“地级市妇幼保健院”,位置信息为“杭州”,而杭州在行政区划上位地级市,那么“地级市妇幼保健院”在行政区划上与位置信息相同,其为第三本地化
机构,是第三集合中的元素。
98.再例如,并集中的元素为“省份名妇幼保健院”,位置信息为“杭州”,而杭州在行政区划上位地级市,“省份名妇幼保健院”在行政区划上与位置信息不相同,其不是第三本地化机构。
99.需要说明的是,第三本地化机构中的“第三”仅为标识作用,用于区别并集中与位置信息匹配的本地化机构和其他本地化机构,无其他实质含义。也就是说,第三本地化机构是一个本地化机构,其为第一集合中的元素,也为第二集合中的元素,且与位置信息匹配,为了区分,将其命名为第三本地化机构。那么站在第一集合的角度,因为第一集合中的本地化机构均命名为第一本地化机构,则第三本地化机构其实也是一个第一本地化机构。同样,站在第二集合的角度,因为第二集合中的本地化机构命名为第二本地化机构,则第三本地化机构其实也是一个第二本地化机构。
100.106,在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,并将第四本地化机构与并集的交集形成第四集合。
101.其中,机构图谱中包括各第六本地化机构的属性信息。
102.需要说明的是,第四本地化机构中的“第四”仅为标识作用,用于区别机构图谱中与位置信息匹配的本地化机构和其他本地化机构,无其他实质含义。也就是说,第四本地化机构是一个本地化机构,其为机构图谱中的一个本地化机构,且该本地化机构与位置信息匹配,为了区分,将其命名为第四本地化机构。若将机构图谱中存储的本地化机构命名为第六本地化机构,那么第四本地化机构实质也是一个第六本地化机构,是一种满足特定条件(即与位置信息匹配)的第六本地化机构。
103.在执行本步骤之前,会针对所有本地化机构的信息构建一个机构知识图谱(即机构图谱),里面包含了机构属性信息,其中,属性信息包括但不限于如下的一种或多种:地址信息、名称、昵称、特色(以医院为例,特色为特色科室)、机构评级。
104.该机构图谱不仅能让做简单的地点匹配,且能解决本地同一类型但名字为不同的行政区级别的本地化机构搜索。
105.其中,机构图谱包括点和边,就是一个图,参见图3,其构成如下:每个第六本地化机构的名称(如图3中的浙江省人民医院)对应机构图谱中的唯一一个点。
106.每个第六本地化机构的昵称(如图3中的省人民医院)对应机构图谱中的唯一一个点。
107.每个第六集合中的元素(如图3中的儿科)对应机构图谱中的唯一一个点。其中,第六集合为所有第六本地化机构的特色的并集(如图3中,第六集合为{妇科、儿科、感染科、肿瘤科})。
108.各行政区划(如图3中的中国、上海、浙江、杭州、金华)分别对应机构图片中的唯一一个点。
109.同一个第六本地化机构的名称对应的点与其昵称对应的点之间存在一条边,该边由其名称对应的点指向其昵称对应的点,且该边的关系为昵称(如图3中的“nickname”)。如图3中浙江省人民医院对应的点与省人民医院对应的点之间存在一条边,该边由浙江省人民医院对应的点指向省人民医院对应的点,且该边的关系为nickname。
110.同一个本地化机构的名称对应的点与其特色对应的点之间存在一条边,该边由其名称对应的点指向其特色对应的点,且该边的关系为特色(如图3中的“famousdepartment”)。如图3中浙江省人民医院对应的点与感染科对应的点之间存在一条边,该边由浙江省人民医院对应的点指向感染科对应的点,且该边的关系为famousdepartment。
111.根据各行政区划之间的隶属关系,在相应的行政区划所对应的点之间存在一条边,该边由一个行政区划所对应的点指向其隶属于的行政区划所对应的点,且该边的关系为位于(如图3中的“located”)。如图3中浙江对应的点与杭州对应的点之间存在一条边,由于在行政区划中,杭州属于浙江,因此,该边由杭州对应的点指向浙江对应的点,且该边的关系为located。
112.根据每个第六本地化机构的地址信息确定其所属行政区划。每个第六本地化机构的名称对应的点与其所属行政区划对应的点之间存在一条边,该边由其名称对应的点指向其所属行政区划对应的点,且该边的关系为位于(如图3中的“located”)。如图3中,根据浙江省人民医院的地址信息,确定其位于杭州市,那么浙江省人民医院对应的点与杭州对应的点之间存在一条边,该边由浙江省人民医院对应的点指向杭州对应的点,且该边的关系为located。
113.基于图3所示的机构图谱,本步骤会在预先构建的机构图谱中,确定位置信息对应的点。将与位置信息对应的点之间存在边,且关系为位于(即图3中的“located”)的点所对应的第六本地化机构确定为与位置信息匹配的第四本地化机构。
114.例如,若位置信息为“杭州”,则在图3所示的机构图片中确定杭州对应的点,将与杭州对应的点之间存在边,且关系为位于的点所对应的第六本地化机构(即浙江省人民医院和浙江科学医学院附属妇产科医院)确定为与位置信息匹配的第四本地化机构。也就是说,第四本地化机构为浙江省人民医院和浙江科学医学院附属妇产科医院。
115.那么第四集合为{浙江省人民医院,浙江科学医学院附属妇产科医院}∩(第一集合∪第二集合)。
116.107,在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,并将第五本地化机构与并集的交集形成第五集合。
117.本步骤中的关键词即步骤102中得到的关键词。
118.需要说明的是,第五本地化机构中的“第五”仅为标识作用,用于区别机构图谱中与关键词匹配的本地化机构和其他本地化机构,无其他实质含义。也就是说,第五本地化机构是一个本地化机构,其为机构图谱中的一个本地化机构,且该本地化机构与关键词匹配,为了区分,将其命名为第五本地化机构。若将机构图谱中存储的本地化机构命名为第六本地化机构,那么第五本地化机构实质也是一个第六本地化机构,是一种满足特定条件(即与关键词匹配)的第六本地化机构。
119.基于图3所示的机构图谱,本步骤会在预先构建的机构图谱中,确定与关键词对应的点。将与关键词对应的点之间存在边,且关系为特色(即图3中的“famousdepartment”)的点所对应的第六本地化机构确定为与关键词匹配的第五本地化机构。
120.例如,若关键词为“妇科”,则在图3所示的机构图片中确定妇科对应的点,将与妇科对应的点之间存在边,且关系为特色的点所对应的第六本地化机构(即浙江科学医学院
附属妇产科医院)确定为与关键词匹配的第五本地化机构。也就是说,第五本地化机构为浙江科学医学院附属妇产科医院。
121.那么第五集合为{浙江科学医学院附属妇产科医院}∩(第一集合∪第二集合)。
122.108,将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。
123.通过第一集合和第二集合的并集,得到了与搜索词相关的所有本地化机构。通过第三集合,得到了并集中与用户意向的位置匹配的本地化机构。通过第四集合,得到了并集中与机构知识图谱中用户意向位置相关的所有本地化机构所匹配的本地化机构。通过第五结合,得到了并集中与机构知识图谱中用户意向关键词相关的所有本地化机构所匹配的本地化机构。那么通过第三集合、第四集合、第五集合的并集可以全面的获取到所有用户意向本地化机构,因此,本步骤会将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。
124.但是,在所有用户意向本地化机构中,其与用户意向的贴切程度不同,有的更贴切。因此,在得到第一搜索词所搜索到的本地化机构之后,会根据其与用户意向的贴切程度不同进行排序,按照贴切程度由高到底依次向用户展示,让用户更容易找到符合其需求的优质资源。具体的排序过程如下:401,确定每个第七本地化机构与第一搜索词之间的匹配度,并获取每个第七本地化机构的特征、用户的用户画像和历史行为信息。
125.其中,第七本地化机构为搜索到的本地化机构。
126.因为在步骤103中,会计算score_e和score_m,因此,本步骤中,对于任一第七本地化机构,其任一第七本地化机构与第一搜索词之间的匹配度score=(λ1*score_e+λ2*score_m)/2。
127.其中,λ1为词库的权重,λ2为语义数据库的权重。
128.λ1为词库在给定测试集上的准确率,λ2为语义数据库在给定测试集上的准确率。
129.需要说明的是,第七本地化机构中的“第七”仅为标识作用,用于区别机构图谱中与其他本地化机构,无其他实质含义。也就是说,第七本地化机构是一个本地化机构,其为第一搜索词所搜索到的本地化机构,为了区分,将其命名为第七本地化机构。
130.另外,第七本地化机构的特征如等级排名、用户评分等。
131.用户画像如用户年龄、性别、id等。
132.历史行为信息如用户的历史选择的机构等。
133.402,将匹配度、第七本地化机构的特征、用户画像、历史行为信息分别通过第二embedding层进行语义空间至向量空间的映射,得到映射后的匹配度、映射后的特征、映射后的用户画像,映射后的历史行为信息。
134.需要说明的是,第二embedding层中的“第二”仅为标识作用,用于区分其他模型中的embedding层,无其他实质含义。也就是说,第二embedding层是embedding层,用于对第七本地化机构进行排序。
135.403,根据映射后的历史行为信息与映射后的特征确定注意力权重,并将注意力权重与映射后的历史行为信息进行克罗内克积运算。
136.其中,注意力权重的确定过程为:将映射后的历史行为信息与映射后的特征依次
通过特征乘积product层、第三激活函数wrelu、第二concat层、第二信息加工函数wmice,第二dense层得到注意力权重。
137.需要说明的是,第二concat层、第二信息加工函数wmice、第二dense层中的“第二”、仅为标识作用,用于区分其他模型中的concat层、信息加工函数wmice、dense层,无其他实质含义。也就是说,第二concat层是concat层,用于确定注意力权重,第二信息加工函数wmice是信息加工函数wmice,用于确定注意力权重,第二dense层是dense层,用于确定注意力权重。
138.第三激活函数wrelu中的“第三”,用于区分不同的激活函数,无其他实质含义。也就是说,第三激活函数wrelu为一个激活函数,其函数为wrelu。
139.其中,信息加工函数wmice(s)=p(s)*s^2+(1

p(s))*0.25s^2。其中,,s为输入信息加工函数wmice的参数值,σ()为求均值函数,var()为求方差函数,

为预设的无穷小值。
140.ℇ
用于防止分母为0。
141.激活函数为:当xi>0时,wrelu(xi)=xi;当xi≤0时,wrelu(xi)=0.25xi;其中,i为输入激活函数wrelu的参数标识,xi为输入激活函数wrelu的第i个参数值。
142.在具体实施时,注意力权重可以为press络结构,其架构如图5所示。
143.如图5所示,将映射后的历史行为信息与映射后的特征依次通过product层、激活函数wrelu、concat层、信息加工函数wmice,dense层得到注意力权重。
144.404,将克罗内克积运算结果、映射后的用户画像、映射后的特征,映射后的匹配度依次通过第一concat(融合降维)层、第一激活函数wrelu、第一信息加工函数wmice,第二激活函数softmax、output层得到第七本地化机构的排序。
145.需要说明的是,第一concat层、第一信息加工函数wmice中的“第一”、仅为标识作用,用于区分其他模型中的concat层和信息加工函数wmice,无其他实质含义。也就是说,第一concat层是concat层,用于对第七本地化机构进行排序,第一信息加工函数wmice是信息加工函数wmice,用于对第七本地化机构进行排序。
146.第一激活函数wrelu和第二激活函数softmax中的“第一”、“第二”仅为标识作用,用于区分不同的激活函数,无其他实质含义。也就是说,第一激活函数wrelu为一个激活函数,其函数为wrelu,第二激活函数softmax为一个激活函数,其函数为softmax。
147.其中,信息加工函数wmice(s)=p(s)*s^2+(1

p(s))*0.25s^2。其中,,s为输入信息加工函数wmice的参数值,σ()为求均值函数,var()为求方差函数,

为预设的无穷小值。
148.ℇ
用于防止分母为0。
149.激活函数为:当xi>0时,wrelu(xi)=xi;当xi≤0时,wrelu(xi)=0.25xi;其中,i为输入激活函数wrelu的参数标识,xi为输入激活函数wrelu的第i个参数值。
150.上述步骤401

404所进行的第七本地化机构排序过程,在具体实施时可以通过神经网络实现,其架构如图4所示。
151.在图4中的架构中,匹配度、本地化机构的特征、用户画像、历史行为信息分别通过embedding层进行语义空间至向量空间的映射,得到映射后的匹配度、映射后的特征、映射后的用户画像,映射后的历史行为信息。根据映射后的历史行为信息与映射后的特征确定注意力权重(即图4中的attentionweight),并将注意力权重与映射后的历史行为信息进行克罗内克积运算(即图4中的

)。将克罗内克积运算结果、映射后的用户画像、映射后的特征,映射后的匹配度依次通过concat层(即图4中的concat&flattem)、激活函数wrelu、信息加工函数wmice,激活函数softmax、output层得到本地化机构的排序。
152.405,按排序向用户反馈第七本地化机构。
153.通过上述步骤401

405,可以将第七本地化机构进行排序,并按排序顺序向用户反。在排序时,将与词库、语义数据库比较中得到的两个相似度加权求平均再进行分箱,加入机构的等级排名、用户评分,再考虑当前用户的历史选择的机构、历史机构的等级和用户评分等信息作为机构特征,加入用户年龄、性别、id作为用户的画像信息,得到每个机构的得分。该排序方案充分考虑了本地化机构的名称与用户搜索的匹配度、本地化机构本身的属性、用户画像及历史行为信息,在返回结果准确的基础上保证优质且用户偏好的机构排在前面,让用户更容易找到符合需求且优质的资源。
154.本实施例提供的本地化机构搜索的方法是一种结合本地化机构地点归一化、语义模型、知识图谱等技术进行机构召回,融入机构信息、用户画像进行个性化排序的方法。结合机构评级、用户评分等机构信息进行排序。流程图如下图所示,红色的连线代表对数据库里的机构进行的处理流程。
155.下面以图6为例再次对本实施例提供的本地化机构搜索的方法进行说明。参见图6,其中虚线代表对数据库中的本地化机构进行的处理流程,在执行本实施例提供的本地化机构搜索的方法时,会先将数据库中的机构名称转化为语义向量存储在语义数据库中,将文本存在词库中。实线代表线上用户搜索词的处理流程。
156.在本地化机构搜索的方法初始化时,会先将所有机构经过地点归一化再通过编码模型编码为向量存储在语义数据库中。当用户输入搜索词时,先对搜索词中的地点进行归一化,然后使用编码模型处理得到语义向量,最后和语义数据库中储存的机构向量计算余弦相似度,取出余弦相似度最高的前n1个机构作为集合a(即第一集合);同时也会将归一化后的搜索词输入词库运用bm25算法与库里的机构计算字面相似度,取出相似度最高的前n2个机构作为集合b(即第二集合)。对集合a和集合b求并集得到集合c,匹配度总得分是集合a中余弦相似度和集合b中词相似度的加权平均值。
157.在得到候选机构集合c后,会对用户搜索的地址信息和集合c中的本地化机构的地址信息进行匹配。如果用户搜索词中存在地址信息,则获取搜索词中的地址信息,如果用户搜索词中不存在地址信息,则从用户网络ip中转换得到地址信息,以用户搜索词中包含的地址信息优先。另外,会对机构的信息构建一个机构知识图谱,里面包含了机构的地址信息、机构名称、机构评级、机构特色(比如医院的特色科室)等,这个图谱不仅能让我们做简单的地点匹配,且能解决本地同一类型机构但名字为不同的行政区级别的机构搜索。在对用户搜索和集合c中的本地化机构进行匹配时,先用用户搜索中的地点和集合c中的机构地
点进行匹配得到地点匹配的本地化机构集合d(即第三集合);再拿用户搜索中的地点去机构图谱中查询,查询出位于该地点且在集合c中的本地化机构得到集合e(即第四集合);再将用户搜索词中的地点相关文本和“医院”过滤掉,如用户在杭州搜索“肿瘤医院”,得到的“肿瘤”,用这个关键词作为节点名称去机构图谱里面搜索关系为famous department指向该节点的节点,与集合c求交集得到集合f(即第五集合),最后对d、e、f求并集作为最终的本地化机构。
158.然后对最终的本地化机构进行排序,输出给用户。
159.下面再以杭州用户输入:“妇幼保健院”为例进行说明。
160.杭州用户输入:“妇幼保健院”后,经词性分析和归一化后得到输入“妇幼保健院”,搜索词中没有地址信息,拿取到用户的ip得到用户地址为“杭州”,将妇幼保健院输入词库和经编码模型得到向量输入语义数据库分别进行检索并将检索的结果求并集,得到如下候选机构名称:地级市妇幼保健院省份名妇幼保健院行政区妇幼保健院然后拿到这些候选机构的地点和“杭州”进行编辑距离计算,发现没有候选机构的地址和杭州匹配,在拿杭州去机构图谱里面去搜索,将查询出位于杭州的所有医院与前面得到的候选医院求交集,得到匹配的医院为“浙江省妇幼保健院”、“上城区妇幼保健院”。然后拿关键词“妇幼”去机构图谱里面去搜索,将查询出特色科室为妇幼的所有医院与前面得到的候选医院求交集,得到匹配的医院为“浙江省妇幼保健院”、“上城区妇幼保健院”。将上述集合求并集,得到“浙江省妇幼保健院”、“上城区妇幼保健院”。
161.将这两个医院的词相似度和向量相似度进行加权平均再进行分桶(比如加权平均分在0.8以上取值1,0.6到0.8取值2,0.6以下取值3)。再将用户画像信息如年龄、性别、历史就医信息、医院的等级、医院在平台上的用户评分进行onehot编码,组成一组特征输入到图4所示的结构中,得到匹配的两个医院的得分,按分数高低对两个医院进行展示,得分高的排在得分低的机构前面。
162.下面再以杭州用户输入“杭州肿瘤医院”为例进行说明。
163.杭州用户输入“杭州肿瘤医院”,经过词性分析和归一化得到输入“地级市肿瘤医院”,地点为“杭州”。经过词库和语义数据库均没有得到候选医院。此时,将“杭州”和“肿瘤”(医院此时为在表征地点名称的第一分词被剔除)作为图3所示的机构图谱的两个节点,在机构图谱里进行链式查询,得到位于杭州且特色科室包含肿瘤科的浙江省人民医院作为匹配医院。因为只有唯一一个符合的机构,因此,不需要排序,直接反馈给用户。
164.本实施例提供的本地化机构搜索的方法,该方法包括:获取第一搜索词;基于第一搜索词确定位置信息、关键词、第二搜索词;第二搜索词是对第一搜索词进行地址归一化后得到的;在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合;词库中存储有各第六本地化机构的地址归一化名称,语义数据库中存储有各第六本地化机构的名称语义向量;确定第一集合和第二结合的并集;在并集中,确定与位置信息匹配的第三本地化机构,形成第三集合;在预先构建的机构图谱中,确定与位置信息匹
配的第四本地化机构,并将第四本地化机构与并集的交集形成第四集合;机构图谱中包括各第六本地化机构的属性信息;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,并将第五本地化机构与并集的交集形成第五集合;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。本发明所提供的方法,通过词库、语义数据库和机构图谱保证了搜索结果不仅在语义层面上满足用户需求,还在地里位置等层面上也符合用户需求,提升了搜索结果的准确性。
165.基于与本地化机构搜索的方法的同一发明构思,本实施例提供一种电子设备,其包括:存储器,处理器,以及计算机程序。
166.其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现如图1所示的本地化机构搜索方法。
167.具体的,获取第一搜索词;基于第一搜索词确定位置信息、关键词、第二搜索词;第二搜索词是对第一搜索词进行地址归一化后得到的;在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合;词库中存储有各第六本地化机构的地址归一化名称,语义数据库中存储有各第六本地化机构的名称语义向量;确定第一集合和第二结合的并集;在并集中,确定与位置信息匹配的第三本地化机构,形成第三集合;在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,并将第四本地化机构与并集的交集形成第四集合;机构图谱中包括各第六本地化机构的属性信息;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,并将第五本地化机构与并集的交集形成第五集合;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。
168.可选地,基于第一搜索词确定位置信息、关键词、第二搜索词,包括:对第一搜索词进行分词处理;确定是否存在表征地点名称的第一分词;若存在第一分词,则将第一分词作为位置信息,若不存在第一分词,则确定发送第一搜索词的ip地址,将ip地址所在位置作为位置信息;确定表征服务类型的第二分词;将除第一分词和第二分词之外的分词作为关键词;若存在第一分词,则将第一分词向行政区划等级进行映射,得到第三分词,将第一分词替换为第三分词,得到第二搜索词。
169.可选地,在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合之前,还包括:获取各第六本地化机构的名称、标识和地址;
对每一个六本地化机构的名称进行分词处理,确定表征地点名称的第四分词,将第四分词向行政区划等级进行映射,得到第五分词,将第四分词替换为第五分词,得到处理后名称;根据各第六本地化机构的处理后名称、标识和地址构建词库;根据预先训练好的编码模型,确定各处理后名称的机构向量;根据各第六本地化机构的机构向量、标识和地址构建语义数据库;其中,编码模型由第一映射embedding层、神经网络编码dnn encoder层、外积outer product层、第一全连接dense层、交叉熵损失计算cross entropy loss层构成;编码模型的训练过程为:获取第一样本搜索词和第一样本本地化机构的名称和标签;第一样本搜索词和第一样本本地化机构的名称均已进行地址归一化;将第一样本搜索词和第一样本本地化机构的名称分别通过第一embedding层进行语义空间至向量空间的映射,将映射后的向量空间再分别通过dnn encoder层进行编码,得到第一编码结果和第二编码结果;将第一编码结果和第二编码结果输入outer product层,进行外积计算;将计算后的结果和第一样本本地化机构的标签输入cross entropy loss层,计算交叉熵损失;若交叉熵损失小于预设阈值,则结束编码模型的训练;若交叉熵损失不小于预设阈值,则根据计算结果调整编码模型,针对调整后编码模型,重复执行训练过程,直至交叉熵损失的计算结果小于预设阈值。
170.可选地,任一第六本地化机构的属性信息包括如下的一种或多种:地址信息、名称、昵称、特色;机构图谱中包括点和边;每个第六本地化机构的名称对应机构图谱中的唯一一个点;每个第六本地化机构的昵称对应机构图谱中的唯一一个点;每个第六集合中的元素对应机构图谱中的唯一一个点;第六集合为所有第六本地化机构的特色的并集;各行政区划分别对应机构图片中的唯一一个点;同一个第六本地化机构的名称对应的点与其昵称对应的点之间存在一条边,该边由其名称对应的点指向其昵称对应的点,且该边的关系为昵称;同一个本地化机构的名称对应的点与其特色对应的点之间存在一条边,该边由其名称对应的点指向其特色对应的点,且该边的关系为特色;根据各行政区划之间的隶属关系,在相应的行政区划所对应的点之间存在一条边,该边由一个行政区划所对应的点指向其隶属于的行政区划所对应的点,且该边的关系为位于;根据每个第六本地化机构的地址信息确定其所属行政区划;每个第六本地化机构的名称对应的点与其所属行政区划对应的点之间存在一条边,该边由其名称对应的点指向其所属行政区划对应的点,且该边的关系为位于;在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,包括:
在预先构建的机构图谱中,确定位置信息对应的点;将与位置信息对应的点之间存在边,且关系为位于的点所对应的第六本地化机构确定为与位置信息匹配的第四本地化机构;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,包括:在预先构建的机构图谱中,确定与关键词对应的点;将与关键词对应的点之间存在边,且关系为特色的点所对应的第六本地化机构确定为与关键词匹配的第五本地化机构。
171.可选地,第一搜索词由用户输入;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构之后,还包括:确定每个第七本地化机构与第一搜索词之间的匹配度,并获取每个第七本地化机构的特征、用户的用户画像和历史行为信息;第七本地化机构为搜索到的本地化机构;将匹配度、第七本地化机构的特征、用户画像、历史行为信息分别通过第二embedding层进行语义空间至向量空间的映射,得到映射后的匹配度、映射后的特征、映射后的用户画像,映射后的历史行为信息;根据映射后的历史行为信息与映射后的特征确定注意力权重,并将注意力权重与映射后的历史行为信息进行克罗内克积运算;将克罗内克积运算结果、映射后的用户画像、映射后的特征,映射后的匹配度依次通过第一融合降维concat层、第一激活函数wrelu、第一信息加工函数wmice,第二激活函数softmax、output层得到第七本地化机构的排序;按排序向用户反馈第七本地化机构。
172.可选地,根据映射后的历史行为信息与映射后的特征确定注意力权重,包括:将映射后的历史行为信息与映射后的特征依次通过特征乘积product层、第三激活函数wrelu、第二concat层、第二信息加工函数wmice,第二dense层得到注意力权重。
173.可选地,在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,包括:确定词库中每个第六本地化机构的地址归一化名称与第二搜索词之间的字面相似度score_e,选择score_e最大的n1个第六本地化机构作为第一本地化机构;在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,包括:确定语义数据库中每个第六本地化机构的名称语义向量与第二搜索词之间的向量余弦相似度score_m,选择score_m最大的n2个第六本地化机构作为第二本地化机构;确定每个第七本地化机构与第一搜索词之间的匹配度,包括:对于任一第七本地化机构,任一第七本地化机构与第一搜索词之间的匹配度score=(λ1*score_e+λ2*score_m)/2;其中,λ1为词库的权重,λ2为语义数据库的权重。
174.可选地,激活函数为:当xi>0时,wrelu(xi)=xi;当xi≤0时,wrelu(xi)=0.25xi;其中,i为输入激活函数wrelu的参数标识,xi为输入激活函数wrelu的第i个参数值;
信息加工函数wmice(s)=p(s)*s^2+(1

p(s))*0.25s^2;其中,,s为输入信息加工函数wmice的参数值,σ()为求均值函数,var()为求方差函数,

为预设的无穷小值。
175.本实施例提供的电子设备,可以获取第一搜索词;基于第一搜索词确定位置信息、关键词、第二搜索词;第二搜索词是对第一搜索词进行地址归一化后得到的;在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合;词库中存储有各第六本地化机构的地址归一化名称,语义数据库中存储有各第六本地化机构的名称语义向量;确定第一集合和第二结合的并集;在并集中,确定与位置信息匹配的第三本地化机构,形成第三集合;在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,并将第四本地化机构与并集的交集形成第四集合;机构图谱中包括各第六本地化机构的属性信息;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,并将第五本地化机构与并集的交集形成第五集合;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。本发明所提供的方法,通过词库、语义数据库和机构图谱保证了搜索结果不仅在语义层面上满足用户需求,还在地里位置等层面上也符合用户需求,提升了搜索结果的准确性。
176.基于与本地化机构搜索的方法的同一发明构思,本实施例提供一种计算机可读存储介质,其上存储有计算机程序。计算机程序被处理器执行以实现如图1所示的本地化机构搜索方法。
177.具体的,获取第一搜索词;基于第一搜索词确定位置信息、关键词、第二搜索词;第二搜索词是对第一搜索词进行地址归一化后得到的;在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合;词库中存储有各第六本地化机构的地址归一化名称,语义数据库中存储有各第六本地化机构的名称语义向量;确定第一集合和第二结合的并集;在并集中,确定与位置信息匹配的第三本地化机构,形成第三集合;在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,并将第四本地化机构与并集的交集形成第四集合;机构图谱中包括各第六本地化机构的属性信息;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,并将第五本地化机构与并集的交集形成第五集合;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。
178.可选地,基于第一搜索词确定位置信息、关键词、第二搜索词,包括:对第一搜索词进行分词处理;确定是否存在表征地点名称的第一分词;
若存在第一分词,则将第一分词作为位置信息,若不存在第一分词,则确定发送第一搜索词的ip地址,将ip地址所在位置作为位置信息;确定表征服务类型的第二分词;将除第一分词和第二分词之外的分词作为关键词;若存在第一分词,则将第一分词向行政区划等级进行映射,得到第三分词,将第一分词替换为第三分词,得到第二搜索词。
179.可选地,在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合之前,还包括:获取各第六本地化机构的名称、标识和地址;对每一个六本地化机构的名称进行分词处理,确定表征地点名称的第四分词,将第四分词向行政区划等级进行映射,得到第五分词,将第四分词替换为第五分词,得到处理后名称;根据各第六本地化机构的处理后名称、标识和地址构建词库;根据预先训练好的编码模型,确定各处理后名称的机构向量;根据各第六本地化机构的机构向量、标识和地址构建语义数据库;其中,编码模型由第一映射embedding层、神经网络编码dnn encoder层、外积outer product层、第一全连接dense层、交叉熵损失计算cross entropy loss层构成;编码模型的训练过程为:获取第一样本搜索词和第一样本本地化机构的名称和标签;第一样本搜索词和第一样本本地化机构的名称均已进行地址归一化;将第一样本搜索词和第一样本本地化机构的名称分别通过第一embedding层进行语义空间至向量空间的映射,将映射后的向量空间再分别通过dnn encoder层进行编码,得到第一编码结果和第二编码结果;将第一编码结果和第二编码结果输入outer product层,进行外积计算;将计算后的结果和第一样本本地化机构的标签输入cross entropy loss层,计算交叉熵损失;若交叉熵损失小于预设阈值,则结束编码模型的训练;若交叉熵损失不小于预设阈值,则根据计算结果调整编码模型,针对调整后编码模型,重复执行训练过程,直至交叉熵损失的计算结果小于预设阈值。
180.可选地,任一第六本地化机构的属性信息包括如下的一种或多种:地址信息、名称、昵称、特色;机构图谱中包括点和边;每个第六本地化机构的名称对应机构图谱中的唯一一个点;每个第六本地化机构的昵称对应机构图谱中的唯一一个点;每个第六集合中的元素对应机构图谱中的唯一一个点;第六集合为所有第六本地化机构的特色的并集;各行政区划分别对应机构图片中的唯一一个点;同一个第六本地化机构的名称对应的点与其昵称对应的点之间存在一条边,该边
由其名称对应的点指向其昵称对应的点,且该边的关系为昵称;同一个本地化机构的名称对应的点与其特色对应的点之间存在一条边,该边由其名称对应的点指向其特色对应的点,且该边的关系为特色;根据各行政区划之间的隶属关系,在相应的行政区划所对应的点之间存在一条边,该边由一个行政区划所对应的点指向其隶属于的行政区划所对应的点,且该边的关系为位于;根据每个第六本地化机构的地址信息确定其所属行政区划;每个第六本地化机构的名称对应的点与其所属行政区划对应的点之间存在一条边,该边由其名称对应的点指向其所属行政区划对应的点,且该边的关系为位于;在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,包括:在预先构建的机构图谱中,确定位置信息对应的点;将与位置信息对应的点之间存在边,且关系为位于的点所对应的第六本地化机构确定为与位置信息匹配的第四本地化机构;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,包括:在预先构建的机构图谱中,确定与关键词对应的点;将与关键词对应的点之间存在边,且关系为特色的点所对应的第六本地化机构确定为与关键词匹配的第五本地化机构。
181.可选地,第一搜索词由用户输入;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构之后,还包括:确定每个第七本地化机构与第一搜索词之间的匹配度,并获取每个第七本地化机构的特征、用户的用户画像和历史行为信息;第七本地化机构为搜索到的本地化机构;将匹配度、第七本地化机构的特征、用户画像、历史行为信息分别通过第二embedding层进行语义空间至向量空间的映射,得到映射后的匹配度、映射后的特征、映射后的用户画像,映射后的历史行为信息;根据映射后的历史行为信息与映射后的特征确定注意力权重,并将注意力权重与映射后的历史行为信息进行克罗内克积运算;将克罗内克积运算结果、映射后的用户画像、映射后的特征,映射后的匹配度依次通过第一融合降维concat层、第一激活函数wrelu、第一信息加工函数wmice,第二激活函数softmax、output层得到第七本地化机构的排序;按排序向用户反馈第七本地化机构。
182.可选地,根据映射后的历史行为信息与映射后的特征确定注意力权重,包括:将映射后的历史行为信息与映射后的特征依次通过特征乘积product层、第三激活函数wrelu、第二concat层、第二信息加工函数wmice,第二dense层得到注意力权重。
183.可选地,在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,包括:确定词库中每个第六本地化机构的地址归一化名称与第二搜索词之间的字面相似度score_e,选择score_e最大的n1个第六本地化机构作为第一本地化机构;在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,包
括:确定语义数据库中每个第六本地化机构的名称语义向量与第二搜索词之间的向量余弦相似度score_m,选择score_m最大的n2个第六本地化机构作为第二本地化机构;确定每个第七本地化机构与第一搜索词之间的匹配度,包括:对于任一第七本地化机构,任一第七本地化机构与第一搜索词之间的匹配度score=(λ1*score_e+λ2*score_m)/2;其中,λ1为词库的权重,λ2为语义数据库的权重。
184.可选地,激活函数为:当xi>0时,wrelu(xi)=xi;当xi≤0时,wrelu(xi)=0.25xi;其中,i为输入激活函数wrelu的参数标识,xi为输入激活函数wrelu的第i个参数值;信息加工函数wmice(s)=p(s)*s^2+(1

p(s))*0.25s^2;其中,,s为输入信息加工函数wmice的参数值,σ()为求均值函数,var()为求方差函数,

为预设的无穷小值。
185.本实施例提供的计算机可读存储介质,可以获取第一搜索词;基于第一搜索词确定位置信息、关键词、第二搜索词;第二搜索词是对第一搜索词进行地址归一化后得到的;在预先构建的词库中,确定与第二搜索词匹配的n1个第一本地化机构,形成第一集合,同时,在预先构建的语义数据库中,确定与第二搜索词匹配的n2个第二本地化机构,形成第二集合;词库中存储有各第六本地化机构的地址归一化名称,语义数据库中存储有各第六本地化机构的名称语义向量;确定第一集合和第二结合的并集;在并集中,确定与位置信息匹配的第三本地化机构,形成第三集合;在预先构建的机构图谱中,确定与位置信息匹配的第四本地化机构,并将第四本地化机构与并集的交集形成第四集合;机构图谱中包括各第六本地化机构的属性信息;在预先构建的机构图谱中,确定与关键词匹配的第五本地化机构,并将第五本地化机构与并集的交集形成第五集合;将第三集合、第四集合、第五集合并集中的元素作为第一搜索词所搜索到的本地化机构。本发明所提供的方法,通过词库、语义数据库和机构图谱保证了搜索结果不仅在语义层面上满足用户需求,还在地里位置等层面上也符合用户需求,提升了搜索结果的准确性。
186.为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
187.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
188.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
189.此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
190.尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
191.显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1