首页> 中国专利> 搜索处理方法、搜索方法和搜索系统

搜索处理方法、搜索方法和搜索系统

摘要

公开了一种搜索处理方法、搜索方法和搜索。所述搜索处理方法包括:获取当前搜索词和当前筛选项;将获取的所述当前搜索词和所述当前筛选项送入深度学习模型;以及基于所述深度学习模型输出的结果,求取用于表征所述当前筛选项与所述当前搜索词相关性的词权重分,其中,所述深度学习模型使用表征搜索词与筛选项的搜索结果相关性的词权重标签进行训练。本发明采用了一种上下文动态词权重计算方法,创新地融合了QPP指标,从搜索结果本身设计词权重,使得权重目标与搜索效果一致,由此大幅提升基于词权重的筛选项筛选的效率,尤其适用于医疗搜索场景下关键词匹配能力的提升,并由此改善医疗搜索的召回质量。

著录项

  • 公开/公告号CN114936262A

    专利类型发明专利

  • 公开/公告日2022-08-23

    原文格式PDF

  • 申请/专利权人 阿里巴巴(中国)有限公司;

    申请/专利号CN202210329150.1

  • 发明设计人 李泽诚;马镇新;

    申请日2022-03-31

  • 分类号G06F16/31(2019.01);G06F16/33(2019.01);G06F16/36(2019.01);

  • 代理机构北京展翼知识产权代理事务所(特殊普通合伙) 11452;

  • 代理人张阳

  • 地址 310052 浙江省杭州市滨江区长河街道网商路699号4号楼5楼508室

  • 入库时间 2023-06-19 16:26:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-09

    实质审查的生效 IPC(主分类):G06F16/31 专利申请号:2022103291501 申请日:20220331

    实质审查的生效

说明书

技术领域

本公开涉及搜索领域,尤其涉及一种搜索处理方法、搜索方法和搜索系统。

背景技术

搜索领域一直致力于为用户提供更符合其搜索意图,且更为准确的搜索结果。在诸如医疗的某些垂直搜索领域,由于领域的专业性,单凭用户自身提供的搜索词往往无法召回用户期望的搜索词。为此,可以通过多轮问答等的方式让用户提供更多的信息描述,以作为初始输入的搜索词的补充或是修正。

如何利用这些信息描述来为用户提供更为准确的搜索词,成为本领域技术人员需要考虑的问题。

发明内容

本公开要解决的一个技术问题是提供一种搜索处理方法、搜索方法和搜索。本方案采用了一种基于QPP的上下文动态词权重计算方法,创新地融合了QPP指标,从搜索结果本身设计词权重,使得权重目标与搜索效果一致,由此大幅提升基于词权重的tag筛选的效率,提高了医疗搜索场景下的关键词匹配能力,并由此提升了医疗搜索的召回质量。

根据本公开的第一个方面,提供了一种搜索处理方法,包括:获取当前搜索词和当前筛选项;将获取的所述当前搜索词和所述当前筛选项送入深度学习模型;以及基于所述深度学习模型输出的结果,求取用于表征所述当前筛选项与所述当前搜索词相关性的词权重分,其中,所述深度学习模型使用表征搜索词与筛选项的搜索结果相关性的词权重标签进行训练。

可选地,在训练之前,基于第一搜索词和第一筛选项的搜索结果表现离线构造训练针对所述第一搜索词和所述第一筛选项的第一词权重标签。

可选地,单次预测中,所述深度学习模型使用一个当前搜索词和多个当前筛选项作为输入样本,以输入的所述多个当前筛选项各自的权重分作为输出,并且在训练阶段,在所述深度学习模型的输入样本包括所述第一搜索词、所述第一筛选项以及第二筛选项时,使用所述第一词权重标签以及针对所述第一搜索词和第二筛选项的第二词权重标签来求取损失值。

可选地,在训练之前,基于第一搜索词和第一筛选项的搜索结果表现离线构造训练针对所述第一搜索词和所述第一筛选项的第一词权重标签包括:使用所述第一搜索词和所述第一筛选项发起搜索并获取第一前N个返回结果,N是大于1的整数;求取所述第一搜索词在所述第一前N个返回结果中的搜索词命中分;求取所述第一筛选项在所述第一前N个返回结果中的筛选项命中分;求取所述第一搜索词和所述第一前N个返回结果的相关分;以及根据所述第一搜索词命中分、第一筛选项命中分和所述第一相关分构造所述第一词权重标签。

可选地,训练所述深度学习模型包括:将筛选项被掩码的包括搜索词和多个筛选项的训练样本送入所述深度学习模型;对输入的所述训练样本进行特征提取,并获取被掩码筛选项的筛选项嵌入向量;经由转换层将所述被掩码筛选项的筛选项嵌入向量转化为预测的词权重值;以及基于与所述训练样本中包括的搜索词和被掩码筛选项相对应的词权重标签,求取损失函数。

可选地,所述深度学习模型是上下文感知的动态词权重模型,并且包括用于对输入进行特征提取的多个Transformer模型层。

