CN117807195A - 显示设备及实体召回方法 - Google Patents
显示设备及实体召回方法 Download PDFInfo
- Publication number
- CN117807195A CN117807195A CN202310280597.9A CN202310280597A CN117807195A CN 117807195 A CN117807195 A CN 117807195A CN 202310280597 A CN202310280597 A CN 202310280597A CN 117807195 A CN117807195 A CN 117807195A
- Authority
- CN
- China
- Prior art keywords
- entity
- user
- user question
- word segmentation
- substring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000011218 segmentation Effects 0.000 claims description 57
- 238000004891 communication Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/374—Thesaurus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供了一种显示设备及实体召回方法,显示设备包括:显示器;控制器,控制器被配置为:接收用户输入的语音指令;对所述语音指令进行语音识别,得到用户问句;通过查询布隆过滤器和redis缓存获取所述用户问句中的实体信息;根据所述实体信息获取所述用户问句的响应结果;根据所述响应结果进行响应。本申请提高了实体召回的速度和准确性。
Description
技术领域
本申请涉及语音识别技术领域,尤其涉及一种显示设备及实体召回方法。
背景技术
在NLU(Natural Language Understanding,自然语言理解)领域,单实体(即纯电影名、电视剧名称等)的识别一直以来是该领域的难点和重点。在语义理解场景下,由于知识库的更新不及时以及用户表达多样化等原因,深度学习模型的实体识别难度大,特别是在多语言语义理解场景下,这个问题显得尤其突出,而实体无法准确识别,会导致语音助手无法识别和理解用户的需求,进而影响用户体验。相关技术中,为了准确识别实体,通过构建实体知识库和知识搜索与查询子系统,可供线上服务如语义理解服务进行实体召回,该系统需要满足实体查询速度足够快、准确率足够高的特点,这给实体召回算法带来了较大的压力。
发明内容
为解决上述技术问题,本申请提供了一种显示设备及实体召回方法。
第一方面,本申请提供了一种显示设备,该显示设备包括:
显示器;
控制器,与所述显示器通信连接,被配置为:
接收用户输入的语音指令;
对所述语音指令进行语音识别,得到用户问句;
通过查询布隆过滤器和redis缓存获取所述用户问句中的实体信息;
根据所述实体信息获取所述用户问句的响应结果;
根据所述响应结果进行响应。
在一些实施例中,所述通过查询布隆过滤器和redis缓存获取所述用户问句中的实体信息,包括:
获取所述用户问句对应的全量候选实体;
通过布隆过滤器过滤所述全量候选实体中的非实体子串,得到用户词典;
基于所述用户词典,通过最大匹配算法将所述用户问句进行切词,得到切词结果;
在redis缓存中遍历所述切词结果,得到所述切词结果对应的实体信息;
根据所述实体信息获取所述用户问句的响应结果。
在一些实施例中,所述获取所述用户问句对应的全量候选实体,包括:
确定所述用户问句的子串长度生成范围;
在所述用户问句中查找长度在子串长度生成范围内的子串,得到用户问句的全量候选实体。
在一些实施例中,所述确定所述用户问句的子串长度生成范围,包括:
计算所述用户问句中的词的总数量;
将子串长度生成范围确定为1到所述总数量。
在一些实施例中,所述控制器还被配置为:
收集影视名称实体;
设置所述影视名称实体的实体标签为影视标签;
构建包含所述影视名称实体和实体标签的redis缓存;
构建所述影视名称实体对应的布隆过滤器。
在一些实施例中,所述在redis缓存中遍历所述切词结果,得到所述切词结果对应的实体信息,包括:
在redis缓存中遍历所述切词结果;
若所述切词结果中的子串存在于所述redis缓存中,将所述子串的实体类别设置为所述子串在所述redis缓存中的实体标签;
若所述切词结果中的子串存在于所述redis缓存中,设置所述子串的实体类别为第二类别,所述实体信息包括所述实体类别。
第二方面,本申请提供了一种实体召回方法,该方法包括:
获取用户问句对应的全量候选实体;
通过布隆过滤器过滤所述全量候选实体中的非实体子串,得到用户词典;
基于所述用户词典,通过最大匹配算法将所述用户问句进行切词,得到切词结果;
在redis缓存中遍历所述切词结果,得到所述切词结果对应的实体信息。
所述获取所述用户问句对应的全量候选实体,包括:
确定所述用户问句的子串长度生成范围;
在所述用户问句中查找长度在子串长度生成范围内的子串,得到用户问句的全量候选实体。
在一些实施例中,所述确定所述用户问句的子串长度生成范围,包括:
计算所述用户问句中的词的总数量;
将子串长度生成范围确定为1到所述总数量。
在一些实施例中,所述方法还包括:
收集影视名称实体;
设置所述影视名称实体的实体标签为影视标签;
构建包含所述影视名称实体和实体标签的redis缓存;
构建所述影视名称实体对应的布隆过滤器。
本申请提供的显示设备及实体召回方法的有益效果包括:
本申请实施例通过查询布隆过滤器和redis缓存获取用户问句中的实体信息,利用了布隆过滤器和redis缓存查询速度快的优点,能从用户问句中快速识别出实体信息;并且,通过将布隆过滤器和redis缓存相结合进行查询,解决了Redis缓存穿透的问题,实现在海量实体库中,快速、准确查询与匹配实体的目的,进而有效地解决了语音识别中的单实体欠召和过召问题。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1中示例性示出了根据一些实施例的语音识别装置的系统架构示意图;
图2中示例性示出了根据一些实施例的智能设备200的硬件配置框图;
图3中示例性示出了根据一些实施例的智能设备200的硬件配置框图;
图4中示例性示出了根据一些实施例的智能电视200-1的逻辑架构示意图;
图5中示例性示出了根据一些实施例的布隆过滤器的结构示意图;
图6中示例性示出了根据一些实施例的实体召回方法的流程示意图;
图7中示例性示出了根据一些实施例的实体召回方法的整体流程示意图;
图8中示例性示出了根据一些实施例的语音交互界面的示意图;
图9中示例性示出了根据一些实施例的语音交互界面的示意图;
图10中示例性示出了根据一些实施例的语音交互界面的示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
图1示出了可以应用本申请的语音识别方法和语音识别装置的示例性系统架构。如图1所示,其中,10为服务器,200为终端设备,示例性包括(智能电视200a,移动设备200b,智能音箱200c)。
本申请中服务器10与终端设备200通过多种通信方式进行数据通信。可允许终端设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器10可以向终端设备20提供各种内容和互动。示例性的,终端设备200与服务器10可以通过发送和接收信息,以及接收软件程序更新。
服务器10可以是提供各种服务的服务器,例如对终端设备200采集的音频数据提供支持的后台服务器。后台服务器可以对接收到的音频等数据进行分析等处理,并将处理结果(例如端点信息)反馈给终端设备。服务器10可以是一个服务器集群,也可以是多个服务器集群,可以包括一类或多类服务器。
终端设备200可以是硬件,也可以是软件。当终端设备200为硬件时,可以是具有声音采集功能的各种电子设备,包括但不限于智能音箱、智能手机、电视、平板电脑、电子书阅读器、智能手表、播放器、计算机、AI设备、机器人、智能车辆等等。当终端设备200、201、202为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供声音采集服务),也可以实现成单个软件或软件模块。在此不做具体限定。
在一些实施例中,本申请实施例所提供的声音克隆方法可以通过服务器10执行。
图2示出了根据示例性实施例中智能设备200的硬件配置框图。如图2所示智能设备200包括通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。控制器包括中央处理器,音频处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。智能设备200可以通过通信器220服务器10建立控制信号和数据信号的发送和接收。
用户接口,可用于接收外部的控制信号。
检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
声音采集器可以是麦克风,也称“话筒”,“传声器”,可以用于接收用户的声音,将声音信号转换为电信号。智能设备200可以设置至少一个麦克风。在另一些实施例中,智能设备200可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,智能设备200还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
此外,麦克风可以是内置在智能设备200上,或者麦克风通过有线或者无线的方式与智能设备200相连接。当然,本申请实施例对麦克风在智能设备200上的位置不作限定。或者,智能设备200可以不包括麦克风,即上述麦克风并未设置于智能设备200中。智能设备200可以通过接口(如USB接口130)外接麦克风(也可以称为话筒)。该外接的话筒可以通过外部固定件(如带夹子的摄像头支架)固定在智能设备200上。
控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制智能设备200的整体操作。
示例性的,控制器包括中央处理器(Central Processing Unit,CPU),音频处理器,RAM Random Access Memory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
在一些示例中,智能设备的操作系统为Android系统为例,如图3所示,智能电视200-1从逻辑上可以分为应用程序(Applications)层(简称“应用层”)21,内核层22和硬件层23。
其中,如图3所示,硬件层可包括图2所示的控制器250、通信器220、检测器230等。应用层21包括一个或多个应用。应用可以为系统应用,也可以为第三方应用。如,应用层21包括语音识别应用,语音识别应用可以提供语音交互界面和服务,用于实现智能电视200-1与服务器10的连接。
内核层22作为硬件层和应用层21之间的软件中间件,用于管理和控制硬件与软件资源。
在一些示例中,内核层22包括检测器驱动,检测器驱动用于将检测器230采集的语音数据发送至语音识别应用。示例性的,智能设备200中的语音识别应用启动,智能设备200与服务器10建立了通信连接的情况下,检测器驱动用于将检测器230采集的用户输入的语音数据发送至语音识别应用。之后,语音识别应用将包含该语音数据的查询信息发送至服务器中的意图识别模块202。意图识别模块202用于将智能设备200发送的语音数据输入至意图识别模型。
为清楚说明本申请的实施例,下面结合图4对本申请实施例提供的一种语音识别网络架构进行描述。
参见图4,图4为本申请实施例提供的一种语音交互网络架构示意图。图4中,智能设备用于接收输入的信息以及输出对该信息的处理结果。语音识别模块部署有语音识别服务,用于将音频识别为文本;语义理解模块部署有语义理解服务,用于对文本进行语义解析;业务管理模块部署有业务指令管理服务,用于提供业务指令;语言生成模块部署有语言生成服务(NLG),用于将指示智能设备执行的指令转化为文本语言;语音合成模块部署有语音合成(TTS)服务,用于将指令对应的文本语言处理后发送至扬声器进行播报。在一个实施例中,图4所示架构中可存在部署有不同业务服务的多个实体服务设备,也可以一个或多个实体服务设备中集合一项或多项功能服务。
一些实施例中,下面对基于图4所示架构处理输入智能设备的信息的过程进行举例描述,以输入智能设备的信息为通过语音输入的查询语句为例:
[语音识别]
智能设备可在接收到通过语音输入的查询语句后,智能设备可对查询语句的音频进行降噪处理和特征提取,这里的去噪处理可包括去除回声和环境噪声等步骤。
[语义理解]
利用声学模型和语言模型,对识别出的候选文本和相关联的上下文信息进行自然语言理解,将文本解析为结构化的、机器可读的信息,业务领域、意图、词槽等信息以表达语义等。得到可执行意图确定意图置信度得分,语义理解模块基于所确定的意图置信度得分选择一个或者多个候选可执行意图。
[业务管理]
语义理解模块根据对查询语句的文本的语义解析结果,向相应的业务管理模块下发查询指令以获取业务服务给出的查询结果,以及执行“完成”用户最终请求所需的动作,并将查询结果对应的设备执行指令进行反馈。
[语言生成]
自然语言生成(NLG)被配置为将信息或者指令生成语言文本。具体可分为闲聊型、任务型、知识问答型和推荐型。其中,闲聊型对话中的NLG就是根据上下文进行意图识别、情感分析等,然后生成开放性回复;任务型对话中需根据学习到的策略来生成对话回复,一般回复包括澄清需求、引导用户、询问、确认、对话结束语等;知识问答型对话中根据问句类型识别与分类、信息检索或文本匹配而生成用户需要的知识(知识、实体、片段等);推荐型对话系统中根据用户的爱好来进行兴趣匹配以及候选推荐内容排序,然后生成给用户推荐的内容。
[语音合成]
语音合被配置为呈现给用户的语音输出。语音合成处理模块基于数字助理提供的文本来合成语音输出。例如,所生成的对话响应是文本串的形式。语音合成模块将文本串转换成可听语音输出。
需要说明的是,图4所示架构只是一种示例,并非对本申请保护范围的限定。本申请实施例中,也可采用其他架构来实现类似功能,例如:上述过程全部或部分可以由智能终端来完成,在此不做赘述。
针对具有海量实体的实体库时,为提高实体召回的速度和准确性,本申请实施例提供了一种实体召回方法,该实体召回方法实现了在海量实体库中快速查询与匹配实体的目的,有效地解决了对话系统中的单实体欠召和过召问题。
在一些实施例中,为实现实体的快速、准确召回,本申请实施例预先构建了包含大量影视名称实体的实体库。该实体库的构建方法包括:从公开的互联网电影数据库、网页、数据集等数据源收集影视名称实体;对收集到的影视名称实体进行数据清洗,去除重复的影视名称实体;设置影视名称实体的实体标签,如video_title。
需要说明的是,本申请实施例中的实体,特指影视名称实体,其他类型实体的召回方法,可参考本申请实施例做适应性调整,均属于本申请的保护范围。
在一些实施例中,为实现实体的快速、准确召回,本申请实施例基于redis缓存构建实体库中,通过调用redis缓存的存储API(Application Programming Interface,应用程序编程接口)接口,将实体库中包含实体标签、影视名称实体这两个字段的数据存储在redis缓存中。redis缓存为Key-value的存储系统,且为跨平台的非关系型数据库,可解决高并发场景下极短时间内的千万次读写操作,并且还支持集群、分布式、主从同步等配置,原则上可以无限扩展,让更多的数据存储在内存中,它还支持一定的事务能力,这保证了高并发场景下的数据安全性和一致性。
在一些实施例中,为实现对实体的快速、准确召回,本申请实施例还构建了用于查找实体的布隆过滤器。先利用布隆过滤器过滤掉用户问问中的非实体后,再在redis缓存中查询实体类别,能进一步提高实体识别效率。布隆过滤器的构建方法包括:初始化一个位数组array,对于有n个元素的集合S={S1,S2…Sn},通过k个映射函数{f1,f2,…fk}将集合S中的每个元素Sj(1<=j<=n)映射为k个值{g1,g2…gk},)然后再将位数组array中相对应的array[g1]、array[g2]、…、array[gk]置为1。其中,集合S中的元素为影视名称实体,k个映射函数均为哈希映射函数。
示例性的,参见图5,为根据一些实施例的布隆过滤器的结构示意图,如图5所示,针对实体库中的影视名称实体“媒资A”、“媒资B”和“媒资C”,可构建S={媒资A,媒资B,媒资C},对于影视名称实体“媒资A”,通过3个映射函数Hash1、Hash2、Hash3进行哈希值计算,得到3个映射值:3、5、7,将位数组array中相对应的array[g1]、array[g2],array[g3]置为1,实现了将影视名称实体“媒资A”存储到布隆过滤器中;同理,对于影视名称实体“媒资B”,通过3个映射函数Hash1、Hash2、Hash3进行哈希值计算,得到3个映射值:1、2、6,将位数组array中相对应的array[g1]、array[g2],array[g3]置为1,实现了将影视名称实体“媒资B”存储到布隆过滤器中;对于影视名称实体“媒资C”,通过3个映射函数Hash1、Hash2、Hash3进行哈希值计算,得到3个映射值:4、8、9,将位数组array中相对应的array[g1]、array[g2],array[g3]置为1,实现了将影视名称实体“媒资C”存储到布隆过滤器中。从而,在用户问句包含“媒资A”、“媒资B”、“媒资C”、“人物D”时,利用该布隆过滤器查找“媒资A”、“媒资B”、“媒资C”、“人物D”,可得到“媒资A”、“媒资B”、“媒资C”包含在上述布隆过滤器内,可初步判定“媒资A”、“媒资B”、“媒资C”属于影视名称实体,“人物D”不包含在上述布隆过滤器内,判定“人物D”不是影视名称实体。
基于上述预先构建的redis缓存和布隆过滤器,本申请实施例提供了一种实体召回方法,参见图6,为本申请实施例提供的一种实体召回方法的流程示意图,如图6所示,该方法可包括如下步骤:
步骤S101:获取用户问句对应的全量候选实体。
在一些实施例中,用户向显示设备输入语音指令后,显示设备可通过应用层的语音识别应用将语音指令进行语音识别,得到语音指令对应的文本,该文本可为用户query(问句),显示设备将该用户问句发送到服务器进行处理。
在一些实施例中,服务器在得到用户问句后,可通过两重循环遍历用户问句,生成长度范围为1~len(query)的全部子串,作为该用户问句的全量候选实体。其中,两重循环遍历用户问句的方法可包括:确定子串长度生成范围,该子串长度生成范围可为1~N,其中,N为用户问句中单词的总数量;在用户问句中查找长度在子串长度生成范围内的子串,得到用户问句的全量候选实体,其中,全量候选实体包括上述长度在子串长度生成范围内的全部子串。
步骤S102:通过布隆过滤器过滤所述全量候选实体中的非实体子串,得到用户词典。
在一些实施例中,可通过预先构建的布隆过滤器来检测全量候选实体中的每个子串是否为实体子串,保留全量候选实体中的实体子串,去除非实体子串,得到用户词典。
示例性的,以图5所示的布隆过滤器为例,查找全量候选子串中的一个子串是否为redis缓存中的实体子串的方法可为:通过3个映射函数Hash1、Hash2、Hash3对子串进行哈希值计算,得到3个映射值,查询位数组array中对应这3个映射值的值是否为1,若位数组array中对应这3个映射值的值全为1,则确定该子串为实体子串,若其中一个映射值的值是为0,则判定该子串不是实体子串。
步骤S103:基于所述用户词典,通过最大匹配算法将所述用户问句进行切词,得到切词结果;
在一些实施例中,最大匹配算法是指以词典为依据,取词典中最长词的长度作为第一次取字数量的长度,在词典中进行扫描的算法。例如:词典中最长词为“ABCDEFG”,该词共包括7个字符,则最大匹配起始字符数为7。然后逐字符递减,在对应的词典中进行查找,直到输入文本在词典中对应的最长分词。
最大匹配算法主要包括正向最大匹配算法(FMM,Forward Maximum Matching)、反向最大匹配算法(BMM,Backward Maximum Matching)和双向最大匹配算法。其中,正向最大匹配算法是从左到右将输入文本中的几个连续字符与词典匹配,如果匹配上,则切分出一个分词;反向最大匹配算法是从右到左将输入文本中的几个连续字符与词典匹配,如果匹配上,则切分出一个分词;双向最大匹配算法是比较正向最大匹配算法和反向最大匹配算法这两种匹配算法的分词结果,如果分词数量结果不同,则输出数量较少的分词结果,如果分词数量结果相同,继续比较分词结果,若分词结果相同,则输出任意一个分词结果,若分词结果不同,则输出单字符数较少的一个分词结果。
在一些实施例中,可选取其中一种算法,如选取正向最大匹配算法,根据用户词典对用户问句进行切词,得到切词结果,切词结果除了包含用户词典中的分词,还包括用户问句中的其他分词。
步骤S104:在redis缓存中遍历所述切词结果,得到所述切词结果对应的实体信息。
在一些实施例中,对于步骤S103得到的切词结果,可调用redis缓存的查询API接口,在redis缓存中对该切词结果进行遍历,得到切词结果中的每个子串对应的实体查询结果,该实体查询结果可包括实体类别,若实体类别为第一类别,表示该子串是redis缓存中的实体,若实体类别为第二类别,表示该子串不是redis缓存中的实体。
在一些实施例中,根据步骤S104得到切词结果的实体查询结果后,可得到切词结果的实体信息,该实体信息包含了实体类别为第一类别的实体,将该实体确定为用户问句中的实体。
在一些实施例中,在得到用户问句中的实体后,可根据该实体对用户问句进行语义理解等后续语音交互流程,通过本申请实施例能够快速准确地识别用户问句中的实体,进而能够提高语义理解的准确率和效率,提升语音交互体验。例如,用户问句为“我想看电影A”,利用本申请实施例对该用户问句进行实体召回后,能够快速判断出“电影A”为影视名称实体,在影视名称数据库中搜索“电影A”,搜索结果能够满足用户需求的概率较高。
为对本申请实施例提供的实体召回方法做进一步说明,图7示出了根据一些实施例的实体召回方法的整体流程示意图,如图7,该实体召回方法的整体流程可包括如下步骤:
步骤S201:构建影视名称实体库。
在一些实施例中,可从公开的互联网电影数据库、网页、数据集等数据源收集影视名称实体;对收集到的影视名称实体进行数据清洗,去除重复的影视名称实体;设置影视名称实体的实体标签,将影视名称及其对应的实体标签存储到redis缓存中,得到影视名称实体库。
步骤S202:构建音乐名称实体库。
在一些实施例中,音乐名称实体库的构建可参见影视名称实体库的构建,在此不再赘述。
步骤S203:构建其他实体库。
在一些实施例中,除了构建影视名称实体库、音乐名称实体库,还可构建其他用于语义理解的实体库,如应用名称实体库、游戏名称实体库等实体库。
步骤S204:构建布隆过滤器。
在一些实施例中,针对构建的各实体库,可分别构建相应的布隆过滤器。
步骤S205:输入用户问句。
在一些实施例中,用户在唤醒显示设备的语音识别应用后,显示设备可显示图8所示的界面,该界面设置有第一对话框控件501,第一对话框控件501用于展示显示设备对用户语音指令的响应,显示设备对用户唤醒语音识别应用的语音指令的响应如图8所示,第一对话框控件501可展示显示设备的语音唤醒提示语,用户根据第一对话框控件501显示的内容,可继续向显示设备输入语音指令以与显示设备进行语音交互。
示例性的,参见图9,用户向显示设备输入的语音指令为“Search for X YZ”,显示设备可展示第二对话框控件502,第二对话框控件502设置在与第一对话框控件501相对的一侧,第二对话框控件502用于展示语音指令对应的文本,即用户问句。显示设备将语音指令进行语音识别后,在第二对话框控件502展示语音识别后的文本。
步骤S206:获取全量候选实体。
在一些实施例中,显示设备将用户问句发送给服务器后,服务器对该用户问句的处理包括:计算该用户问句中词的总数量,根据该词的总数量确定子串长度生成范围,在用户问句中查找长度在子串长度生成范围内的子串,得到用户问句的全量候选实体。
还是以用户问句为“Search for X YZ”为例,该用户问句中词的总数量为4,则确定子串长度生成范围为1~4,在“Search for X YZ”中查找长度在1~4范围内的子串,分别有:search、for、X、YZ、search for、for X、YZ、search for X、for X YZ、Search for X YZ,则全量候选实体为:candidates=[search,for,X,Y,search for,for X,X YZ,search forX,for X YZ,search for X YZ],其中,candidates为全量候选实体。
步骤S207:过滤非实体,生成用户词典。
在一些实施例中,通过步骤S204构建的布隆过滤器,可过滤全量候选实体中的非实体,将全量候选实体中的非实体滤除后,得到用户词典。
示例性地,全量候选实体:candidates=[search,for,X,Y,search for,for X,XYZ,search for X,for X YZ,search for X YZ],其生成的用户词典为:user_dict=[X,XYZ],其中,user_dict表示用户词典。
步骤S208:选择切词算法。
在一些实施例中,可选用最大前向匹配算法对用户词典进行切词。
在一些实施例中,可选用最大后向匹配算法对用户词典进行切词。
在一些实施例中,可选用最长子串匹配算法对用户词典进行切词。
步骤S209:生成切词结果。
在一些实施例中,任选上述一种切词算法后,得到的user_dict切词结果为:tokens=[search,for,X YZ],其中,tokens表示切词结果。
步骤S210:查询redis缓存。
在一些实施例中,可将切词结果分别在构建的全部实体库,如影视名称实体库、音乐名称实体库、其他实体库等实体库中分别进行实体类型查询。
步骤S211:生成实体标签。
在一些实施例中,若在其中一个实体库中查询到切词结果中的一个词,则可获取该词在实体库中的实体标签,生成包含实体标签的实体召回结果。
示例性地,对于用户问句“search for X YZ”,生成的体召回结果为:[{'token':'search','entity_type':'0'},{'token':'for','entity_type':'0'},{'token':'spiderman','entity_type':'video_title'}],其中,entity_type为实体类别,0表示第二类别,video_title表示第一类别。
在一些实施例中,在得到切词结果对应的实体标签后,可根据该实体标签进行语义理解,得到用户问句的意图,根据用户意图进行相应的业务处理,生成用户问句的响应结果。
示例性地,对于用户问句“search for X YZ”,根据实体召回结果,可确定“X YZ”为影视名称实体,可在影视数据库中搜索该影视名称对应的影片,得到搜索结果,根据该搜索结果生成用户问句的响应结果,例如,将包含搜索结果中的前M条数据的响应结果下发至显示设备,显示设备在接收到该响应结果后,分页展示该M条数据,如图10所示,显示设备可根据响应结果生成响应界面,该响应界面可包括多个媒资控件503,每个媒资控件503分别对应一条搜索结果中的影片,用户点击其中一个媒资控件503,显示设备可播放该媒资控件503对应的影片。
由上述实施例可见,本申请实施例通过构建布隆过滤器和redis缓存,结合最大后向匹配算法,实现在海量实体库中,达到快速、准确地查询与匹配实体的目的,进而有效地解决了语音识别中的单实体欠召和过召问题。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种显示设备,其特征在于,包括
显示器;
控制器,与所述显示器通信连接,被配置为:
接收用户输入的语音指令;
对所述语音指令进行语音识别,得到用户问句;
通过查询布隆过滤器和redis缓存获取所述用户问句中的实体信息;
根据所述实体信息获取所述用户问句的响应结果;
根据所述响应结果进行响应。
2.根据权利要求1所述的显示设备,其特征在于,所述通过查询布隆过滤器和redis缓存获取所述用户问句中的实体信息,包括:
获取所述用户问句对应的全量候选实体;
通过布隆过滤器过滤所述全量候选实体中的非实体子串,得到用户词典;
基于所述用户词典,通过最大匹配算法将所述用户问句进行切词,得到切词结果;
在redis缓存中遍历所述切词结果,得到所述切词结果对应的实体信息。
3.根据权利要求2所述的显示设备,其特征在于,所述获取所述用户问句对应的全量候选实体,包括:
确定所述用户问句的子串长度生成范围;
在所述用户问句中查找长度在子串长度生成范围内的子串,得到用户问句的全量候选实体。
4.根据权利要求3所述的显示设备,其特征在于,所述确定所述用户问句的子串长度生成范围,包括:
计算所述用户问句中的词的总数量;
将子串长度生成范围确定为1到所述总数量。
5.根据权利要求2所述的显示设备,其特征在于,所述控制器还被配置为:
收集影视名称实体;
设置所述影视名称实体的实体标签为影视标签;
构建包含所述影视名称实体和实体标签的redis缓存;
构建所述影视名称实体对应的布隆过滤器。
6.根据权利要求2所述的显示设备,其特征在于,所述在redis缓存中遍历所述切词结果,得到所述切词结果对应的实体信息,包括:
在redis缓存中遍历所述切词结果;
若所述切词结果中的子串存在于所述redis缓存中,将所述子串的实体类别设置为所述子串在所述redis缓存中的实体标签;
若所述切词结果中的子串存在于所述redis缓存中,设置所述子串的实体类别为第二类别,所述实体信息包括所述实体类别。
7.一种实体召回方法,其特征在于,包括:
获取用户问句对应的全量候选实体;
通过布隆过滤器过滤所述全量候选实体中的非实体子串,得到用户词典;
基于所述用户词典,通过最大匹配算法将所述用户问句进行切词,得到切词结果;
在redis缓存中遍历所述切词结果,得到所述切词结果对应的实体信息。
8.根据权利要求7所述的实体召回方法,其特征在于,所述获取所述用户问句对应的全量候选实体,包括:
确定所述用户问句的子串长度生成范围;
在所述用户问句中查找长度在子串长度生成范围内的子串,得到用户问句的全量候选实体。
9.根据权利要求8所述的实体召回方法,其特征在于,所述确定所述用户问句的子串长度生成范围,包括:
计算所述用户问句中的词的总数量;
将子串长度生成范围确定为1到所述总数量。
10.根据权利要求7所述的实体召回方法,其特征在于,所述方法还包括:
收集影视名称实体;
设置所述影视名称实体的实体标签为影视标签;
构建包含所述影视名称实体和实体标签的redis缓存;
构建所述影视名称实体对应的布隆过滤器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310280597.9A CN117807195A (zh) | 2023-03-21 | 2023-03-21 | 显示设备及实体召回方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310280597.9A CN117807195A (zh) | 2023-03-21 | 2023-03-21 | 显示设备及实体召回方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117807195A true CN117807195A (zh) | 2024-04-02 |
Family
ID=90428573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310280597.9A Pending CN117807195A (zh) | 2023-03-21 | 2023-03-21 | 显示设备及实体召回方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117807195A (zh) |
-
2023
- 2023-03-21 CN CN202310280597.9A patent/CN117807195A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7150770B2 (ja) | 対話方法、装置、コンピュータ可読記憶媒体、及びプログラム | |
CN110430476B (zh) | 直播间搜索方法、系统、计算机设备和存储介质 | |
US9286910B1 (en) | System for resolving ambiguous queries based on user context | |
CN106098063B (zh) | 一种语音控制方法、终端设备和服务器 | |
CN111566638B (zh) | 向应用编程接口添加描述性元数据以供智能代理使用 | |
US20150032453A1 (en) | Systems and methods for providing information discovery and retrieval | |
WO2019133903A1 (en) | Generating command-specific language model discourses for digital assistant interpretation | |
CN109165292A (zh) | 数据处理方法、装置以及移动终端 | |
CN112037792B (zh) | 一种语音识别方法、装置、电子设备及存储介质 | |
CN101611403A (zh) | 用于移动通信设备中的语音搜索的方法和装置 | |
CN108055617B (zh) | 一种麦克风的唤醒方法、装置、终端设备及存储介质 | |
US20090204581A1 (en) | Method and apparatus for information processing based on context, and computer readable medium thereof | |
WO2021063089A1 (zh) | 规则匹配方法、规则匹配装置、存储介质及电子设备 | |
WO2024036616A1 (zh) | 一种基于终端的问答方法及装置 | |
CN111312233A (zh) | 一种语音数据的识别方法、装置及系统 | |
CN109325180B (zh) | 文章摘要推送方法、装置、终端设备、服务器及存储介质 | |
US10861453B1 (en) | Resource scheduling with voice controlled devices | |
WO2024088039A1 (zh) | 人机对话方法、对话网络模型的训练方法及装置 | |
CN113596601A (zh) | 一种视频画面的定位方法、相关装置、设备及存储介质 | |
CN115273840A (zh) | 语音交互设备和语音交互方法 | |
WO2024179519A1 (zh) | 语义识别方法及其装置 | |
CN110741365A (zh) | 用于管理多媒体内容中的加载时间的数据结构查询 | |
CN114064943A (zh) | 会议管理方法、装置、存储介质及电子设备 | |
US11314793B2 (en) | Query processing | |
US20240070171A1 (en) | Systems and methods for predicting where conversations are heading and identifying associated content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |