一种基于双层trie树的语句查询方法及装置与流程

文档序号:12837177阅读:274来源:国知局
一种基于双层trie树的语句查询方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种基于双层trie树的语句查询方法及装置。



背景技术:

随着计算机技术的发展,人工智能在日常生活中占据着越来越重要的作用,通过人工智能,能够省去繁琐的人为操作,提升用户体验,同时降低人为误操作的概率。语音识别是当前使用较为普遍的一项人工智能技术,通过对语音的自动识别,能够省去用户输入的麻烦,同时能够在第一时间接收语音反馈信息,用户体验更好。但是,随时网络的普及,当前的信息和数据越来越庞大,当用户需要查询相关内容时,需要在庞大的信息和数据中搜索。当前的语句查询主要依赖正则表达式,但是正则条件较多,容易造成语义识别效率低,无法定义优先级。

trie树是一种单词查找树,能够实现模式匹配,解决单纯依赖正则表达式进行语句查询时带来的问题。trie树的每一个节点代表状态,根节点代表初始状态,叶子节点代表一次成功的匹配,而中间节点则代表匹配过程的中间状态。从一个节点到其子节点的边,称为状态转移条件。若成功匹配出当前字符串的前缀,则从当前状态进入该前缀所对应的边所指向的下一状态。

现有的trie树进行语句查询时,trie树较为庞大,直接导致查询效率低,影响用户体验。



技术实现要素:

由于通过trie树进行语句查询时,trie树较为庞大,直接导致查询效率低,影响用户体验的问题,本发明提出一种基于双层trie树的语句查询方法及装置。

第一方面,本发明提出一种基于双层trie树的语句查询方法,包括:

获取待查询语句的语音,识别出待查询语句;

在模板树中查询待查询语句;

当满足词库转移条件时,在词库树中查询待查询语句中的词;

其中,所述模板树为存有预设主题的相关词的第一层trie树,所述词库树为存有预设主题的名词的第二层trie树,所述词库转移条件为所述词库树中的词。

优选地,所述在词库树中查询待查询语句中的词之后,还包括:

当不满足词库转移条件时,退出所述词库树,在所述模板树中查询待查询语句中的词。

优选地,所述在模板树中查询待查询语句之前,还包括:

根据预设主题的名词建立所述词库树;

根据预设主题的相关词建立所述模板树。

优选地,所述预设主题为歌曲播放,所述词库树中存有歌手名和歌曲名,所述模板树中存有歌曲播放相关的动词和连接词。

优选地,所述在词库树中查询待查询语句中的词之后,还包括:

记录查询到的歌手名和歌曲名,并根据查询到的歌手名和歌曲名播放歌曲。

第二方面,本发明还提出一种基于双层trie树的语句查询装置,包括:

语音识别模块,用于获取待查询语句的语音,识别出待查询语句;

模板查询模块,用于在模板树中查询待查询语句;

词库查询模块,用于当满足词库转移条件时,在词库树中查询待查询语句中的词;

其中,所述模板树为存有预设主题的相关词的第一层trie树,所述词库树为存有预设主题的名词的第二层trie树,所述词库转移条件为所述词库树中的词。

优选地,还包括:

词库退出模块,用于当不满足词库转移条件时,退出所述词库树,在所述模板树中查询待查询语句中的词。

优选地,还包括:

词库树建立模块,用于根据预设主题的名词建立所述词库树;

模板树建立模块,用于根据预设主题的相关词建立所述模板树。

优选地,所述预设主题为歌曲播放,所述词库树中存有歌手名和歌曲名,所述模板树中存有歌曲播放相关的动词和连接词。

优选地,还包括:

歌曲播放模块,用于记录查询到的歌手名和歌曲名,并根据查询到的歌手名和歌曲名播放歌曲。

由上述技术方案可知,本发明通过语音识别待查询语句,同时设置模板树和词库树双层trie树,将使用频繁的模板语句与具体词分开存储,查询时,将预设主题的相关词存入模板树,将预设主题的名词存入词库树,先在模板树中查询待查询语句,当满足词库转移条件时,在词库树中查询待查询语句中的词,一来避免模板语句的重复存储,二来减小了trie树的深度和复杂程度,提高了查询效率,从而提升了用户体验。

附图说明

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

图1为本发明一实施例提供的一种基于双层trie树的语句查询方法的流程示意图;

图2为本发明一实施例提供的一种基于双层trie树的语句查询装置的结构示意图。

具体实施方式

下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本发明一实施例提供的一种基于双层trie树的语句查询方法的流程示意图,包括:

s101、获取待查询语句的语音,识别出待查询语句;

s102、在模板树中查询待查询语句;

s103、当满足词库转移条件时,在词库树中查询待查询语句中的词;

其中,所述模板树为存有预设主题的相关词的第一层trie树,所述词库树为存有预设主题的名词的第二层trie树,所述词库转移条件为所述词库树中的词。

预设主题的相关词和预设主题的名词不同,以歌曲主题为例,歌曲相关词包括“唱首”、“听首”、“欣赏”、“a的b”、“a和b”、“的”和“和”等,其中a表示歌手名,b表示歌曲名,a和b均存储在词库树中,而“a的b”和“a和b”的模板存储在模板树中。

