用于搜索信息的方法和装置与流程

文档序号:21363173发布日期:2020-07-04 04:37阅读:202来源:国知局
用于搜索信息的方法和装置与流程

本申请实施例涉及计算机技术领域,具体涉及用于搜索信息的方法和装置。



背景技术:

垂类搜索定位于为众多垂直领域提供业界一流的垂直搜索系统,其能够以更加低的成本和更加精准专业的结果满足用户需求,实现用户与优质专业的垂类资源的精准对接。作为受众较多、资源丰富的小说垂类,小说垂类搜索技术满足了小说阅读用户通过搜索词(query)描述的一系列阅读需求。

目前,小说数据库中存储的数据包括小说名、作者名和简介等关键信息。需要用户输入小说名,或同时输入小说名和作者名进行检索,才能召回对应的小说。在用户忘记小说名和作者名,通过输入小说的其他信息进行检索的情况下,是无法召回对应的小说的。



技术实现要素:

本申请实施例提出了用于搜索信息的方法和装置。

第一方面,本申请实施例提出了一种用于搜索信息的方法,包括:接收用户输入的搜索请求;确定搜索请求对应的搜索类型是否是小说搜索类型;若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至预先训练的解析模型,得到搜索请求对应的检索表达式,其中,解析模型用于识别小说名、作者名以及主角名中的至少一项;基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。

在一些实施例中,确定搜索请求对应的搜索类型是否是小说搜索类型,包括:将搜索请求输入至预先训练的触发模型,得到搜索请求对应的搜索类型,其中,触发模型用于基于小说名、作者名以及主角名中的至少一项识别搜索类型。

在一些实施例中,基于检索表达式进行小说检索,得到待推送小说,包括:基于检索表达式在预先生成的小说摘要信息集合中检索,确定待推送小说,其中,小说摘要信息包括小说名、作者名以及主角名。

在一些实施例中,基于检索表达式在预先生成的小说摘要信息集合中检索,确定待推送小说,包括:计算检索表达式与小说摘要信息集合中的小说摘要信息的相关度,确定候选小说集合;计算搜索请求与候选小说集合中的候选小说的相关度,确定待选小说集合;基于待选小说集合中的待选小说的热度以及与搜索请求的相关度对待选小说集合进行排序和去重,确定待推送小说。

在一些实施例中,小说摘要信息的生成步骤包括:获取小说的现有章节;采用自然语言处理nlp浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果;基于词性分析结果从切词结果中选取出现有章节的人名集合;从现有章节的人名集合中确定现有章节的主角名集合;基于现有章节的主角名集合,生成小说摘要信息。

在一些实施例中,采用自然语言处理nlp浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果,包括:利用nlp浅层词法分析模型先对现有章节的内容进行切词,得到词汇集合,再对词汇集合进行重组,得到语义满足预设条件的词汇序列,以及确定词汇序列中的词汇的词性,其中,预设条件包括以下至少一项:语义合理、语义完整。

在一些实施例中,从现有章节的人名集合中确定现有章节的主角名集合,包括:对现有章节的人名集合中的相似人名进行合并,生成现有章节的合并人名集合;基于预先生成的停用词表对现有章节的合并人名集合进行过滤,生成现有章节的角色名集合;统计现有章节的角色名集合中的角色名的词频,从现有章节的角色名集合中选取现有章节的主角名集合。

在一些实施例中,小说摘要信息的生成步骤还包括:若小说存在章节更新,获取更新章节;确定更新章节的主角名集合,以及基于更新章节的主角名集合,更新小说摘要信息。

在一些实施例中,触发模型的训练步骤包括:获取第一训练样本集合,其中,第一训练样本集合中的第一训练样本包括第一样本搜索请求和对应的第一样本搜索类型标签;对于第一训练样本集合中的第一训练样本,将该第一训练样本中的第一样本搜索请求作为输入,将该第一训练样本中的第一样本搜索类型标签作为输出,训练得到触发模型。

