未登录词识别方法、装置、计算机设备及存储介质与流程

文档序号:18544965发布日期:2019-08-27 21:34阅读:379来源:国知局
未登录词识别方法、装置、计算机设备及存储介质与流程

本发明涉及计算机应用技术,特别涉及未登录词识别方法、装置、计算机设备及存储介质。



背景技术:

日常生活中,用户会对一些词的音、形、义等属性产生问答需求,自然语言处理(nlp,naturallanguageprocessing)工具对用户的问题进行解析,解析出实体和对应的属性(用户需求)。

nlp工具依赖于数据库中已记录的实体,如果某一实体未记录在数据库中,nlp工具将无法解析或错误解析用户的问题,该未记录在数据库中的实体即为未登录词,也就是说,未登录词是指未记录在nlp工具所依赖的数据库中的词。

相应地,则需要丰富数据库的建设,使得未登录词“登录”,以扩大nlp工具的认知能力。

目前,主要采用以下处理方式:人工标注,即人工收集解析异常的查询(query),人工标注实体,或人工搜集时下热词,如“盘它”、“咖喱给给”等,加入到数据库中,但这种方式需要定期抽调人力,会耗费很大的人力成本,且效率低下等。



技术实现要素:

有鉴于此,本发明提供了未登录词识别方法、装置、计算机设备及存储介质。

具体技术方案如下:

一种未登录词识别方法,包括:

获取解析异常的第一查询;

获取所述第一查询中的实体;

从历史查询中筛选出所述第一查询的相似查询;

根据所述相似查询确定出所述实体是否为未登录词。

一种未登录词识别装置,包括:第一获取单元、第二获取单元、筛选单元以及确定单元;

所述第一获取单元,用于获取解析异常的第一查询;

所述第二获取单元,用于获取所述第一查询中的实体;

所述筛选单元,用于从历史查询中筛选出所述第一查询的相似查询;

所述确定单元,用于根据所述相似查询确定出所述实体是否为未登录词。

一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。

基于上述介绍可以看出,采用本发明所述方案,可获取解析异常的第一查询,并获取其中的实体,之后可从历史查询中筛选出第一查询的相似查询,并可根据相似查询确定出该实体是否为未登录词,相比于现有方式,本发明所述方案中无需人工标注或人工收集热词等,可自动识别出未登录词,从而节省了人力成本,并提高了处理效率,而且,可及时跟进时下热词等,从而提升了nlp工具的解析能力。

【附图说明】

图1为本发明所述未登录词识别方法实施例的流程图。

图2为本发明所述未登录词识别装置实施例的组成结构示意图。

图3示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。

【具体实施方式】

为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。

显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1为本发明所述未登录词识别方法实施例的流程图。如图1所示,包括以下具体实现方式。

在101中,获取解析异常的第一query。

在102中,获取第一query中的实体。

在103中,从历史query中筛选出第一query的相似query。

在104中,根据相似query确定出该实体是否为未登录词。

在实际应用中,可抽取nlp工具解析异常日志中的解析异常的query,如可周期性抽取,所述周期的具体时长可根据实际需要而定,解析异常日志可为nlp工具由于未登录词导致无法解析或由于未登录词引起解析错误导致未能查询到数据的log日志。

针对获取到的每个解析异常的query,可分别按照图1所示方式进行处理。为与后续出现的其它query进行区别,将解析异常的query称为第一query。

针对获取到的第一query,可首先获取其中的实体,可通过对第一query进行切词得到,优选地,可采用基于特征词的切词方式。特征词指实体的属性,即主谓宾(spo,subject-predication-object)三元组中的p,如“释义”、“意思”、“拼音”、“读音”、“近义词”等。可利用属性作为特征词,结合口语话术和预定规则等切分出第一query中的实体,即可能的未登录词。如果切词失败,如其中不具备特征词,可丢弃第一query,结束处理。

假设第一query为“蛇皮走位什么意思”,切词得到其中的实体“蛇皮走位”,记录这个实体,作为可能的未登录词,并继续后续处理。

