一种语音搜索数据集的方法、装置及电子设备与流程

文档序号:26005446发布日期:2021-07-23 21:23阅读:91来源:国知局
一种语音搜索数据集的方法、装置及电子设备与流程

本申请属于计算机技术领域,尤其涉及一种语音搜索数据集的方法、装置及电子设备。



背景技术:

在bi(businessintelligence,商业智能)领域,通常使用数据集来对外提供或描述数据,如在对原始数据进行清洗后,以一个数据集的形式进行输出,以供给后续的流程或系统进行使用。但是在一般的bi系统中,往往有大量的不同类型数据集,即使一般是通过文件夹进行分类存储,使用时,在众多文件夹中选择想要的数据集,仍是比较耗费时间的,尤其是难以保证搜索结果的全面性。

因此,如何提升搜索效率,覆盖搜索结果全面性是目前业界亟待解决的难题。



技术实现要素:

有鉴于此,本申请实施例提供了一种语音搜索数据集的方法、装置及电子设备,以解决现有技术中搜索数据集准确率低及效率低下的问题。

本申请实施例的第一方面提供了一种语音搜索数据集的方法,包括:获取语音消息,所述语音消息的内容满足目标搜索术语模板;基于语音识别模型,确定与所述语音消息相应的语音识别结果;在数据库下的多个数据集中,确定与所述语音识别结果相对应的目标数据集。

本申请实施例的第二方面提供了一种语音搜索数据集的装置,包括:获取单元,被配置为获取语音消息,所述语音消息的内容满足目标搜索术语模板;识别单元,被配置为基于语音识别模型,确定与所述语音消息相应的语音识别结果;确定单元,被配置为在数据库下的多个数据集中,确定与所述语音识别结果相对应的目标数据集。

本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。

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

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备实现如上述方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:

基于语音识别模型,识别具有目标搜索术语模板的语音消息,可以保障较高的准确率,在数据库下的大量的数据集中查找到与语音识别结果相对应的目标数据集,使得只要用户能够按照搜索术语模板进行语音交互,系统便可以高效、自动地找到在数据库中的目标数据集。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例的语音搜索数据集的方法的一示例的流程图;

图2示出了根据本申请实施例的基于语音识别模型确定语音识别结果的一示例的流程图;

图3示出了根据本申请实施例的更新搜索术语模板集的一示例的流程图;

图4是本申请实施例的语音搜索数据集的方法的一示例的流程图;

图5是本申请实施例的语音搜索数据集的装置的一示例的结构框图;

图6是本申请实施例的电子设备的一示例的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本申请实施例中描述的电子设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的电子设备。然而,应当理解的是,电子设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

电子设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在电子设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出了根据本申请实施例的语音搜索数据集的一示例的流程图。关于本申请实施例方法的执行主体,其可以是各种具有处理功能的设备,例如计算机或处理器等等。

如图1所示,在步骤110中,获取语音消息。这里,语音消息的内容满足目标搜索术语模板。示例性地,用户可以对计算机说出所需求的数据集的信息,例如,用户可以说出“我要查找某个文件夹下的某个文件”。

另外,目标搜索术语模板是针对用户发出的具体的语音需求相对应的一种具体的文字表述模板,例如,目标搜索术语模板可以是“查找xxx类型(的数据集)”的文字表述形式,以满足用户的查找需求。此外,应说明的是,在系统中可能存在多个搜索术语模板,语音消息可以满足其中任一术语模板。

在步骤120中,基于语音识别模型,确定与语音消息相应的语音识别结果。示例性地,基于语音识别模型确定目标搜索术语模板下与语音消息相应的文字信息,得到识别结果。

在步骤130中,在数据库下的多个数据集中,确定与所述语音识别结果相对应的目标数据集。示例性地,在数据库下存储着庞大的数据集,基于语音识别结果,查找出用户所需的具体数据集。由此,系统能够针对用户语音的识别操作,快速、精准地查找出用户所需的具体数据集。

在本申请实施例的一些示例中,数据库可以是文件树结构,能够实现快速查询相应的数据集。

在一些实施方式中,针对语音搜索系统还可以设置显示模块,并在确定与所述语音识别结果相对应的目标数据集之后,显示目标数据集。结合应用场景来说,在用户通过语音消息搜到相应的具体数据集,并通过显示的方式实时反馈给用户。

在本申请实施例的一些示例中,语音识别模型包括语句识别模型模块与关键词识别模型模块。

关于语音识别模型的构建细节,可以使用语法树/依赖树算法构建“语句识别模型”,预先设置大量训练数据,包括术语集中的所有术语数据,以及一定量的非该术语集中的语句数据,训练语句识别模型,再使用word2vec算法进行语句相似性对比。其中,术语,例如,设定一系列既定术语用来描述数据集,类型关系:查找“xxx”类型(的数据集);文件夹关系:查找“xxx”文件夹下的(数据集);文件名关系:查找名为“xxx”的(数据集);字段关系:查找包含“xxx”、“xxx”、“xxx”字段的(数据集);历史文件名关系:查找曾名为“xxx”的(数据集);(以上关系还可以有一套相对的关系,如查找不为“xxx”类型(的数据集)),语句模型/术语可以很丰富,也可以结合。首先,根据业务对数据集进行分类,分为:excel数据集、sql数据集、标签数据集、api数据集、组合数据集等类型。然后对现有的每一个数据集,记录其类型信息、文件夹信息、文件名信息、字段信息。

此外,可以使用dtw(dynamictimewarping,基于动态时间规整)算法构建关键词模型识别用户输入语音中除了上述术语集中的所有术语数据,以及一定量的非该术语集中的语句数据之外的关键词。

图2示出了根据本申请实施例的基于语音识别模型确定语音识别结果的一示例的流程图。

如图2所示,在步骤210中,基于语句识别模型模块,从预设的搜索术语模板集中确定与语音消息相匹配的目标搜索术语模板。示例性地,基于语句识别模型模块,从预设好各种针对用户发出的语音需求制作的各种相关的文字表述模板,并查找到与语音消息相匹配的目标搜索术语模板。这里,搜索术语模板包含但不限于名称为xxx(的数据集)、xxx类型(的数据集)、xxx文件夹(的数据集)等等。应理解的是,上述各个术语模板可以按照不同数据集的业务功能或属性进行分类的,业务功能信息可以是数据集所对应的标签功能信息、api功能信息、sql功能信息等等。例如,可以分别构建对应excel数据集、sql数据集、标签数据集、api数据集、组合数据集等类型的术语模板。具体地,搜索术语模板集中的各个搜索术语模板可以是按照所数据库中数据集的内容属性信息和/或业务功能信息而构建的。这里,内容属性信息包括以下中的至少一者:文件类型关系、文件存储位置、当前文件名、历史文件名、文件中的文本信息。

在步骤220中,基于关键词识别模型模块,识别语音消息中的搜索关键词。示例性地,搜索关键词是指语音消息中的所需查找的针对目标搜索术语模板的描述性的关键词,关键词识别模型模块识别出具体数据集的描述性的关键词。由此,得到的描述性的关键词能够与目标搜索术语模板进行匹配。例如,语音消息“在abc(的数据集)中”,“abc”为搜索关键词。

在步骤230中,基于搜索关键词填充目标搜索术语模板,以得到相应的语音识别结果。示例性地,将识别出的具体数据集的描述性的关键词填充至目标搜索术语模板上,得到所需的一个完整的语音识别结果。例如,目标搜索术语模板为“查找xxx类型(的数据集)”,具体数据集的描述性的关键词为excel,将识别出的具体数据集的描述性的关键词填充至目标搜索术语模板上,即excel类型(的数据集),从而得到一个完整的语音识别结果“查找excel类型的数据集”。本方法一改以往搜索的习惯性检索词汇等,可以人为任意设定搜索词。例如,还能够通过历史名称,例如,只记得之前歌名,输入之前歌名也能搜索得到。

在一些实施方式中,利用语句识别模型模块和关键词模型模块来识别用户输入的语音,若分别达到两个模型模块的阈值t1、t2,则认为匹配成功。根据匹配出的内容进行搜索,并提供给用户。

语句识别匹配的结果为:查找名为“xxx”的(数据集);

关键词识别匹配的结果为:年度账单;

则匹配的数据集数据为:名为年度账单的数据集。

具体地,用户输入的语音可以是“查找名为年度账单的数据集”,通过语句识别模型可以从预设的搜索术语模板集中识别出相应的术语模板。这里,搜索术语模板集可以是以下的示例:“查找“xxx”类型的(数据集)”、“查找“xxx”文件夹下的(数据集)”、“查找名为“xxx”的(数据集)”、“查找包含“xxx”、“xxx”、“xxx”字段的(数据集)”、“查找曾名为“xxx”的(数据集)”、“查找不为“xxx”类型的(数据集)”、“查找不在“xxx”文件夹下的(数据集)”、“查找名不为“xxx”的(数据集)”、“查找不包含“xxx”、“xxx”、“xxx”字段的(数据集)”和“查找不曾名为“xxx”的(数据集)”。

在一些情况下,可以针对以上的搜索术语模板,各自训练一个对应的语句识别模型,并可以将用户的语音输入上述模型,得到相应的匹配率:1)针对“查找“xxx”类型的(数据集)”——0.23;针对“查找“xxx”文件夹下的(数据集)”——0.25;针对“查找名为“xxx”的(数据集)”——0.89;针对“查找包含“xxx”、“xxx”、“xxx”字段的(数据集)”——0.06;针对“查找曾名为“xxx”的(数据集)”——0.47;针对“查找不为“xxx”类型的(数据集)”——0.13;针对“查找不在“xxx”文件夹下的(数据集)”——0.20;针对“查找名不为“xxx”的(数据集)”——0.6;针对“查找不包含“xxx”、“xxx”、“xxx”字段的(数据集)”——0.04;针对“查找不曾名为“xxx”的(数据集)”——0.26。

另外,假设阈值为0.75,则可以确定相匹配的搜索术语模板为“查找名为“xxx”的(数据集)”。