可选地,所述方法还包括:对经权重过滤的筛选项和所述当前搜索词进行重述,以生成优化的搜索词;以及将所述优化的搜索词送入搜索引擎以向用户提供针对所述当前搜索词的搜索结果,其中,使用所述搜索引擎的搜索结果用于所述词权重标签的求取。

可选地,所述搜索处理方法用于医疗垂直搜索,所述用户输入的当前搜索词包括症状和/或病名内容,所述当前筛选项包括对症状的补充描述。

根据本公开的第二个方面,提供了搜索方法,包括:获取用户输入的搜索词和筛选项;对所述筛选项进行同义词处理;将所述搜索词和经同义词处理的筛选项送入深度学习模型,求取各个筛选项的权重分;以及

对经权重分过滤的筛选项和所述搜索词进行重述,以生成优化的搜索词,其中,所述深度学习模型使用表征搜索词与筛选项的搜索结果相关性的词权重标签进行训练。

根据本公开的第三个方面,提供了一种搜索系统,包括:医疗垂搜判定单元,用于获取并识别用户输入的搜索词中的症状和/或病名内容作为关键短语;筛选项获取单元,用于基于所述关键短语提供对症状的多个补充描述并获取用户选择的补充描述作为筛选项;优化搜索词生成单元,用于执行如第一方面所述的方法,以生成所述优化的搜索词,以及搜索引擎,用于根据所述优化的搜索词返回搜索结果。

根据本公开的第四个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。

根据本公开的第无个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。

由此,词权重模型能够从搜索结果中学习到在现有搜索召回规则和搜索数据中筛选项与搜索词的相关性。因此,在用户选择了多个筛选项或是某个选择的筛选项与搜索词的搜索结果较少时,可以通过基于词权重的筛选项筛选来优化送入搜索引擎的搜索词,从而提高搜索引擎的数据召回质量。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本发明一个实施例的搜索处理方法的示意性流程图。

图2A-B示出了基于用户输入提供后续筛选项并由此进行搜索的页面显示的例子。

图3示出了根据本发明的一种上下文感知的动态词权重模型的训练示意图。

图4示出了根据本发明一个实施例的搜索方法的示意性流程图。

图5示出了根据本发明进行优化搜索的整体流程例。

图6示出了同义词挖掘的一个流程示意图。

图7示出了根据本发明一个实施例的Query重述的流程图。

图8示出了根据本发明一个实施例的搜索系统的组成示意图。

图9示出了根据本发明一实施例可用于实现上述搜索方法的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

搜索领域一直致力于为用户提供更符合其搜索意图,且更为准确的搜索结果。在某些垂直搜索领域,由于领域的专业性,单凭用户自身提供的搜索词往往无法召回用户期望的搜索结果。垂直搜索引擎与一般的Web搜索引擎的不同之处在于,它专注于在线内容的特定部分。它们也被称为专业或主题搜索引擎。垂直内容区域可以基于主题性,媒体类型或内容类型。常见的行业包括购物,汽车业,法律信息,医学信息,学术文献,求职和旅行等。

以医疗垂直搜索领域为例,仅仅靠用户输入的搜索词(搜索词也称“Query”)往往很难找出用户的真正病因或是合理的应对方式。例如,用户搜索症状“胃痛”,返回结果可能会涉及五花八门的各种会导致胃痛的情况,不利于用户找出真正病因。再例如,用户搜索病名“甲沟炎”,返回的结果则涉及各种不同严重程度的甲沟炎,由于不同严重程度的甲沟炎所需的应对手段不同,因此不利于用户找出最为合理的应对方式。

为此,需要通过诸如多轮问答等的交互方式让用户提供更多的信息描述,以作为初始输入的搜索词的补充或是修正。而当用户提供的补充信息过多时,例如,当用户选择的筛选项较多时(筛选项也称“tag”,参见图2A-B),会因为有些tag命中率过低而导致返回结果较少,或者出现返回的搜索结果与初始搜索词不相关的情况。因此需要对多条tag进行词权重的计算,筛选部分tag进行搜索结果的召回、排序。由此,本发明提出了一种包含上下文的动态词权重计算方式,创新性地融合搜索效果(QPP)的后验指标,从搜索结果的角度去衡量各个tag相对于用户初始输入的搜索词(即,用户输入的初始Query)的词权重,直接优化搜索结果。从而实现了搜索体验的提升。

图1示出了根据本发明一个实施例的搜索处理方法的示意性流程图。该方法可由提供搜索服务的平台或系统实现,作为对现有搜索的优化方案。图1所示的方法是利用深度学习模型求取词权重分的方法。根据深度学习模型的基础知识可知,模型在用于对输入数据进行推理预测时,需要进行训练。在训练和推理阶段,模型都基于输入数据进行输出。不同之处在于,在训练阶段,需要将模型输出与目标输出(即,标签(label))相比较(即,计算损失函数),以通过反向梯度传播来调整模型参数,使得模型通过参数的迭代优化而能够输出与目标输出越来越接近的结果。在推理阶段,由于模型的参数已经经过训练(即,以某种方式习得的训练数据中所包含的信息),因此可以直接用于输出预测结果。由此,在一个实施例种,图1所示的方法可以看作是深度学习模型的训练方法。而在另一个实施例种,图1所示的方法可以看作是经训练的深度学习模型的推理方法。