在一些实施例中,解析模型的训练步骤包括:获取第二训练样本集合,其中,第二训练样本集合中的第二训练样本包括第二样本搜索请求和对应的第二样本检索表达式,其中,第二样本检索表达式包括小说名、作者名以及主角名中的至少一项;对于第二训练样本集合中的第二训练样本,将该第二训练样本中的第二样本搜索请求作为输入,将该第二训练样本中的第二样本检索表达式作为输出,训练得到解析模型。

第二方面,本申请实施例提出了一种用于搜索信息的装置,包括:接收单元,被配置成接收用户输入的搜索请求;确定单元,被配置成确定搜索请求对应的搜索类型是否是小说搜索类型;解析单元,被配置成若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至预先训练的解析模型,得到搜索请求对应的检索表达式,其中,解析模型用于识别小说名、作者名以及主角名中的至少一项;检索单元,被配置成基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。

在一些实施例中,确定单元包括:触发子单元,被配置成将搜索请求输入至预先训练的触发模型,得到搜索请求对应的搜索类型,其中,触发模型用于基于小说名、作者名以及主角名中的至少一项识别搜索类型。

在一些实施例中,检索单元包括:检索子单元,被配置成基于检索表达式在预先生成的小说摘要信息集合中检索,确定待推送小说,其中,小说摘要信息包括小说名、作者名以及主角名。

在一些实施例中,检索子单元包括:第一计算模块,被配置成计算检索表达式与小说摘要信息集合中的小说摘要信息的相关度,确定候选小说集合;第二计算模块,被配置成计算搜索请求与候选小说集合中的候选小说的相关度,确定待选小说集合;排序及去重模块,被配置成基于待选小说集合中的待选小说的热度以及与搜索请求的相关度对待选小说集合进行排序和去重,确定待推送小说。

在一些实施例中,小说摘要信息的生成步骤包括:获取小说的现有章节;采用自然语言处理nlp浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果;基于词性分析结果从切词结果中选取出现有章节的人名集合;从现有章节的人名集合中确定现有章节的主角名集合;基于现有章节的主角名集合,生成小说摘要信息。

在一些实施例中,采用自然语言处理nlp浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果,包括:利用nlp浅层词法分析模型先对现有章节的内容进行切词,得到词汇集合,再对词汇集合进行重组,得到语义满足预设条件的词汇序列,以及确定词汇序列中的词汇的词性,其中,预设条件包括以下至少一项:语义合理、语义完整。

在一些实施例中,从现有章节的人名集合中确定现有章节的主角名集合,包括:对现有章节的人名集合中的相似人名进行合并,生成现有章节的合并人名集合;基于预先生成的停用词表对现有章节的合并人名集合进行过滤,生成现有章节的角色名集合;统计现有章节的角色名集合中的角色名的词频,从现有章节的角色名集合中选取现有章节的主角名集合。

在一些实施例中,小说摘要信息的生成步骤还包括:若小说存在章节更新,获取更新章节;确定更新章节的主角名集合,以及基于更新章节的主角名集合,更新小说摘要信息。

在一些实施例中,触发模型的训练步骤包括:获取第一训练样本集合,其中,第一训练样本集合中的第一训练样本包括第一样本搜索请求和对应的第一样本搜索类型标签;对于第一训练样本集合中的第一训练样本,将该第一训练样本中的第一样本搜索请求作为输入,将该第一训练样本中的第一样本搜索类型标签作为输出,训练得到触发模型。

在一些实施例中,解析模型的训练步骤包括:获取第二训练样本集合,其中,第二训练样本集合中的第二训练样本包括第二样本搜索请求和对应的第二样本检索表达式,其中,第二样本检索表达式包括小说名、作者名以及主角名中的至少一项;对于第二训练样本集合中的第二训练样本,将该第二训练样本中的第二样本搜索请求作为输入,将该第二训练样本中的第二样本检索表达式作为输出,训练得到解析模型。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。

第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