之后,可从历史query中筛选出第一query的相似query,筛选出的相似query数通常大于一。历史query可包括解析正常的query以及解析异常的query。另外,为减少要处理的数据量等,历史query可以是指最近预定时长内(如最近一个月内)的历史query。

具体地,针对任一历史query,可对该历史query与第一查询之间的关联关系进行评估,进而选出评估最优的一个或多个历史query作为第一查询的相似查询。优选地,可分别从m个评估维度对历史query与第一query之间的关联关系进行评估,m为正整数,可综合m个评估结果得到历史query的综合评估结果,选出综合评估结果最优的n个历史query作为第一query的相似query,n为大于一的正整数。m和n的具体取值均可根据实际需要而定。

其中,m个评估维度可包括但不限于以下之一或任意组合:共现、语义、满意度,优选地,针对任一历史query,可分别从共现、语义和满意度3个评估维度对该历史query与第一query之间的关联关系进行评估,以下分别对各评估维度的评估方式进行说明。

1)共现

针对任一历史query,从共现维度对该历史query与第一query之间的关联关系进行评估的方式可包括:统计该历史query与第一query的共现次数。

优选地,可根据统计结果确定出该历史query的共现次数评分,共现次数越多,共现次数评分越高。

其中,若同一用户在第一预定时长内分别输入了该历史query和第一query,则将该历史query作为第一query的共现query。比如,同一用户在第一预定时长内依次输入了第一query和该历史query,或者,依次输入了该历史query和第一query,那么该历史query则为第一query的共现query,该历史query与第一query的共现次数加一。再比如,同一用户在第一预定时长内依次输入了第一query、第二query和第三query,那么第二query和第三query均为第一query的共现query,第二query和第三query与第一query的共现次数均加一。

共现次数越多,共现次数评分越高。比如,可直接将统计出的共现次数作为共现次数评分,或者,可划分出多个区间范围,每个区间范围分别对应不同的共现次数评分,确定统计出的共现次数所属的区间范围,将所属的区间范围对应的评分作为共现次数评分,或者,也可将统计出的共现次数乘以一个变换系数后作为共现次数评分等,具体方式不限。

2)满意度

针对任一历史query,从满意度维度对该历史query与第一query之间的关联关系进行评估可包括:统计该历史query作为第一query的满意query的次数。

优选地,可根据统计结果确定出该历史query的满意度评分,统计出的次数越多,满意度评分越高。

其中,若同一用户在第一预定时长内分别输入了第一query和该历史query,且该历史query在第一query之后输入,且在输入该历史query之后的第二预定时长内未再输入query,第二预定时长大于第一预定时长,则可将该历史query作为第一query的满意query。

比如,同一用户在第一预定时长内先后输入了第一query和该历史query,在输入该历史query之后未再输入query,那么可认为用户对该历史query满意,将该历史query作为第一query的满意query。再比如,同一用户在第一预定时长内依次输入了第一query、第二query和第三query,在输入第三query之后未再输入query,那么则可将第三query作为第一query的满意query。

满意度评分可参照前述关于共现次数评分的相关说明,不再赘述。

上述第一预定时长和第二预定时长的具体取值均可根据实际需要而定。

3)语义

针对任一历史query,从语义维度对该历史query与第一query之间的关联关系进行评估可包括:计算该历史query与第一query的语义相似度。

优选地,可根据计算结果确定出该历史query的语义相似度评分,语义相似度越高,语义相似度评分越高。

语义相似度评分即指两个query语义层面相似度的评分。语义相似度的计算为现有技术。语义相似度评分可参照前述关于共现次数评分的相关说明,不再赘述。

针对任一历史query,在分别获取到该历史query的共现次数评分、满意度评分和语义相似度评分之后,可综合这3个评分得到该历史query的综合评分。比如,可将3个评分分别乘以对应的权值,从而得到3个乘积,将3个乘积相加,相加之和即为综合评分。

可将各历史query的综合评分按照取值从大到小的顺序进行排序,将排序后处于前n位的历史query作为第一query的相似query,n为大于一的正整数,具体取值可根据实际需要而定。

通过综合多个评分维度对历史query进行评分,提高了排序结果的准确性,进而使得筛选出的相似query更为准确。