在步骤S110,可以获取当前搜索词和当前筛选项。在使用深度学习模型进行推理的实施例中,该搜索处理方法涉及与用户的交互。为此,获取搜索词和筛选项可以是获取用户当前输入的(尤其是用户实时输入的)搜索词和筛选项。在此,用户输入的搜索词可以是用户例如在搜索框中搜索的初始内容(例如,初始Query),筛选项则可以是搜索平台根据用户输入的初始搜索词而与用户交互,并由此获取的针对所述搜索词的补充描述。在此,使用“当前”作为获取的搜索词和筛选项的限定,以与使用大数据构造词权重标签进行模型训练时提及的搜索词和筛选项相区别.

获取用户输入的当前搜索词和当前筛选项可以包括:获取所述用户当前输入的搜索词;基于搜索词,显示针对搜索词的补充描述选项;以及获取所述用户从所述补充描述选项中确定的筛选项。如上针对用户输入内容的补充描述尤其适用于垂直搜索领域,因此,本发明的搜索方法尤其适用于垂直搜索,例如医疗垂直搜索。在本发明的搜索方法用于进行医疗垂直搜索时,所述用户输入的搜索词通常包括症状和/或病名内容,所述筛选项包括对症状的补充描述。在此应用场景中,用户可以在专门的医疗垂直搜索框中进行搜索;也可以在通用的搜索框中进行搜索,并且搜索系统根据用户搜索词中所包含的关键短语将该搜索定义为垂直搜索,并转而在医疗垂直搜索引擎和数据库的范围内执行。

搜索系统从输入的搜索词中提取的关键短语需要包含有效信息,包括症状、病名和补充描述,并且可以对用户主诉的mention进行相应的词语替换。在此,用户在搜索框中输入的内容为“搜索词”,“关键短语”指代用户搜索词中用于定义用户意图的关键的词语;“mention”则指代用户输入中与关键短语对应的表述,例如用户输入“昨晚拉水了”,关键短语可以是“腹泻”,但主诉的mention是“拉水”。具体地,在用户输入的搜索词为“胃痛一个月”、“甲沟炎”、“吐了怎么办”这三个例子中,“胃痛一个月”包括症状“胃痛”和补充的症状持续时间“一个月”,因此用户的全部输入“胃痛一个月”都可算作是关键短语;“甲沟炎”对应疾病名称,因此用户的全部输入“甲沟炎”就是关键短语;而“吐了怎么办”中包括症状“吐”,即,主诉mention是“吐”,对应于关键短语“呕吐”,因此“吐了怎么办”对应的关键短语可以是“呕吐”。

如下将具体结合医疗垂直搜索领域内的例子进行描述,但应该理解的是,本发明的发明原理也适用于其他需要补充描述的搜索领域,尤其是其他专业性较高的垂直搜索领域。

举例而言,可以根据用户输入的搜索词中包括的关键短语来确定用户进行医疗垂直搜索的意图。具体地,用户输入的搜索词可以包括症状和/或病名内容。例如,在用户输入了搜索词“胃痛”的情况下,搜索平台可以根据“胃痛”这一搜索词,推测用户想要搜索医疗建议的意图。此时,则可以例如根据多轮问答或是为用户提供多个候选筛选项来获取更为精准地确定用户的“胃痛”是何种胃痛并且应该如何处置的信息。例如,可以在对话框中显示“胃痛多久了”,“经常胃痛吗”这类的问题,以便以问答形式获取用户继续提供的信息。在一个相较于多轮问答更为高效的实现中,可以直接为用户提供症状各个层面的补充描述的候选筛选项,由此用户通过简单的选择,就可以确定筛选项内容。

图2A-B示出了基于用户输入提供后续筛选项并由此进行搜索的页面显示的例子。如图2A所示,搜索系统在获取了用户输入的搜索词“胃痛”之后,为用户提供了有关“疼痛类型”、“发病状态”和“发生时间”这三个方面的各自多个的后续筛选项。用户可以根据自己的实际症状进行选择,例如,选择“胀痛”、“阵发性”和“餐后”。这些被选择的筛选项可被称为tag,并且在本发明的后续操作中进行处理以生成优化的搜索词。

虽然在步骤S110获取了搜索词和筛选项(即,初始Query和通常为多个的tag),但如果直接将这些内容送入搜索引擎进行搜索(例如,直接将“胃痛胀痛阵发性餐后”作为搜索词送入搜索引擎),往往无法得到理想的搜索结果,因此需要对搜索词进行优化。

于是,在步骤S120,可以将获取的当前搜索词和当前筛选项送入深度学习模型,并在步骤S130,基于所述深度学习模型输出的结果,求取用于表征当前筛选项与当前搜索词相关性的词权重分。在此,深度学习模型是使用QPP作为标签来进行训练的模型。也就是说,深度学习模型使用表征搜索词与筛选项的搜索结果相关性的词权重标签进行训练。应该明了的时,为了训练深度学习模型习得足够的相关性知识,需要为该模型构造大量的词权重标签训练,因此需要获取大量搜索词和对应的筛选项的搜索结果以构造大量的词权重标签进行训练。