本申请实施例提供的用于搜索信息的方法和装置,首先确定用户输入的搜索请求对应的搜索类型是否是小说搜索类型;然后若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至解析模型,得到搜索请求对应的检索表达式;最后基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。解析模型能够从小说搜索类型的搜索请求中识别出小说名、作者名以及主角名中的至少一项,解决了现有技术中无法对搜索请求中的主角名进行识别,或将主角名误识别为作者名的技术问题,基于小说名、作者名以及主角名中的至少一项进行检索,扩大了应用场景,提高了对用户存在阅读需求的小说的召回率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构;

图2是根据本申请的用于搜索信息的方法的一个实施例的流程图;

图3是根据本申请的用于搜索信息的方法的又一个实施例的流程图;

图4是根据本申请的小说摘要信息生成方法的一个实施例的流程图;

图5是根据本申请的用于搜索信息的方法的一个应用场景的流程图;

图6是根据本申请的用于搜索信息的装置的一个实施例的结构示意图;

图7是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的用于搜索信息的方法或用于搜索信息的装置的实施例的示例性系统架构100。

如图1所示,系统架构100中可以包括终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如阅读类应用等。

终端设备101可以是硬件,也可以是软件。当终端设备101为硬件时,可以是支持信息搜索的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机及等等。当终端设备101为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。

服务器103可以是提供各种服务的服务器,例如阅读类应用的后台服务器,阅读类应用的后台服务器可以对从终端设备101接收到的搜索请求等数据进行分析等处理,并将处理结果(例如待推送小说)反馈给终端设备101。

需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本申请实施例所提供的用于搜索信息的方法一般由服务器103执行,相应地,用于搜索信息的装置一般设置于服务器103中。

继续参考图2,其示出了根据本申请的用于搜索信息的方法的一个实施例的流程200。该用于搜索信息的方法包括以下步骤:

步骤201,接收用户输入的搜索请求。

在本实施例中,用于搜索信息的方法的执行主体(例如图1所示的服务器103)可以从终端设备(例如图1所示的终端设备101)接收用户输入的搜索请求。其中,搜索请求可以包括用户输入的搜索信息(query)。搜索信息可以是用于描述用户的阅读需求的信息。例如,若用户对一篇小说有阅读需求,搜索信息中通常就会包括该小说的小说名、作者名以及主角名中的至少一项。具体地,用户可以打开终端设备上安装的阅读类应用,在输入框中输入包括小说名、作者名以及主角名中的至少一项的搜索信息,并点击搜索按钮。当用户点击搜索按钮时,其终端设备可以向上述执行主体发送搜索请求。

步骤202,确定搜索请求对应的搜索类型是否是小说搜索类型。

在本实施例中,上述执行主体可以确定搜索请求对应的搜索类型是否是小说搜索类型。若是小说搜索类型,执行步骤203。步骤203,若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至预先训练的解析模型,得到搜索请求对应的检索表达式。

在本实施例中,若搜索请求对应的搜索类型是小说搜索类型,上述执行主体可以将搜索请求输入至解析模型,得到搜索请求对应的检索表达式。其中,解析模型可以用于识别小说名、作者名以及主角名中的至少一项。检索表达式可以由小说名、作者名以及主角名中的至少一项拼接而成。具体地,解析模型可以对搜索请求执行切词逻辑和成分分析,识别出其中的小说名、作者名以及主角名中的至少一项,并拼接出检索表达式。

在本实施例的一些可选的实现方式中,解析模型可以通过如下步骤训练得到:

首先,获取第二训练样本集合。

其中,第二训练样本集合中的第二训练样本可以包括第二样本搜索请求和对应的第二样本检索表达式。第二样本搜索请求对应的搜索类型可以是小说搜索类型,其对应的第二样本检索表达式可以由小说名、作者名以及主角名中的至少一项拼接而成。

此外,为了解决对仅包括小说名与主角名的搜索请求,或仅包括主角名的搜搜请求无法识别与召回的技术问题。上述执行主体还可以获取小说的主角名集合,并基于主角名集合构造第二样本搜索请求,以得到大量第二训练样本。

然后,对于第二训练样本集合中的第二训练样本,将该第二训练样本中的第二样本搜索请求作为输入,将该第二训练样本中的第二样本检索表达式作为输出,训练得到解析模型。

通常,上述执行主体可以利用第二训练样本对rnn(recurrentneuralnetworks,循环神经网路)模型进行训练,根据准确率优化模型,最终生成解析模型。

步骤204,基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。

在本实施例中,上述执行主体可以基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。例如,上述执行主体可以检索出包括检索表达式中的词汇的小说作为待推送小说推送给用户。

在本实施例的一些可选的实现方式中,上述执行主体可以基于检索表达式在预先生成的小说摘要信息集合中检索,确定待推送小说。例如,上述执行主体可以从小说摘要信息集合中检索出包括检索表达式中的词汇的小说摘要信息,并将该小说摘要信息对应的小说作为待推送小说推送给用户。其中,小说摘要信息可以为xml格式,其内容包括但不限于小说名、作者名、主角名、分类、标签、小说编号等等。

本申请实施例提供的用于搜索信息的方法,首先确定用户输入的搜索请求对应的搜索类型是否是小说搜索类型;然后若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至解析模型,得到搜索请求对应的检索表达式;最后基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。解析模型能够从小说搜索类型的搜索请求中识别出小说名、作者名以及主角名中的至少一项,解决了现有技术中无法对搜索请求中的主角名进行识别,或将主角名误识别为作者名的技术问题,基于小说名、作者名以及主角名中的至少一项进行检索,扩大了应用场景,提高了对用户存在阅读需求的小说的召回率。

进一步参考图3,其示出了根据本申请的用于搜索信息的方法的又一个实施例的流程300。该用于搜索信息的方法包括以下步骤:

步骤301,接收用户输入的搜索请求。

在本实施例中,步骤301具体操作已在图2所示的实施例中步骤201中进行了详细的介绍,在此不再赘述。

步骤302,将搜索请求输入至预先训练的触发模型,得到搜索请求对应的搜索类型。

在本实施例中,用于搜索信息的方法的执行主体(例如图1所示的服务器103)可以将搜索请求输入至触发模型,得到搜索请求对应的搜索类型。其中,触发模型可以用于基于小说名、作者名以及主角名中的至少一项识别搜索类型。具体地,触发模型可以对搜索请求进行分析,以确定搜索请求属于预设的n(n为正整数)种搜索类型的概率。预设的n种搜索类型可以包括但不限于小说搜索类型、新闻事件搜索类型、百科搜索类型、天气搜索类型等等。

在本实施例的一些可选的实现方式中,若预设小说搜索类型这一种搜索类型,触发模型可以识别并召回描述小说阅读需求的搜索请求。通常,触发模型可以识别出搜索请求属于小说搜索类型的概率。若概率大于预设概率阈值,则搜索请求对应的搜索类型是小说搜索类型;若概率不大于预设概率阈值,则搜索请求对应的搜索类型是非小说搜索类型。

在本实施例的一些可选的实现方式中,触发模型可以通过如下步骤训练得到:

首先,获取第一训练样本集合。

其中,第一训练样本集合中的第一训练样本可以包括第一样本搜索请求和对应的第一样本搜索类型标签。若第一样本搜索请求包括小说名、作者名以及主角名中的至少一项,则其对应的搜索类型是小说搜索类型,其对应的第一样本搜索类型标签的值为1,其对应的第一训练样本是正样本。若第一样本搜索请求不包括小说名、作者名以及主角名中的任意一项,则其对应的搜索类型是非小说搜索类型,其对应的第一样本搜索类型标签的值为0,其对应的第一训练样本是负样本。

此外,为了解决对仅包括小说名与主角名的搜索请求,或仅包括主角名的搜搜请求无法识别与召回的技术问题。上述执行主体还可以获取小说的主角名集合,并基于主角名集合构造第一样本搜索请求,以得到大量第一训练样本。