之后,可根据筛选出的相似query确定出从第一query中获取到的实体是否为未登录词,包括但不限于以下三种方式。

1)方式一

假设从第一query中获取到的实体为实体a,那么可统计筛选出的相似query中包含实体a的相似query数,若统计结果大于预先设定的第一阈值,则可将实体a确定为未登录词。

假设筛选出的相似query数为20,实体a为“蛇皮走位”,那么统计20个相似query中包含“蛇皮走位”的相似query数,假设为18个,大于第一阈值如15,那么则可将“蛇皮走位”确定为未登录词。

通过上述方式,可确保实体a不是单一用户认知的实体,而是大众默认的实体,具有大众接受度。

若统计结果小于或等于第一阈值,可丢弃实体a,即认为实体a被少量用户认知,没有大众接受度,视为放弃。

2)方式二

假设从第一query中获取到的实体为实体a,那么可统计筛选出的相似query中包含实体a且具有汉语属性的相似query数,若统计结果大于预先设定的第二阈值,则可将实体a确定为未登录词。

假设筛选出的相似query数为20,实体a为“蛇皮走位”,那么统计20个相似query中包含实体a且具有汉语属性的相似query数,假设为16个,大于第二阈值如14,那么则可将“蛇皮走位”确定为未登录词。

针对每个相似query,可分别对其进行切词,优选地,可采用基于特征词的切词方式,特征词指实体的属性,如“释义”、“拼音”、“读音”、“近义词”等,可利用属性作为特征词,结合口语话术和预定规则等对每个相似query进行切词,如果切词失败,如某一相似query中不具备特征词,可丢弃该相似query。

nlp工具主要针对汉语场景,因此收录到nlp工具所依赖的数据库中的词通常为汉语强需求词,对于一个词汇,主要考虑它的汉语属性,如用户集中提问“释义”、“拼音”、“读音”、“近义词”等属性时,则可认为该词汇是一个汉语强需求词汇,可加入到数据库中。

具体到本实施例中,若筛选出的相似query中,用户针对“蛇皮走位”这一实体的query主要为“蛇皮走位的意思”、“蛇皮走位的拼音”、“蛇皮走位的近义词”等,即包括“蛇皮走位”且具有汉语属性,那么则可将“蛇皮走位”确定为未登录词。

3)方式三

假设从第一query中获取到的实体为实体a,那么可统计筛选出的相似query中包含实体a的相似query数,得到第一统计结果,若第一统计结果大于预先设定的第三阈值,则可进一步统计出相似query中包含实体a且具有汉语属性的相似query数,得到第二统计结果,若第二统计结果大于预先设定的第四阈值,则可将实体a确定为未登录词。

第三阈值可与方式一中的第一阈值相同,也可以不同,类似地,第四阈值可与方式二中的第二阈值相同,也可以不同。

本方式中,可依次进行两次统计,第一次统计中,统计相似query中包含实体a的相似query数,得到第一统计结果,并将第一结果与第三阈值进行比较,若第一统计结果大于第三阈值,可进一步进行第二次统计,若第一统计结果小于或等于第三阈值,说明实体a被少量用户认知,没有大众接受度,因此可丢弃实体a,结束处理。第二次统计中,统计相似query中包含实体a且具有汉语属性的相似query数,得到第二统计结果,并将第二统计结果与第四阈值进行比较,若第二统计结果大于第四阈值,说明实体a为汉语强需求词汇,将其确定为未登录词,若第二统计结果小于或等于第四阈值,说明实体a的汉语属性偏弱,为汉语弱需求词汇,可丢弃。

在实际应用中,可根据实际需要灵活选择使用方式一、方式二还是方式三。

对于确定出的未登录词,可加入到nlp工具所依赖的数据库中,使得之后用户的query中包含该未登录词时可以被正确解析。

需要说明的是,对于前述的方法实施例,为了简单描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

总之,采用本发明方法实施例所述方案,可自动识别出未登录词,从而节省了人力成本,并提高了处理效率,而且,可及时跟进时下热词等,从而提升了nlp工具的解析能力。

以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。

