一种实现一套系统支持多品牌智能音箱语义指令的方法与流程
本发明涉及智能音箱技术领域,具体涉及一种实现一套系统支持多品牌智能音箱语义指令的方法。
背景技术:
随着人工智能与自然语言处理的兴起,智能音箱作为自然语言处理中的一个重要方向,主要研究智能音箱起播、控制、播放音乐和电台的问题。当前,主要的技术手段是面向控制领域的规则匹配和面向开放域的基于检索等。音箱的起播、停止、切换格式都相对固定,比如:
[“我想听音乐”/“我想听电台”/“播放相声”]
市面上商业化的智能音箱,主要是通过规则化(正则匹配或文法网络)的方法实现的,这种智能音箱的设计,是通过人工构造模板和规则。不管是正则匹配的方式还是文法网络的方式,都需要穷举出所有可能出现的语法,可是像歌名,歌手,专辑、电台之类的数据用文本穷举的方式显然是不合理的,随时更新系统也不可能,此外,不同型号、不同品牌做多套语义指令系统不便于管理,也不便于操作。
技术实现要素:
为了解决上述技术问题,本发明提供了一种实现一套系统支持多品牌智能音箱语义指令的方法,通过elasticsearch全文检索引擎、arangodb数据库和abnf文法规范等,提出一种基于elasticsearch和文法网络的智能音箱实现方法。解决基于规则化的智能音箱不能处理规则匹配穷举困难的问题,同时能够对智能音箱的起播、切换、关机进行控制,此外,通过不同智能音箱传过来的appid进行封装,实现语义一次解析,到处控制的目的。
为了达到上述技术效果,本发明提供了如下技术方案:
一种实现一套系统支持多品牌智能音箱语义指令的方法,包括以下步骤:
(1)利用文法网络定义语法规则结构;
(2)从arangodb中获取基础数据对elasticsearch索引文件构建;
(3)程序启动后,有新增数据时实时进行elasticsearch索引文件增量构建;
(4)在解析器中添加rule节点;
(5)语句匹配,按照定义的规则,匹配指定的叶子节点;
(6)根据不同的appid封装不同的结果数据。
进一步的技术方案为,所述步骤(2)中的基础数据可以实时添加。
进一步的技术方案为,所述步骤(2)中的基础数据包括歌名、歌手。
进一步的技术方案为,所述步骤(4)中的rule节点包括歌手、歌名。
进一步的技术方案为,步骤(5)具体为elasticsearch搜索叶子节点,当树状结构运行到节点时,会执行特殊的elasticsearch搜索代码。
进一步的技术方案为,步骤(6)具体为通过appid查询对应的包名、启动方式并对结果指令进行封装。
规则匹配可使用正则匹配和文法网络匹配,规则匹配需要穷举出所有语法可能,更适合一些适用范围较窄的场景,比如智能音箱等。在智能音箱领域,我想听歌手的歌名,那么需要在规则中穷举出所有的歌手和歌名,工作量太大,重复性太高,这显然是不太合理的,因此我们用figure关键字来代替所有歌手,musicname来代替所有歌名,当解析器识别到这些关键字节点时,采用elasticsearch来搜索对应的变量。特定领域下,语法规则都是相对有限,但名词变量部分则无法使用穷举的方式,elasticsearch拥有极高的检索速度,能够很好的索引这些变量,二者结合能快速高效的解析语义。
与现有技术相比,本发明具有如下有益效果:本发明通过添加实体到elasticsearch中,修改antlr文法规范解析器,添加elasticsearch搜索node叶子节点,对解析结果进行封装,在elasticsearch实时更新数据,及通过appid封装为不同品牌的数据后,对接多品牌智能音箱得以实现,且维护成本大大降低。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行进一步的解释和说明。
实施例1
如图1所示,文法网络、elasticsearch搜索引擎和appid的解析封装方法具体工作流程如下:
a)根绝需求编写文法网络语法规则:如下
rule_music_query=[“给”][“本宝宝”][“来”][“首”]musictype[“类型”][“的”](”歌”/”曲”)
b)从arangodb中获取基础数据对elasticsearch索引文件构建;
以歌名为例:
歌名:formatname=“冰雨”
别名列表:formatnames=[“冰雨天”,“冰雨”,“下雨”]
类别:label=“song”
c)程序启动后,有新增数据时实时进行elasticsearch索引文件增量构建,如下:
新建或更新索引文件:figure、musicname
d)在解析器中添加figure、musicname等rule节点;
e)语句匹配,按照定义的规则,匹配指定的叶子节点;
elasticsearch搜索叶子节点figure和musicname分别代表歌手名称和歌名,当树状结构运行到figure节点时,会执行特殊的elasticsearch搜索代码。
f)通过appid封装结果;比如:
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除