然后,可以利用关键词模型模块来对语音消息中的关键词进行识别。例如,首先对常用的词(如3000个常用中文)的读音使用上述的dtw算法进行训练,将语音输入每个模型,进行计算匹配率,假设得到的最终结果为,假设识别的结果为“查、找、名、为、年、度、账、单、的、数、据、集”,则去除掉语句模型中的关键词,得到“年、度、账、单”,则关键词为“年度账单”。

图3示出了根据本申请实施例的更新搜索术语模板集的一示例的流程图。

如图3所示,在步骤310中,获取模板设置指令,其中模板设置指令包括期望搜索术语模板。结合示例来说,用户可以依据自身的业务需求或一些应用场景,得到一些在系统中不存在的搜索术语模板,并通过交互操作来发出相应的模板设置指令。

在步骤320中,基于期望搜索术语模板,更新搜索术语模板集。示例性地,当发现有新类别语音表述形式时,增加新的文字表述模板,并将增加新样式模板添加至原有的搜索术语模板集,即更新了原有的搜索术语模板集。由此,搜索系统能够更佳地满足用户多元化的查找需求。

在应用场景下,当用户对一个具体数据集的搜索需求有了新的语音表达形式时,则基于新的语音表达形式制作新的文字表述模板。例如,原有语音形式中不存在针对文件夹的语音搜索功能,可以通过设置新的术语模板,例如“我要查找d文件夹下的d数据集”来满足业务需求。

图4是本申请实施例的语音搜索数据集的方法的一示例的流程图。

如图4所示,在步骤410中,基于语音搜索需求的文本内容形式,预先制作好搜索术语模板集。示例性地,当用户需要查找一个具体数据集的时候,发出语音需求,基于类似这种语音需求,预先制作好各种满足相应语音需求的搜索术语模板,各种搜索术语模板构成搜索术语模板集。由此,便于实现将语音消息与特定的搜索术语模板进行匹配。

在步骤420中,获取语音消息,基于语音识别模型对语音消息进行识别,得到识别结果。示例性地,语音识别模型包括语句识别模型和关键词识别模型,当获取语音消息时,语句识别模型能够识别出相匹配的搜索术语模板的信息,而关键词识别模型能够识别出限定搜索术语模板的关键词,两种模型相结合则匹配出语音消息中所需的具体的数据集的完整信息,得到识别结果。

在步骤430中,基于识别结果,在数据库下查找到目标数据集。示例性地,基于具体的数据集的完整信息,在数据库中进行搜索,查找到具体数据集即目标数据集。

在步骤440中,将目标数据集进行显示。示例性地,在查找到目标数据集之后,将目标数据集进行显示。由此,可以通过用户语音交互操作,高效完成在数据库大量繁杂的数据集中查找到目标数据集的过程,并能够通过显示方式来实时反馈搜索结果,保障用户的语音搜索体验。

在本申请实施例中,通过预先设置搜索术语模板集,并利用该搜索术语模板集来训练语音识别模型,使得语音识别模型能够较佳地识别语音消息所对应的结果,使得搜索过程简洁化,精准化;此外,基于语音识别结果,在数据库下的大量数据集中,确定与所述语音识别结果相对应的目标数据集,保证了搜索结果的全面性。

图5是本申请实施例的语音搜索数据集的装置的一示例的结构框图。

如图5所示,语音搜索数据集的装置包括获取单元510、识别单元520和确定单元530。

获取单元510,被配置为被配置为获取语音消息,所述语音消息的内容满足目标搜索术语模板。

识别单元520,被配置为基于语音识别模型,确定与所述语音消息相应的语音识别结果。

确定单元530,被配置为在数据库下的多个数据集中,确定与所述语音识别结果相对应的目标数据集。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图6是本申请实施例提供的电子设备的示意图。如图6所示,该实施例的电子设备6包括:处理器610、存储器620以及存储在所述存储器620中并可在所述处理器610上运行的计算机程序630。所述处理器610执行所述计算机程序630时实现上述语音搜索数据集方法实施例中的步骤,例如图1所示的步骤110至130。或者,所述处理器610执行所述计算机程序630时实现上述各装置实施例中各模块/单元的功能,例如图5所示的单元510至530的功能。

示例性的,所述计算机程序630可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器620中,并由所述处理器610执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序630在所述电子设备6中的执行过程。例如,所述计算机程序630可以被分割成获取程序模块、识别程序模块以及确定程序模块,各程序模块具体功能如下:

获取程序模块,被配置为获取语音消息,所述语音消息的内容满足目标搜索术语模板;

识别程序模块,被配置为基于语音识别模型,确定与所述语音消息相应的语音识别结果;

确定程序模块,被配置为在数据库下的多个数据集中,确定与所述语音识别结果相对应的目标数据集。

所述电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器610、存储器620。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器610可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器620可以是所述电子设备6的内部存储单元,例如电子设备6的硬盘或内存。所述存储器620也可以是所述电子设备6的外部存储设备,例如所述电子设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器620还可以既包括所述电子设备6的内部存储单元也包括外部存储设备。所述存储器620用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器620还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

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

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

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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