其次,对于第一训练样本集合中的第一训练样本,将该第一训练样本中的第一样本搜索请求作为输入,将该第一训练样本中的第一样本搜索类型标签作为输出,训练得到触发模型。

通常,上述执行主体可以利用第一训练样本对二分类模型进行训练,得到触发模型。此外,设定人工规则,包括白名单(符合该名单即召回)、黑名单(符合该名单不召回)等策略,进行模型训练。根据模型训练效果,加入一定数量的负样本,对模型进行迭代优化,保证满足召回率的同时,降低其误召回率。

步骤303,若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至预先训练的解析模型,得到搜索请求对应的检索表达式。

在本实施例中,步骤303具体操作已在图2所示的实施例中步骤203中进行了详细的介绍,在此不再赘述。

步骤304,计算检索表达式与小说摘要信息集合中的小说摘要信息的相关度,确定候选小说集合。

在本实施例中,上述执行主体可以计算检索表达式与小说摘要信息集合中的小说摘要信息的相关度,确定候选小说集合。例如,上述执行主体可以从小说摘要信息集合中选取出相关度排名靠前(如前20)的小说摘要信息,并将选取出的小说摘要信息对应的小说作为候选小说,生成候选小说集合。其中,检索表达式可以由小说名、作者名以及主角名中的至少一项拼接而成。小说摘要信息中包括检索表达式中的词汇越多,其与检索表达式的相关度越高。

步骤305,计算搜索请求与候选小说集合中的候选小说的相关度,确定待选小说集合。

在本实施例中,上述执行主体可以计算搜索请求与候选小说集合中的候选小说的相关度,确定待选小说集合。

在本实施例中,上述执行主体可以计算搜索请求与候选小说集合中的候选小说的相关度,确定待选小说集合。例如,对于候选小说集合中的候选小说,上述执行主体可以计算搜索请求与该候选小说的编辑距离、紧密度、bm25相关度等信息,并结合这些信息生成相关度。随后,上述执行主体可以将相关度与预设相关度阈值进行比较,若相关度大于预设相关度阈值,则将该候选小说作为待选小说添加到待选小说集合中。

步骤306,基于待选小说集合中的待选小说的热度以及与搜索请求的相关度对待选小说集合进行排序和去重,确定待推送小说,以及向用户推送。

在本实施例中,上述执行主体可以基于待选小说集合中的待选小说的热度以及与搜索请求的相关度对待选小说集合进行排序和去重,确定待推送小说。例如,上述执行主体可以先结合热度以及与搜索请求的相关度对待选小说集合进行排序,然后进行去重操作,生成综合排名,最后将综合排名最高的候选小说作为待推送小说向用户推送。

从图3中可以看出,与图2对应的实施例相比,本实施例中的用于搜索信息的方法的流程300突出了触发步骤和检索步骤。由此,本实施例描述的方案中触发模型能够将包括小说名、作者名以及主角名中的至少一项的搜索请求识别为小说搜索类型,解决了现有技术中无法对仅包括小说名和主角名的搜索请求,或仅包括主角名的搜索请求进行识别的技术问题,提高了触发模型对小说搜索类型的搜索请求的召回率。此外,本实施例描述的方案结合检索表达式与小说摘要信息的相关度、搜索请求与小说的相关度、小说的热度等多个方面层层筛选,提高了所选取的小说与用户的阅读需求的匹配度,进而提高用户对推送小说的点击率。

进一步参考图4,其示出了根据本申请的小说摘要信息生成方法的一个实施例的流程400。该小说摘要信息生成方法包括以下步骤:

步骤401,获取小说的现有章节。