在本发明中,筛选项与搜索词的相关性可以是深度学习模型从每个筛选项与搜索词的联合搜索的搜索结果中习得的。该深度学习模型例如可以是如下结合图3描述的上下文感知动态词权重模型。于是可以在实际应用中,可以直接在线上布置经训练深度学习模型,由此实时求取各个筛选项的权重分,并用于后续优化Query的生成。图2B示出了根据本发明进行优化查询的一个页面显示的例子。在用户基于图2A中给出的候选筛选项选择了“胀痛”、“阵发性”和“餐后”之后,搜索平台可以根据本发明的搜索方法,进行同义词替换、基于权重分的tag筛选和Query重述,最后例如得到“饭后胃痛一阵阵”的优化Query,并将该优化Query输入搜索引擎,得到如图2B所示的返回页面。这样就能够为用户提供更为精准的症状解答。在图2A和图2B中,下划线表示“飘红”,即,与输入搜索词命中。

在训练之前,可以离线构造词权重标签。例如,可以基于第一搜索词和第一筛选项的搜索结果表现离线构造训练针对所述第一搜索词和所述第一筛选项的第一词权重标签。

相应地,单次预测中,所述深度学习模型使用一个搜索词和多个筛选项作为输入样本,以输入的所述多个筛选项各自的权重分作为输出,并且在训练阶段,在所述深度学习模型的输入样本包括所述第一搜索词、所述第一筛选项以及(一个或多个)第二筛选项时,使用所述第一词权重标签以及针对所述第一搜索词和第二筛选项的(一个或多个)第二词权重标签来求取损失值。

在此,“第一”和“第二”用于指代同类对象中的不同对象。为了对各种各样的搜索词和筛选项输入进行预测,在进行深度模型训练时,需要利用涵盖各种疾病名称或症状的搜索词(通常具有各种不同的表达方式)和针对不同疾病或症状的各种筛选项作为输入,并准备相应的标签,来使得模型能够学习输入数据中隐含的相关性内容。

模型输入通常包括一个搜索词和多个筛选项(例如,默认为三个筛选项)。在模型训练阶段,可以为该搜索词和每个筛选项准备各自的标签。例如,某次模型训练输入的Query为“胸闷”,tag为“阵发性”、“背痛”和“右胸”。在此,需要分别求取Query为“胸闷”时,tag为“阵发性”的标签;Query为“胸闷”时,tag为“背痛”的标签;以及Query为“胸闷”时,tag为“右胸”的标签。可以将“胸闷”看作如上所述的第一搜索词,“阵发性”看作第一筛选项;而将“背痛”和“右胸”看作第二筛选项。也可以类似地,把“背痛”或是“右胸”看作第一筛选项,其他两项看作第二筛选项。

进一步地,在训练之前,基于第一搜索词和第一筛选项的搜索结果表现离线构造训练针对所述第一搜索词和所述第一筛选项的第一词权重标签包括:使用所述第一搜索词和所述第一筛选项发起搜索并获取第一前N个返回结果,N是大于1的整数,例如前50个返回结果;

求取所述第一搜索词在所述第一前N个返回结果中的搜索词命中分(如下结合图3所述的query_score);求取所述第一筛选项在所述第一前N个返回结果中的筛选项命中分(如下结合图3所述的tag_score);求取所述第一搜索词和所述第一前N个返回结果的相关分(如下结合图3所述的relevance_score);以及根据所述第一搜索词命中分、第一筛选项命中分和所述第一相关分构造所述第一词权重标签。

训练所述深度学习模型则可以包括:将筛选项被掩码的包括搜索词和多个筛选项的训练样本送入所述深度学习模型;对输入的所述训练样本进行特征提取,并获取被掩码筛选项的筛选项嵌入向量;经由转换层将所述被掩码筛选项的筛选项嵌入向量转化为预测的词权重值;以及基于与所述训练样本中包括的搜索词和被掩码筛选项相对于的词权重标签,求取损失函数。

在一个实施例中,所述深度学习模型是上下文感知的动态词权重模型,并且包括用于对输入进行特征提取的多个Transformer模型层。

在求取了各个筛选项的权重分之后,可以对经权重分过滤的筛选项和所述搜索词进行重述,由此生成优化的搜索词(即,优化的Query)。在此,经权重分过滤可以是基于权重分排名的过滤,也可以是基于权重分是否高于某特定阈值的过滤。为此,经权重分过滤的筛选项可以是在多个筛选项中排名靠前的筛选项,也可以优选地是权重分高于特定阈值的筛选项。这样就可以将深度学习模型判定为相关性不高的筛选项滤除,以保证优化Query的召回率。进一步地,可以将经过滤的筛选项和所述搜索词进行重述(即,确定这些内容的先后排序),并由此以更容易召回的语序构成优化的搜索词。上述优化的搜索词随后可以送入搜索引擎进行针对用户初始输入当前搜索词的优化搜索。