本实施例通过语音识别待查询语句,同时设置模板树和词库树双层trie树,将使用频繁的模板语句与具体词分开存储,查询时,将预 设主题的相关词存入模板树,将预设主题的名词存入词库树,先在模板树中查询待查询语句,当满足词库转移条件时,在词库树中查询待查询语句中的词,一来避免模板语句的重复存储,二来减小了trie树的深度和复杂程度,提高了查询效率,从而提升了用户体验。

作为本实施例的可选方案,步骤s103之后,还包括:

s104、当不满足词库转移条件时,退出所述词库树,在所述模板树中查询待查询语句中的词。

若当前的词不在词库树中,则表示当前词语在词库树已查询完毕,则退出词库树,重新在模板树中查询。降低了trie树的搜索深度,并提高了搜索速度。

进一步地,步骤s101之前,还包括:

s1001、根据预设主题的名词建立所述词库树;

s1002、根据预设主题的相关词建立所述模板树。

通过将预设主题的名词存入词库树,将预设主题的相关词存入模板树,建立双层trie树,减小了trie树的深度,从而提高了查询效率和用户体验。

具体地,所述预设主题为歌曲播放,所述词库树中存有歌手名和歌曲名,所述模板树中存有歌曲播放相关的动词和连接词。

通过将歌手名和歌曲名存入词库树,将歌曲播放相关的动词和连接词存入模板树,能够提高用户语义识别速度,提高用户体验。

更进一步地,步骤s103之后,还包括:

s1031、记录查询到的歌手名和歌曲名,并根据查询到的歌手名和歌曲名播放歌曲。

通过识别出用户语义,记录下查询到的歌手名和歌曲名,自动播放歌曲,提高用户体验。

举例来说,当用户输入语音“唱首刘德华的忘情水”时,本实施例提供的基于双层trie树的语句查询方法具体步骤如下:

a1、获取待查询语句的语音,识别出待查询语句;

a2、根据歌手名和歌曲名建立词库树;

a3、根据歌曲相关词建立模板树;

歌曲相关词包括“唱首”、“听首”、“欣赏”、“a的b”、“a和b”、“的”和“和”等。其中,“唱首”、“听首”和“欣赏”为固定词;“a的b”和“a和b”为模板词,a表示歌手名,b表示歌曲名,a和b均存储在词库树中。

a4、进入模板树的根节点,进入词库树的根节点;

a5、在模板树中查询到“唱”和“首”;

a6、经词库转移条件“刘”进入词库树进行查询,匹配出“刘德华”后,“的”并非词库树的转移条件,退出词库树,返回模板树;

a7、在模板树中查询到“的”;

a8、经词库转移条件“忘”进入词库树进行查询,匹配出“忘情水”后,查询结束;

a9、记录查询到的歌手名和歌曲名,并根据查询到的歌手名和歌曲名播放歌曲。

本实施例通过语音识别待查询语句,同时设置模板树和词库树双层trie树,将使用频繁的模板语句与具体词分开存储,查询时,将预设主题的相关词存入模板树,将预设主题的名词存入词库树,先在模板树中查询待查询语句,当满足词库转移条件时,在词库树中查询待查询语句中的词,一来避免模板语句的重复存储,二来减小了trie树的深度和复杂程度,提高了查询效率,从而提升了用户体验。

图2示出了本实施例提供的一种基于双层trie树的语句查询装置的结构示意图,包括:

语音识别模块21,用于获取待查询语句的语音,识别出待查询语句;

模板查询模块22,用于在模板树中查询待查询语句;

词库查询模块23,用于当满足词库转移条件时,在词库树中查询待查询语句中的词;

其中,所述模板树为存有预设主题的相关词的第一层trie树,所述词库树为存有预设主题的名词的第二层trie树,所述词库转移条件为所述词库树中的词。

本实施例通过语音识别待查询语句,同时设置模板树和词库树双层trie树,将使用频繁的模板语句与具体词分开存储,查询时,将预设主题的相关词存入模板树,将预设主题的名词存入词库树,先在模板树中查询待查询语句,当满足词库转移条件时,在词库树中查询待查询语句中的词,一来避免模板语句的重复存储,二来减小了trie树的深度和复杂程度,提高了查询效率,从而提升了用户体验。

进一步地,还包括:

词库退出模块,用于当不满足词库转移条件时,退出所述词库树,在所述模板树中查询待查询语句中的词。

若当前的词不在词库树中,则表示当前词语在词库树已查询完毕,则退出词库树,重新在模板树中查询。降低了trie树的搜索深度,并提高了搜索速度。

更进一步地,还包括:

词库树建立模块,用于根据预设主题的名词建立所述词库树;

模板树建立模块,用于根据预设主题的相关词建立所述模板树。

通过将预设主题的名词存入词库树,将预设主题的相关词存入模板树,建立双层trie树,减小了trie树的深度,从而提高了查询效率和用户体验。

具体地,所述预设主题为歌曲播放,所述词库树中存有歌手名和歌曲名,所述模板树中存有歌曲播放相关的动词和连接词。

通过将歌手名和歌曲名存入词库树,将歌曲播放相关的动词和连接词存入模板树,能够提高用户语义识别速度,提高用户体验。

进一步地,还包括:

歌曲播放模块,用于记录查询到的歌手名和歌曲名,并根据查询到的歌手名和歌曲名播放歌曲。

通过识别出用户语义,记录下查询到的歌手名和歌曲名,自动播放歌曲,提高用户体验。

本实施例所述的基于双层trie树的语句查询装置可以用于执行上述方法实施例,其原理类似,此处不再赘述。

本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

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