图2为本发明所述未登录词识别装置实施例的组成结构示意图。如图2所示,包括:第一获取单元201、第二获取单元202、筛选单元203以及确定单元204。

第一获取单元201,用于获取解析异常的第一query。

第二获取单元202,用于获取第一query中的实体。

筛选单元203,用于从历史query中筛选出第一query的相似query。

确定单元204,用于根据筛选出的相似query确定出该实体是否为未登录词。

对于第一获取单元201获取到的解析异常的第一query,第二获取单元202可首先获取其中的实体,可通过对第一query进行切词得到,优选地,可采用基于特征词的切词方式,特征词指实体的属性,如“释义”、“意思”、“拼音”、“读音”、“近义词”等,可利用属性作为特征词,结合口语话术和预定规则等切分出第一query中的实体,即可能的未登录词,如果切词失败,如其中不具备特征词,可丢弃第一query,结束处理。

若切词得到第一query中的实体,筛选单元203可从历史query中筛选出第一query的相似query,历史query可以是指最近预定时长内(如最近一个月内)的历史query。优选地,针对任一历史query,筛选单元203可分别从m个评估维度对历史query与第一query之间的关联关系进行评估,m为正整数,综合m个评估结果得到历史query的综合评估结果,并选出综合评估结果最优的n个历史query作为第一query的相似query,n为大于一的正整数。

其中,m个评估维度可包括但不限于以下之一或任意组合:共现、语义、满意度,优选地,针对任一历史query,筛选单元203可分别从共现、语义和满意度3个评估维度对该历史query与第一query之间的关联关系进行评估,以下分别对各评估维度的评估方式进行说明。

针对共现这一评估维度,筛选单元203可统计该历史query与第一query的共现次数。优选地,可根据统计结果确定出该历史query的共现次数评分,共现次数越多,共现次数评分越高。其中,若同一用户在第一预定时长内分别输入了该历史query和第一query,则将该历史query作为第一query的共现query。

针对满意度这一评估维度,筛选单元203可统计该历史query作为第一query的满意query的次数。优选地,可根据统计结果确定出该历史query的满意度评分,次数越多,满意度评分越高。其中,若同一用户在第一预定时长内分别输入了第一query和该历史query,且该历史query在第一query之后输入,且在输入该历史query之后的第二预定时长内未再输入query,第二预定时长大于第一预定时长,则可将该历史query作为第一query的满意query。

针对语义这一评估维度,筛选单元203可计算该历史query与第一query的语义相似度。优选地,可根据计算结果确定出该历史query的语义相似度评分,语义相似度越高,语义相似度评分越高。

针对任一历史query,筛选单元203在分别获取到该历史query的共现次数评分、满意度评分和语义相似度评分之后,可综合这3个评分得到该历史query的综合评分。比如,可将3个评分分别乘以对应的权值,从而得到3个乘积,将3个乘积相加,相加之和即为综合评分。进一步地,筛选单元203可将各历史query的综合评分按照取值从大到小的顺序进行排序,将排序后处于前n位的历史query作为第一query的相似query。

之后,确定单元204可根据筛选出的相似query确定出从第一query中获取到的实体是否为未登录词,假设获取到的实体为实体a。

确定单元204可统计相似query中包含实体a的相似query数,若统计结果大于预先设定的第一阈值,则可将实体a确定为未登录词。

或者,确定单元204可统计相似query中包含实体a且具有汉语属性的相似query数,若统计结果大于预先设定的第二阈值,则可将实体a确定为未登录词。

或者,确定单元204可统计相似query中包含实体a的相似query数,得到第一统计结果,若第一统计结果大于预先设定的第三阈值,则可进一步统计相似query中包含实体a且具有汉语属性的相似query数,得到第二统计结果,若第二统计结果大于预先设定的第四阈值,则可将实体a确定为未登录词。

图2所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。

总之,采用本发明装置实施例所述方案,可自动识别出未登录词,从而节省了人力成本,并提高了处理效率,而且,可及时跟进时下热词等,从而提升了nlp工具的解析能力。

图3示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图3显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图3所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图3所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1所示实施例中的方法。

本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1所示实施例中的方法。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

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

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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