由此,本发明通过对tag的合理补充(例如,基于图2A所示候选筛选项的显示和勾选)与筛选(基于权重分),以及初始Query和经筛选tag的合理排序,能够优化用户的初始搜索词,向用户返回更为准确的搜索结果。

如前所述,可由深度学习模型从搜索词与筛选项的联合搜索结果中学习该筛选项与所述搜索词的相关性,并用于求取筛选项的权重分。

在本发明中,可以使用经训练(或者预训练)的深度学习模型来求取筛选项权重分。可以将用户当前的Query以及经过如上同义词处理的tag作为输入,送入深度学习模型,并且根据深度学习模型的输出来获取各个tag的权重分。在此,深度学习模型本身可以是根据搜索词与筛选项之间的相关性来训练的。

深度学习模型可以预先从大量的搜索词与筛选项的搜索结果中学习筛选项与搜索词的相关性,并用于求取当前搜索词中各个筛选项的权重分。具体地,由于医疗门类的症状或是疾病名称(即,关键短语)相对固定,对症状或疾病的补充描述(即,筛选项)也相对固定,因此使得预先从搜索结果中学习搜索词和筛选项的相关性成为可能。具体地,可以在深度学习模型训练时,列举出最为常见的搜索词(例如,最常见的500个关于疾病名称或症状的搜索词),并且可以针对每一个搜索词(所包含的关键短语),准备多个筛选项。由此,以一个搜索词和一个筛选项为一对,逐一以每一对进行搜索,获取各自的搜索结果,并基于搜索结果求取每一对的相关性。由此在后续实际的线上使用时,由于深度学习模型已经在训练阶段学习到了各个搜索词和筛选项之间的相关性,因此可以输出可信的权重分求取结果。

在一个实施例中,所述深度学习模型是上下文感知动态词权重模型,并且基于每个筛选项与所述搜索词的相关性,求取各个筛选项的权重分包括:将所述搜索词和各个筛选项送入所述上下文感知动态词权重模型;以及基于所述上下文感知动态词权重模型的预测结果求取每个筛选项的权重分,其中,基于搜索词和筛选项在所述搜索结果中的相关性构造用于训练所述上下文感知动态词权重模型的词权重标签。

另外,应该理解的是,生成的优化Query是用于优化搜索结果的,因此本发明搜索方法还可以包括:将生成的所述优化的搜索词送入搜索引擎以向用户提供针对所述当前搜索词的搜索结果,其中,所述搜索引擎同样参与深度学习模型训练的预准备,可用于提供所述深度学习模型训练所需的搜索词与筛选项的搜索结果。换句话说,深度学习模型进行相关性学习的搜索数据库和搜索引擎的搜索规则需要与后续以优化Query进行搜索的搜索数据库和搜索引擎的搜索规则相同(或起码具有一定的相似性),这样由深度学习模型学习到的知识才能够用于后续线上的搜索。

如下将结合图3描述本发明词权重计算的一个具体实现。通过利用如图3所示训练得到的模型,对tag进行词权重的计算,筛选出合适的tag进行搜索结果的召回、排序。既要满足原始query的搜索结果,又要满足点选tag的匹配。这样就可以在用户选择的tag较多时,避免由于在组合Query中包括部分tag到导致的无搜索结果或搜索结果不佳,并且可以避免搜索结果与初始Query不相关的情况。

图3示出了根据本发明的一种上下文感知的动态词权重模型的训练示意图。图3所示的模型训练通过包含上下文的动态词权重计算方式,创新性地融合搜索效果(QPP)的后验指标,避免了大量人工样本的标注,同时从搜索结果的角度去衡量当前Query下各个筛选项的词权重,直接优化搜索结果,高效低成本地实现了搜索结果的优化。

如图所示,词权重模型(TermWeightModel)训练由两部分构成。上半部分是基于QPP的离线词权重样本设计,目的是融合搜索结果进行词权重计算,计算出的词权重可以用作模型训练的标签。下半部分是基于DeepCT的动态词权重模型,目的是在考虑query整体信息的情况下计算各个tag的词权重,由此防止出现query不相关的语义偏移。

首先介绍基于QPP的词权重模型标签的计算。

在此,QPP指代Query Performance Predict(查询性能预测),是一种试图在没有相关信息的情况下,即不知道检索结果与查询的相关程度的情况下,评估检索系统对于某一查询其返回结果的好坏程度的方法。

在进行词权重模型训练时,使用一个query和多个tag作为输入,并且通过为tag提供标签(label)来使得词权重模型能够学习到这多个tag与query的相关程度。在本发明中,构造了基于搜索结果求取QPP指标作为词权重模型的标签。

为保证tag的匹配与原始query的匹配,通常需要使用多个维度融合生成QPP标签。在一个实施例中,可以使用搜索词命中分(query_score)、筛选项命中分(tag_score)和相关分(relevance_score)来进行QPP标签的求取。由此,标签生成的维度包括:

query_score,tag_score,relevance_score;

并且QPP_label=function(query_score,tag_score,relevance_score)。