在本实施例中,小说摘要信息生成方法的执行主体(例如图1所示的服务器103)可以获取小说的现有章节。通常,上述执行主体可以从数据库获取小说的现有章节。例如,预设两个数据库,一个数据库用于存储大量小说的现有章节目录,另一个数据库用于存储大量小说的现有章节。若需要获取一部小说的现有章节,上述执行主体可以首先以该小说的小说名为索引从存储现有章节目录的数据库中查找该小说的现有章节目录;然后以该小说的现有章节目录为索引从存储现有章节的数据库中查找该小说的现有章节。

应当理解的是,上述执行主体可以获取小说的全部现有章节,也可以仅获取小说的部分现有章节。例如,若一部小说的现有章节数超过1000,则上述执行主体可以仅获取该小说的前1000章节。

步骤402,采用自然语言处理nlp浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果。

在本实施例中,上述执行主体可以采用nlp(naturallanguageprocessing,自然语言处理)浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果。其中,nlp浅层词法分析模型是基于海量互联网数据,结合结构化感知器和深度神经网络的混合结构实现中文分词和词性分析。

在本实施例的一些可选的实现方式中,上述执行主体可以利用nlp浅层词法分析模型先对现有章节的内容进行切词,得到词汇集合,再对词汇集合进行重组,得到语义满足预设条件的词汇序列,以及确定词汇序列中的词汇的词性。其中,词汇集合中的词汇是现有章节的内容中的基本粒度词汇。预设条件可以包括但不限于以下至少一项:语义合理、语义完整等等。nlp浅层词法分析模型对输入的文本的处理过程是一个粒度、词性的联合优化过程。其与先分词、再标注词性的流水线工作方式相比,粒度、词性两个任务可以共享特征。这就缓解了错误扩散传播的问题,同时也避免了由于切散问题导致不得不引入各种语素词性,从而提高了词性标注结果的表义性。

步骤403,基于词性分析结果从切词结果中选取出现有章节的人名集合。

在本实施例中,上述执行主体可以基于词性分析结果从切词结果中选取出现有章节的人名集合。例如,上述执行主体可以从切词结果中选取出词性为人名的词汇,生成人名集合。

此外,上述执行主体还可以对人名集合中的人名进行词频统计,并以字典的方式进行存储。其中,存储结构可以为{gid:{name:freq}}。其中,gid表示小说名,name表示人名词汇,freq代表词频。

步骤404,从现有章节的人名集合中确定现有章节的主角名集合。

在本实施例中,上述执行主体可以从现有章节的人名集合中确定现有章节的主角名集合。例如,上述主体可以从现有章节的人名集合中选取出词频排名靠前(如前5)的人名,生成主角名集合。

在本实施例的一些可选的实现方式中,上述执行主体可以通过如下步骤确定主角名集合:

首先,对现有章节的人名集合中的相似人名进行合并,生成现有章节的合并人名集合。

通常,人名集合中会存在一些相似的人名,例如,对于同一个人,其人名可以包括由姓和名组成的姓名,以及仅有名组成的名字。而姓名和名字都包含这个人的名,因此属于相似人名。并且,这类相似人名属于同一个人,因此能够被合并。例如,在人名识别的过程中,维护及更新{name:freq}字典。当nlp浅层词法分析模型识别出一个新的人名时,增加判断功能。具体地,若新的人名与字典中的一个人名有重合,且重合字符串长度大于4(gbk编码),即新的人名包含字典中的该人名,或字典中的该人名包含新的人名,上述执行主体可以将新的人名与字典中的该人名进行合并,保留字符串长度大的人名。

然后,基于预先生成的停用词表对现有章节的合并人名集合进行过滤,生成现有章节的角色名集合。

通常,切词结果中词性为人名的词汇中可能会存在一些实际上并不是人名的词汇,如叠词“哈哈哈”,称谓词“王爷”等。因此,需要建立及维护停用词表及过滤策略,从合并人名集合中去除了一些识别为人名的专有名词和干扰词。例如,首先从合并人名集合中过滤叠词,然后建立及维护停用词表,从合并人名集合中过滤停用词。其中,停用词表可以通过如下步骤制定:首先随机抽取若干条测试数据;之后对主角名清单进行标注;然后找出其中的标注错误的词条,组成词条清单;最后对词条清单进行汇总,统计词频,从而生成停用词表。