在一个实施例中,可以考虑使用线性模型融合三个指标。线性模型的参数权重可以是简单的平均(例如,三个分各自的权重w1、w2和w3可以相同,例如都为1/3),也可以根据经验得到,还可以根据人工标注的样本(例如1000条样本)训练得到。

在一个具体的实施方案中,label的求取包括如下步骤:

1、用query和单个tag拼成新query发起检索,获取排名靠前的搜索结果,例如前50的Doc(结果文档),用于计算query_score,tag_score,relevance_score等3个指标;

2、计算query_score,用于衡量搜索结果对原始query的命中程度。计算方式例如可以是:(a)用query的NER(Named Entity Recognition,命名实体识别)实体去匹配doc侧的ner实体,若匹配则从query_remain中删除,在此,query_remain代表query中未命中的mention(如前所述,mention指代用户输入中与关键短语对应的表述,例如用户输入“昨晚拉水了”,关键短语可以是“腹泻”,但主诉的mention是“拉水”);(b)在上一步剩余的mention中,如果包含doc侧飘红的部分,则从query_remain中删除;以及(c)利用公式query_score=(len(query_ner)-len(query_remain))/len(query_ner)计算搜索词命中分,由该公式可知如果在去除ner实体和去飘红之后,没有未命中的mention剩余,则搜索词命中分为1,否则命中分则会降低;

3、计算tag_score,用于衡量搜索结果中tag的匹配。计算方式与query_score的计算类似,并且tag_remain代表tag未命中的mention:(a)用tag的ner实体去匹配doc侧ner实体,若匹配则从tag_remain中删除;(b)用tag本身去匹配doc侧ner实体,若匹配则从tag_remain中删除;(c)上一步剩余的mention去doc侧飘红,若飘红,则从tag_remain中删除;(d)利用公式tag_score=(len(tag_ner)-len(tag_remain))/len(tag_ner)计算筛选项命中分,由该公式可知如果在去除ner实体和去飘红之后,没有未命中的mention剩余,则筛选项命中分为1,否则命中分则会降低;

4、计算relevance_score,避免搜索结果与query不相关,在一个实施例中,可以用query和Doc标题的Bert文本分作为relevance_score。

5、利用如下公式计算模型标签:termweight_label=function(query_score,tag_score,bert_score),在一个实施例中,可以采用线性加权。权重例如可以通过人工标注的TermWeight数据(例如,1000条数据)进行学习。

在计算得到了筛选项的标签之后,则如图6的下半部分所示,训练基于DeepCT(Deep Contextualized Termweight)的上下文感知的动态词权重模型。

词权重模型可由多层的transformer模型实现。在一个实施例中,可以采用医疗语料预训练的4层Transformer模型,该模型可由12层的大模型蒸馏得到。Transformer模型的注意力机制能够让每次词都与上下文的全部词进行动态自注意权重计算,保证顶层的词向量能够感知到整体上下文。同时预训练模型提供了强大的先验知识,减轻了特征设计的工作量;预训练模型强大的表征能力,在少样本下也能够获得较好的效果,降低样本标注的成本。

在一个具体的实施方案中,基于DeepCT-QPP的词权重模型可以包括如下步骤::

1、以离线构造的query(可以是基于大数据用户搜索记录构造的query)和点选的tag(例如,默认为三个,也可以有更多个,对应于图中的tag1…tag n)以字粒度输入DeepCT模型,区分query、tag类型,增加tag词粒度mask(掩码),所述掩码可以对点选的tag随机进行;

2、在DeepCT模型顶层(即,经过4层transformer的特征提取)得到query和tag每个词的embedding(嵌入向量),根据tag掩码只取每个tag的embedding;

3、将上述tag的embedding接入一层转换层,例如MLP(多层感知器)神经网络,经过激活函数得到预测的termweight(词权重);

4、训练阶段将每个tag的termweight与对应离线计算好的QPPtermweight_label计算损失函数,例如MSE损失函数,由此调整模型的参数;而预测阶段将上述的termweight直接作为权重分输出。

由于构造QPP标签时提供搜索结果的搜索引擎,同样是用于在线使用对优化结果进行搜索的搜索引擎(或者起码部分相似),因此词权重模型习得的相关性知识能够在同一个搜索引擎和隐含的搜索内容库中得以使用。于是,线上使用时,可以对送入经训练词权重模型的tag按模型预测的权重分由高到低进行排序,只取过阈值的tag进行搜索召回及排序。从而保留用户点击的、并且发起检索后有好结果的tag进行后续搜索。

本发明如上的基于QPP的词权重处理方法可以作为针对Query和tag生成优化Query的搜索方法的一个步骤。本发明还可以实现为一种搜索方法。图4示出了根据本发明一个实施例的搜索方法的示意性流程图。

在步骤S410,获取用户输入的搜索词和筛选项。在步骤S420,对所述筛选项进行同义词处理。在步骤S430,将所述搜索词和经同义词处理的筛选项送入深度学习模型,求取各个筛选项的权重分。该步骤S430可以对应于上文描述的基于深度学习模型的权重分求取方案。类似地,该深度学习模型使用表征多个搜索词各自与筛选项的搜索结果相关性的词权重标签进行训练。在步骤S430,对经权重分过滤的筛选项和所述搜索词进行重述,以生成优化的搜索词。

在例如针对通用浏览器中医疗类型的用户输入查询时,搜索平台为在特定症状下为细化用户的表达,会提供一些筛选项(tag)供用户补充,以获取跟用户自身更相关的搜索结果。该场景的实现难点在于,如何用初始的Query与用户点选的tag生成一个新的Query去进行搜索,使得新Query(a)既要包含初始query的信息,也要尽可能包含点选tag的信息;(b)表达通顺流畅;(c)搜索结果优异;且(d)平台计算量低,能够达到线上要求。为此,本发明的医疗交互式搜索场景下的Query优化方法通过同义词替换、词权重计算、Query重述等步骤,将用户的初始Query与点选的tag自动生成通顺的新的优化Query,由此保证搜索结果中初始Query信息与tag信息的匹配,实现用户可感知的智能搜索。

由上可知,生成本发明的优化Query可以包括同义词替换、词权重计算、Query重述这三个步骤。图5示出了根据本发明进行优化搜索的整体流程例。如图5所示,以用户初始Query为“左下腹疼痛”,经补充和用户选择得到的筛选项(Tag)为“1周到1个月”、“左下腹”、“阵发性”、“胃炎病史”为例,经过同义词替换、词权重计算(TermWeight)、query重述三个子模块,最终输出优化的Query为“好几周左下腹疼痛一阵阵”。

在此,同义词处理指的是为筛选项提供同义词候选,并在后续的权重分计算和Query重述操作中考虑上述同义词候选。通过引入筛选项的同义词,可以使得优化的Query能够以搜索素材库中更常见的表述来进行查询,由此进一步改进搜索引擎的搜索效果。

如图5所示,对所述筛选项进行同义词处理首先可以包括:给出所述筛选项的筛选项同义词。例如,筛选项“1周到1个月”的筛选项同义词为“好几周”,筛选项“阵发性”的筛选项同义词为“一阵阵”。在可选的实现中,可以对某些低频tag进行权重人工配置,以提升搜索灵活度。另外,在用户输入内容与tag有重复时,还可以进行Query的预充去重。即,由于tag与用户输入内容重复,因此默认选择该tag,无需进行后续流程。

在一个实施例中,可以直接选择所述筛选项和所述筛选项同义词中更常见的词作为所述经同义词处理的筛选项,并用于后续的权重分和Query重述处理。

在一个更为优选的实施例中,可以同时使用所述筛选项和筛选项同义词两者来求取所述筛选项的权重分,和/或同时使用所述筛选项和筛选项同义词两者来进行重述,并且从两者中选取被判定更优的词来生成所述优化的搜索词。为此,在权重分求取步骤中,可以基于所述筛选项和所述筛选项同义词两者与所述搜索词的相关性,求取经同义词处理的筛选项的权重分。而在重述步骤中,可以对所述经权重分过滤的筛选项和所述搜索词进行重述,并且对所述经权重分过滤的筛选项的筛选项同义词和所述搜索词进行重述,选取语言模型判定更优的结果生成所述优化的搜索词。

进一步地,可以从筛选项同义词库中找出命中的筛选项同义词对,并给出所述筛选项的筛选项同义词,其中,基于在前用户查询和点击历史构建所述筛选项同义词库。

图6示出了同义词挖掘的一个流程示意图。具体地,可以从QT日志(Query/title,即,在前用户输入Query和用户点击文章标题的历史记录)中挖掘例如按用户点击排序的前500个tag的同义词。具体地,可以从标题(title)中取出与Query命中的部分(即,取飘红),进行切词和词性过滤(例如,去除介词等非实体词)。在进行预处理之后,可以利用翻译模型,进行同义词对中一个到另一个的对齐(正向概率)、另一个到一个的对齐(反向概率),进行同义词pair(对)统计,并存储为候选同义词pair。在一个实施例中,翻译模型可以实现为一个统计学模型,在其他实施例中,该翻译模型也可以实现为一个深度学习模型。

这些候选同义词pair在上线前可经由人工审核,并且依据同义词对找出的筛选项同义词可用于在后续语言模型计算tag组合时尝试对初始tag进行替换,若语言模型算分更高,则使用筛选项同义词替换同义词。

通过大量挖掘及对齐,可以获得大量候选的同义词pair,如阵发性->一阵阵等。后续经过替换,将搜索库中不常见的表达替换为更常见的表达(例如,将书面表达替换为口语化表达),由此提高用户输入信息的匹配程度。

如上以结合图3详述了本发明的基于QPP构造标签的DeepCT词权重模型的离线标签准备、模型训练和实际推理。利用经训练的模型,可以如图5所示求取这几个tag(及其同义词)的优先级,并且基于预定阈值过滤掉分数不及阈值的tag。由此进入下一步骤。