最后,统计现有章节的角色名集合中的角色名的词频,从现有章节的角色名集合中选取现有章节的主角名集合。

例如,从角色名集合中选取出词频排名靠前(如前5)的角色名,生成主角名集合。

步骤405,基于现有章节的主角名集合,生成小说摘要信息。

在本实施例中,上述执行主体可以基于现有章节的主角名集合,生成小说摘要信息。例如,在主角名集合的基础上添加一些小说的其他描述信息来生成小说摘要信息。其中,描述信息中可以包括但不限于小说名、作者名、章节数目、分类、标签、小说编号等等。这样,生成的小说摘要信息可以是xml格式,其内容不仅可以包括小说名和作者名,还可以包括主角名。小说摘要信息的存储结构可以例如为{gid:{name1:freq1,name2:freq2,name3:freq3…},chapter_num:n1},其中gid为小说名,name1、name2、name3等为主角名(gbk编码),freq1、freq2、freq3等为对应主角名的词频,chapter_num为章节数目,n1为章节数目值。

在本实施例的一些可选的实现方式中,若小说存在章节更新,上述执行主体可以获取更新章节,通过再次执行步骤402-404确定更新章节的主角名集合,以及基于更新章节的主角名集合,更新小说摘要信息。通常,当更新章节的数目不小于预设数目值(如50)时,才会更新小说摘要信息。此外,当更新章节的小说的总章节数超过1000时,上述执行主体可以仅获取更新章节中的前1000章节,来更新小说摘要信息。

本申请实施例提供的小说摘要信息生成方法,首先采用自然语言处理nlp浅层词法分析模型对小说的现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果;之后基于词性分析结果从切词结果中选取出现有章节的人名集合;然后从现有章节的人名集合中确定现有章节的主角名集合;最后基于现有章节的主角名集合,生成小说摘要信息。采用nlp浅层词法分析模型对小说的现有章节进行人名识别,提高了人名识别准确度。并且,将主角名添加到小说摘要信息中,提高了小说摘要信息的内容丰富度,有助于提高对用户存在阅读需求的小说的召回率。

进一步参考图5,其示出了用于搜索信息的方法的一个应用场景的流程图。如图5所示,该应用场景包括离线部分和在线部分。其中,在线部分包括步骤501-508,在线部分包括步骤509-514,具体如下:

步骤501,小说章节内容爬取。

步骤502,nlp浅层词法分析模型进行切词和词法分析,筛选出词性为人名的词汇。

步骤503,停用词表过滤及维护。

步骤504,人名合并。

步骤505,生成主角名数据。

步骤506,章节更新数大于50,返回执行步骤501。

步骤507,小说query触发模型训练。

步骤508,小说query解析模型训练。

步骤509,接收手机、电脑端用户query。

步骤510,调用触发模型和解析模型,召回小说query,并拼接成检索表达式。

步骤511,查询离线小说数据schema,根据小说数据与query相关度计算生成候选列表。

步骤512,在线模型进行相关度和热度打分。

步骤513,根据分值进行去重排序。

步骤514,召回排名最高的小说,生成小说卡片,以及向用户推送。

进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种用于搜索信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图6所示,本实施例的用于搜索信息的装置600可以包括:接收单元601、确定单元602、解析单元603和检索单元604。其中,接收单元601,被配置成接收用户输入的搜索请求;确定单元602,被配置成确定搜索请求对应的搜索类型是否是小说搜索类型;解析单元603,被配置成若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至预先训练的解析模型,得到搜索请求对应的检索表达式,其中,解析模型用于识别小说名、作者名以及主角名中的至少一项;检索单元604,被配置成基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。

在本实施例中,用于搜索信息的装置600中:接收单元601、确定单元602、解析单元603和检索单元604的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,确定单元602包括:触发子单元(图中未示出),被配置成将搜索请求输入至预先训练的触发模型,得到搜索请求对应的搜索类型,其中,触发模型用于基于小说名、作者名以及主角名中的至少一项识别搜索类型。