query重述的目标是希望将query和tag生成更通顺的形式和表达,有助于搜索结果召回。常见的有翻译模型和生成式模型等,但这些模型都需要大量的数据,而且模型复杂度高耗时久难以实现线上使用。为此,在本发明的一个实施例中,采用一种基于统计的语言模型来进行Query重述。语言模型(LM,language model)是一种自然语言处理领域的概率模型。本发明使用的语言模型可以看作是轻量版本的query重述模型,并且可以在1000w医疗问答数据上训练,由此实现医疗场景下的语言模型。

在一个实施例中,对经权重分过滤的筛选项和所述搜索词进行重述,以生成优化的搜索词可以包括:对经权重分过滤的筛选项和所述搜索词进行组合排序;筛选掉不符合预定规则的排序;将经筛选的组合排序送入排序语言模型;以及选择排序语言模型分最高的排序作为所述优化的搜索词。

具体地,图7示出了根据本发明一个实施例的Query重述的流程图。如图所示,可以将Query(即,用户输入内容)按照用户主诉的mention切成q_tag,再将q_tag和经词权重求取过滤后的筛选项(即,tag)各自进行切词,由此生成q_tag与tag的全排列的候选重述词序(即,candiList)。例如,在Query为“左下腹疼痛”,经过滤的tag为“好几周”和“一阵阵”的情况下,由于有一个Query和两个tag,因此3个参与排列的项可以一共有6种(即,6=3!)排列方式。随后,筛选组合以减缓语义漂移(即,去除全排列候选重述词序中不符合预定规则的次序,例如,超长tag在最前的候选词序),随后可以使用同义词处理步骤中的tag同义词进行candiList追加,并由如前所述训练得到的LM计算组合得分,并将分数最高的词序作为优选Query。

如图5所示,如果搜索引擎进行搜索的内容是基于口语化表达的医疗问答数据,则在Query重述时,可以对tag进行口语化表达,即,使用“一阵阵”这种更为口语化的筛选项同义词来代替原有的筛选项“1周到1个月”,并得到tag与Query的各种拼接顺序。在经由语言模型计算组合得分后,获得重述的Query,即优化Query“好几周左下腹疼痛一阵子”。应该理解的是,如果搜索引擎进行搜索的数据库种的数据是更为专业内容,例如科学文献时,则可将用户选择的口语化tag进行书面化同义词tag进行替换。

由此,本方案提出了一种在交互式搜索场景下,初始query与补充选择的tag融合产生优化query的流程化方法。该方案不仅可以应用于交互式搜索场景,还可适用于类似需要对用户输入的初始query进行补充的搜索场景。

在一个实施例中,本发明还可以实现为一种搜索系统。图8示出了根据本发明一个实施例的搜索系统的组成示意图。如图所示,搜索系统800可以包括医疗垂搜判定单元810、筛选项获取单元820、优化搜索词生成单元830和搜索引擎840。

具体地,医疗垂搜判定单元810用于获取并识别用户输入的搜索词中的症状和/或病名内容作为关键短语;筛选项获取单元820用于基于所述关键短语提供对症状的多个补充描述并获取用户选择的补充描述作为筛选项;优化搜索词生成单元830用于执行如上所述的方法,以生成所述优化的搜索词。由此,搜索引擎840可以根据优化的搜索词返回搜索结果。换句话说,如上所述的医疗垂搜判定单元810、筛选项获取单元820、优化搜索词生成单元830可以是包括搜索引擎840的搜索平台所配置的额外功能模块,并且通过单元810、820和830的合作,提升医疗搜索的召回质量。

图9示出了根据本发明一实施例可用于实现上述搜索处理方法的计算设备的结构示意图。

参见图9,计算设备900包括存储器910和处理器920。

处理器920可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器920可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器920可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。

存储器910可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器920或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器910可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器910可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器910上存储有可执行代码,当可执行代码被处理器920处理时,可以使处理器920执行上文述及的搜索方法。

上文中已经参考附图详细描述了根据本发明的搜索处理方法和系统。

本发明的搜索处理方法创新性地融合搜索效果(QPP)的后验指标作为词权重标签。从搜索结果的角度去衡量query的词权重,保证了词权重优化与搜索服务上搜索效果的一致性;同时可自动生成大量标注样本,极大降低了标注成本。本发明提出了包含上下文的动态词权重计算方式,在线动态计算词权重,避免了权重高但语义不相关的问题;同时降低了特征构造的成本。

进一步地,本发明的Query优化方案采用了离线对齐语料挖掘大量候选同义词,供后续流程进行替换,大幅提升医疗搜索下部分专业/冷门术语到普通口语化表达的匹配能力。

本方案采用了一种基于QPP的上下文动态词权重计算方法,创新地融合了QPP指标,从搜索结果本身设计词权重,使得权重目标与搜索效果一致,由此大幅提升基于词权重的tag筛选的效率,提高了医疗搜索场景下的关键词匹配能力。

而在query重述环节,本方案采用了医疗场景数据训练的基于统计的语言模型,相比与翻译或生成式模型,无需大量的标注数据,且性能更快,效果可控。

由此,本方案提出了一种在交互式搜索场景下,初始query与补充选择的tag融合产生优化query的流程化方法。该方案不仅可以应用于交互式搜索场景,还可适用于类似需要对用户输入的初始query进行补充的搜索场景。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号