在本实施例的一些可选的实现方式中,检索单元604包括:检索子单元(图中未示出),被配置成基于检索表达式在预先生成的小说摘要信息集合中检索,确定待推送小说,其中,小说摘要信息包括小说名、作者名以及主角名。

在本实施例的一些可选的实现方式中,检索子单元包括:第一计算模块(图中未示出),被配置成计算检索表达式与小说摘要信息集合中的小说摘要信息的相关度,确定候选小说集合;第二计算模块(图中未示出),被配置成计算搜索请求与候选小说集合中的候选小说的相关度,确定待选小说集合;排序及去重模块(图中未示出),被配置成基于待选小说集合中的待选小说的热度以及与搜索请求的相关度对待选小说集合进行排序和去重,确定待推送小说。

在本实施例的一些可选的实现方式中,小说摘要信息的生成步骤包括:获取小说的现有章节;采用自然语言处理nlp浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果;基于词性分析结果从切词结果中选取出现有章节的人名集合;从现有章节的人名集合中确定现有章节的主角名集合;基于现有章节的主角名集合,生成小说摘要信息。

在本实施例的一些可选的实现方式中,采用自然语言处理nlp浅层词法分析模型对现有章节的内容进行切词和词性分析,得到切词结果和词性分析结果,包括:利用nlp浅层词法分析模型先对现有章节的内容进行切词,得到词汇集合,再对词汇集合进行重组,得到语义满足预设条件的词汇序列,以及确定词汇序列中的词汇的词性,其中,预设条件包括以下至少一项:语义合理、语义完整。

在本实施例的一些可选的实现方式中,从现有章节的人名集合中确定现有章节的主角名集合,包括:对现有章节的人名集合中的相似人名进行合并,生成现有章节的合并人名集合;基于预先生成的停用词表对现有章节的合并人名集合进行过滤,生成现有章节的角色名集合;统计现有章节的角色名集合中的角色名的词频,从现有章节的角色名集合中选取现有章节的主角名集合。

在本实施例的一些可选的实现方式中,小说摘要信息的生成步骤还包括:若小说存在章节更新,获取更新章节;确定更新章节的主角名集合,以及基于更新章节的主角名集合,更新小说摘要信息。

在本实施例的一些可选的实现方式中,触发模型的训练步骤包括:获取第一训练样本集合,其中,第一训练样本集合中的第一训练样本包括第一样本搜索请求和对应的第一样本搜索类型标签;对于第一训练样本集合中的第一训练样本,将该第一训练样本中的第一样本搜索请求作为输入,将该第一训练样本中的第一样本搜索类型标签作为输出,训练得到触发模型。

在本实施例的一些可选的实现方式中,解析模型的训练步骤包括:获取第二训练样本集合,其中,第二训练样本集合中的第二训练样本包括第二样本搜索请求和对应的第二样本检索表达式,其中,第二样本检索表达式包括小说名、作者名以及主角名中的至少一项;对于第二训练样本集合中的第二训练样本,将该第二训练样本中的第二样本搜索请求作为输入,将该第二训练样本中的第二样本检索表达式作为输出,训练得到解析模型。

下面参考图7,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器103)的计算机系统700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图7所示,计算机系统700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram703中,还存储有系统700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本申请的方法中限定的上述功能。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或电子设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

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

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、确定单元、解析单元和检索单元。其中,这些单元的名称在种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收用户输入的搜索请求的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收用户输入的搜索请求;确定搜索请求对应的搜索类型是否是小说搜索类型;若搜索请求对应的搜索类型是小说搜索类型,将搜索请求输入至预先训练的解析模型,得到搜索请求对应的检索表达式,其中,解析模型用于识别小说名、作者名以及主角名中的至少一项;基于检索表达式进行小说检索,得到待推送小说,以及向用户推送。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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