CN107450725B - 人机交互应用平台、方法、以及存储介质 - Google Patents

人机交互应用平台、方法、以及存储介质 Download PDF

Info

Publication number
CN107450725B
CN107450725B CN201710642541.8A CN201710642541A CN107450725B CN 107450725 B CN107450725 B CN 107450725B CN 201710642541 A CN201710642541 A CN 201710642541A CN 107450725 B CN107450725 B CN 107450725B
Authority
CN
China
Prior art keywords
entity
dynamic
static
dimension
data
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.)
Active
Application number
CN201710642541.8A
Other languages
English (en)
Other versions
CN107450725A (zh
Inventor
黄鑫
梅林海
陈志刚
王智国
胡国平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
iFlytek Co Ltd
Original Assignee
iFlytek Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201710642541.8A priority Critical patent/CN107450725B/zh
Publication of CN107450725A publication Critical patent/CN107450725A/zh
Application granted granted Critical
Publication of CN107450725B publication Critical patent/CN107450725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/34Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种人机交互应用平台及方法,该平台包括:技能构建接口模块,用于向开发者提供技能构建接口,以使开发者通过该接口构建技能;模板添加模块,用于接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;实体关联模块,用于获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体;所述实体关联模块包括:静态实体关联模块和/或动态实体关联模块。利用该平台开发的人机交互应用可以适用于多种不同的应用场景,提高了应用的灵活性,提高了应用开发效率;而且,可以针对同一应用领域,无需重复开发。

Description

人机交互应用平台、方法、以及存储介质
技术领域
本发明涉及人机交互应用开发领域,具体涉及一种人机交互应用平台、方法、以及一种计算机可读存储介质。
背景技术
随着移动智能终端和信息网络技术的发展,人们在越来越多的场景中使用语音交互应用,例如以智能音箱(比如亚马逊的Echo音箱)作为入口,语音交互使用天气/股票/音乐/交通状况/闹钟/提醒等应用,每种应用又称为一种技能。又例如以车载车机为入口,语音交互使用LBS(Location Based Sevice,定位服务)/导航/电台/音乐等应用或技能。因而,业界也出现越来越多的对话式人工智能开放平台,例如百度的DuerOS,亚马逊的Alexa等,为应用开发者或技能开发者提供一个可以开发应用或技能的平台。
现有对话式人工智能开放平台大多采用如下方式为开发者提供相应的应用或技能开发接口:
开发者为技能提供一些典型的交互时的说法模板。例如,开发者开发查询天气这样一个技能,提供“{date}天气怎么样”,“{myPlace}{date}天气如何”这些说法模板。其中,{date}和{myPlace}是说法模板中的语义槽,分别用来表示日期语义和地点语义。
开发者为语义槽关联实体。一般的,开放平台提供了很多内置的通用实体供开发者使用,比如时间实体、地点实体、歌名实体、演员实体等等。这些通用的实体,开发者可以在开放平台上浏览或者查询实体的具体取值和范围,判断是否满足自己的技能需求,再决定是否使用。使用的方式一般为,通过开放平台提供的交互页面,由系统自动将技能中的语义槽关联到某个实体上;或者,通过开放平台提供的编辑技能文件的方式,如meta文件,在文件中加入类似{“语义槽名”:”实体名”}这一数据项。例如,开发者通过浏览得到开放平台提供了系统内置的时间实体sys.datetime,满足查询天气技能中的date语义槽的需求,因此可以通过开放平台的交互页面为date语义槽关联上系统内置的时间实体sys.datetime;也可以编辑开放平台提供的技能meta文件,加入一行{“date”:“sys.datetime”},类似的方式即完成了语义槽关联实体。另外,由于每个技能有自己独特的业务场景的需求,比如某个情感陪护技能,它支持“老人”、“儿童”、“男朋友”、“女朋友”、“知心大姐姐”这五种情感陪护角色模式,并且允许用户显式地通过语音交互切换到这五种模式之一,针对这种需求,开放平台也为开发者提供了让开发者自己对实体进行自定义的功能,称为自定义实体。如查询天气模板中,myPlace这个语义槽的取值一般为城市名,但当开发者开发一个有自己特色的查询天气技能时,语义槽的取值为“奶奶家”“父母家”,这时开放平台系统内置实体通常无法满足需求,因此,这种情况下开发者需要重新自定义一个实体,它包含两个词条“奶奶家”和“父母家”,然后为myPlace语义槽关联该实体。关联自定义实体的方式与前述关联系统内置实体的方式一致。
现有的开放平台,技能的语义槽所能关联的实体,不论是系统内置的实体,还是开发者自定义实体,均为静态实体,即该实体的取值在技能开发完成时就确定了,不论该技能在使用时上下文如何变化,其值保持不变。仍以前面的查询天气技能为例,date所关联的时间实体,它的取值是人们对时间的常用说法,并不会因为谁在用这个技能、在哪个城市用这个技能、这个技能运行在哪个应用中等而改变;同样,myPlace所关联的自定义实体,它的取值“奶奶家”和“父母家”,也不会因为谁在用这个技能、在哪个城市用这个技能、这个技能运行在哪个应用中等而改变。
然而在实际应用中,有些技能经常需要应用于不同的场景中,如打电话技能,说法模板为“打电话给{myContact}”,这里myContact是联系人语义槽。myContact所关联的实体,是这个技能的某个具体用户的手机通讯录中的联系人列表,会因为用户的不同,联系人实体的取值不同;又如,点餐技能,说法模板为:“{dish}打不打折”,“{dish}多少时间可以做好”,“{dish}是个什么菜”等,其中{dish}是菜名语义槽。Dish所关联的实体,会由于饭店的不同、季节的不同、饭店活动的不同等,菜名实体的取值会发生变化等。
目前,针对上述需求,开发者只能针对不同的具体场景开发不同的应用。由于开放平台提供的开发能力有限,可见利用现有的开放平台开发的应用灵活性差,开发效率低,而且针对同一领域应用,重复开发现象严重。
发明内容
本发明实施例一方面提供一种人机交互应用平台及方法,以解决现有开放平台提供的开发能力受限,开发的应用灵活性差,开发效率低的问题。
本发明实施例另一方面提供一种计算机可读存储介质。
为此,本发明提供如下技术方案:
一种人机交互应用平台,所述平台包括:
技能构建接口模块,用于向开发者提供技能构建接口,以使开发者通过该接口构建技能;
模板添加模块,用于接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;所述静态实体是指实体数据不随实体的应用场景而变化的实体,所述动态实体是指实体数据随实体的应用场景变化的实体;所述动态实体的参数包括:维度、维度值,所述维度值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;
实体关联模块,用于获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体;所述实体关联模块包括:静态实体关联模块和/或动态实体关联模块;
所述静态实体关联模块,用于获取所述语义槽对应的静态实体的实体数据;
所述动态实体关联模块,用于根据所述语义槽对应的动态实体的维度值获取所述动态实体的实体数据。
优选地,所述静态实体包括:平台内置的通用静态实体、和/或自定义静态实体;
所述平台还包括:
通用实体存储模块,用于存储平台内置的通用静态实体及其实体数据;
所述静态实体关联模块包括:实体选择单元,和/或实体编辑单元;
所述实体选择单元,用于向开发者提供实体选择页面,并根据开发者选择的通用静态实体从所述实体存储模块中获取所述静态实体的实体数据;
所述实体编辑单元,用于通过技能编辑文件获取开发者添加的自定义静态实体的实体数据。
优选地,所述平台还包括:
维度配置模块,用于提供维度配置接口,并通过所述维度配置接口接收添加或删除维度值的指令,对维度列表进行维护,所述维度列表包括:维度名及对应的维度值。
优选地,所述平台还包括:
动态实体参数配置模块,用于提供参数配置接口,并通过所述参数配置接口接收所述说法模板中各语义槽对应的动态实体的参数;
所述动态实体关联模块根据所述动态实体参数配置模块接收的动态实体的参数获取所述动态实体的维度值。
优选地,所述平台还包括:
客户端模块,用于提供人机交互接口,接收用户请求数据;
语义理解模块,用于根据各语义槽关联的实体的实体数据对所述用户请求数据进行语义理解,得到语义理解结果。
优选地,所述客户端模块设置在具有显示屏和/或扬声器的终端设备上;
所述语义理解模块,还用于根据所述语义理解结果向所述客户端模块发送反馈信息;
所述客户端模块,还用于触发所述显示屏显示所述反馈信息,和/或触发所述扬声器播放所述反馈信息。
优选地,所述客户端模块还用于采集用户发出所述请求数据的设备信息和/或位置信息,并根据所述信息确定所述动态实体的维度值;
所述动态实体关联模块从所述客户端模块获取所述动态实体的维度值。
优选地,所述平台还包括:
动态实体触发接口,用于设置动态实体的触发条件,并在所述触发条件满足时触发所述动态实体关联模块获取所述动态实体的实体数据。
一种人机交互应用方法,所述方法包括:
向开发者提供技能构建接口,以使开发者通过该接口构建技能;
接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;所述静态实体是指实体数据不随实体的应用场景而变化的实体,所述动态实体是指实体数据随实体的应用场景变化的实体;所述动态实体的参数包括:维度、维度值,所述维度值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;
获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体;并且,对于静态实体,直接获取静态实体的实体数据;对于动态实体,首先获取所述动态实体的维度值,然后根据所述动态实体的维度值获取所述动态实体的实体数据。
优选地,所述静态实体包括:平台内置的通用静态实体、和/或自定义静态实体;
所述方法还包括:
向开发者提供静态实体选择页面,接收开发者选择的与所述语义槽对应的通用静态实体名,根据所述通用静态实体名获取对应的通用静态实体的实体数据;和/或
向开发者提供技能编辑文件,获取开发者通过技能编辑文件添加的自定义的静态实体的实体数据。
优选地,所述方法还包括:
提供维度配置接口,并通过所述维度配置接口接收添加或删除维度值的指令,对维度列表进行维护,所述维度列表包括:维度编号及维度值。
优选地,所述方法还包括:
提供参数配置接口,并通过所述参数配置接口接收所述说法模板中各语义槽对应的动态实体的参数。
优选地,所述方法还包括:
通过客户端提供人机交互接口,接收用户请求数据;
根据各语义槽关联的实体的实体数据对所述用户请求数据进行语义理解,得到语义理解结果。
优选地,所述客户端设置在具有显示屏和/或扬声器的终端设备上;
所述方法还包括:
根据所述语义理解结果向所述客户端发送反馈信息,以使所述客户端触发所述显示屏显示所述反馈信息,和/或触发所述扬声器播放所述反馈信息。
优选地,所述方法还包括:
通过客户端采集用户发出所述请求数据的设备信息和/或位置信息,并根据所述客户端采集的信息确定所述动态实体的维度值。
优选地,所述方法还包括:
设置动态实体的触发条件,并在所述触发条件满足时执行获取所述语义槽对应实体的实体数据的操作。
一种计算机可读存储介质,包括计算机程序代码,该计算机程序代码由一个计算机单元执行,使得该计算机单元执行上述任一项所述的人机交互应用方法中的步骤。
本发明实施例提供的人机交互应用平台及方法,通过引入取值可变的动态实体,使语义槽可以根据与其关联的动态实体的实体数据而赋予不同的语义,动态实体的实体数据可以根据不同应用场景而变化,从而使得利用该平台开发的人机交互应用可以适用于多种不同的应用场景,提高了应用的灵活性,提高了应用开发效率;而且,可以针对同一应用领域,无需重复开发。
进一步地,不仅可以人工配置动态实体的参数,而且还可以通过客户端自动完成动态实体参数的确定,方便了技能的使用,满足不同应用环境的实际需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例人机交互应用平台的一种架构示意图;
图2是本发明实施例人机交互应用平台的另一种架构示意图;
图3是本发明实施例人机交互应用平台的另一种架构示意图;
图4是本发明实施例人机交互应用方法的一种流程图;
图5是本发明实施例人机交互应用方法的另一种流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
由于在现实应用中,同一技能经常需要应用于不同的场景中,相应地,技能语义槽关联的实体取值需要根据技能使用的上下文而动态改变,如打电话这个技能,说法模板为“打电话给{myContact}”,这里myContact是联系人语义槽。myContact所关联的实体,是这个技能的某个具体用户的手机通讯录中的联系人列表,该实体的具体取值,只有在打电话技能具体被哪个用户使用时,才能确定。又如,一个拥有100家分店的中型餐饮连锁企业,想开发一款可以让自己门店的客户用语音点餐的技能,分发给这100家分店供自己的客户使用。这个点餐技能,说法模板可能为:“{dish}打不打折”,“{dish}多少时间可以做好”,“{dish}是个什么菜”等等,其中{dish}是菜名语义槽。因为季节不同、不同门店打折促销活动不同、不同门店的菜品范围不同等因素,这100家门店的菜名所关联实体的取值不同,并且可能随着季节的变化而变化,更为复杂的是,这100家门店也会因连锁加盟等市场优胜劣汰而扩张或缩减。因此,这个点餐技能中的{dish}所要关联的实体取值也要随着具体门店、具体季节、具体门店活动等因素而变化。
因此,针对这种需求,本发明实施例提供一种人机交互应用平台,引入取值可变的动态实体,使语义槽可以根据与其关联的动态实体的取值而赋予不同的语义,动态实体的取值可以根据不同应用场景而变化,从而使得利用该平台开发的人机交互应用可以适用于多种不同的应用场景。
如图1所示,是本发明实施例人机交互应用平台的架构示意图。
在该实施例中,所述平台包括:
技能构建接口模块11,用于向开发者提供技能构建接口,以使开发者通过该接口构建技能;
模板添加模块12,用于接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;所述静态实体是指实体数据为不随实体的应用场景而变化的实体,所述动态实体是指实体数据随实体的应用场景变化的实体;所述动态实体的参数包括:维度、维度值,所述维度值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;
实体关联模块13,用于获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体。
该实施例提供的人机交互应用平台,通过引入取值可变的动态实体,使语义槽可以根据与其关联的动态实体的实体数据而赋予不同的语义,动态实体的实体数据可以根据不同应用场景而变化,从而使得利用该平台开发的人机交互应用可以适用于多种不同的应用场景,提高了应用的灵活性,提高了应用开发效率;而且,可以针对同一应用领域,无需重复开发。
上述实体关联模块13包括:静态实体关联模块131和/或动态实体关联模块132,以适应不同的应用开发需求,图1中示出了同时包括静态实体关联模块131和动态实体关联模块132的示例。
其中,所述静态实体关联模块131用于获取所述语义槽对应的静态实体的实体数据;所述动态实体关联模块132用于根据所述语义槽对应的动态实体的维度值获取所述动态实体的实体数据。这两者不同的是,对于静态实体,静态实体关联模块131直接获取静态实体的实体数据;对于动态实体,动态实体关联模块132需要首先获取所述动态实体的维度值,然后再根据所述动态实体的维度值获取所述动态实体的实体数据。
需要说明的是,不同实体具有不同的实体名,用以唯一标识该实体,如开发者需要开发点餐技能时,点餐技能中菜名语义槽关联的实体名可以为:cuisine,具体可以由开发者在开发点餐技能时定义。
对于静态实体,可以基于该实体名可以直接找到相应的实体数据;对于动态实体,则需要基于该实体名及动态实体的参数才能找到相应的实体数据。
在实际应用中,所述静态实体可以由平台提供,也可以由开发者自定义,当然,所述平台还可以同时提供这两种方式的静态实体。也就是说,在本发明实施例中,所述静态实体包括:平台内置的通用静态实体、和/或自定义静态实体。相应地,静态实体关联模块131可以包括实体选择单元和/或实体编辑单元,其中,所述实体选择单元用于获取平台内置的通用静态实体,所述实体编辑单元用于获取用户自定义的静态实体。
下面分别针对这两种不同形式的静态实体分别加以说明。
对于平台内置的通用静态实体,比如时间、地点、人物等通用静态实体,可以在所述平台中设置通用实体存储模块(未图示),以存储平台内置的通用静态实体及其实体数据。相应地,所述实体选择单元可以向开发者提供实体选择页面,并根据开发者选择的通用静态实体从所述实体存储模块中获取所述静态实体的实体数据。具体地,在实体关联模块13被触发后,平台弹出实体选择页面,开发者可以在该页面搜索或选择需要关联的实体,如关联date语义槽时,所述平台弹出实体选择页面,开发者搜索或直接选择sys.datetime实体,所述实体选择单元即可从通用实体存储模块中得到sys.datetime实体的实体数据,完成关联过程。
通常开发者在构建新技能时,可以通过平台提供的技能编辑文件如mata文件,添加语义槽名及需要关联的实体名。因此,对于自定义静态实体,同样,开发者可以在该技能编辑文件中添加自定义静态实体,也就是说,所述实体编辑单元可以通过技能编辑文件获取开发者添加的自定义静态实体的实体数据。比如,开发者开发订机票的技能,该技能中的一个说法模板为{fromCity}到{toCity}有哪些航班,其中,{fromCity}是出发城市语义槽,{toCity}是到达城市语义槽。开发者可以通过编辑meta文件的方式,加入关联数据项{“fromCity”:”sys.city”,“toCity”:”sys.city”},将语义槽对应到自定义的静态实体sys.city上。
前面提到,动态实体是指实体数据可变的实体,其参数包括:维度、维度值,所述维度值即维度的具体取值,该值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;动态实体的实体数据会根据技能使用的上下文而动态改变,以满足不用的应用需求。如打电话技能中的联系人动态实体,每个客户端最终用户的手机联系人列表彼此不同,因而联系人动态实体是以客户端最终用户为维度来划分的,如该动态实体的维度使用uid表示,对于用户张三,则uid=张三,uid是维度,张三即为维度值;对于用户李四,则uid=李四,uid是维度,李四即为维度值;再如“中型连锁餐馆点餐”技能的例子,它的菜名动态实体,是以各连锁餐馆各自店面为维度来划分的,该动态实体的维度表示为shop,若店面是合肥之心城店,则维度和维度值是shop=合肥之心城;若店面是北京王府井店,则维度和维度值是shop=北京王府井。
需要说明的是,开发者在开发相应技能时需要确定维度名,如上述的uid,维度列表在技能运行时可以动态添加或删除,所述维度列表包括:维度名及对应的维度值,所述维度名用以唯一标识一个具体的维度。
另外,需要说明的是,由于维度的大小(即维度的数量)会影响系统后台实现的技术,比如,动态实体的维度如果是用户级,如比较热门的技能“肯德基点餐”,使用的动态实体的维度为用户级,用户数以亿计,这种亿级别数量的动态实体的存取,对后台系统实现技术会提出一定的挑战;如果是之前“中型连锁餐馆点餐”技能的例子中的店面级维度的动态实体,那么它的数量级在百或者千量级,这样的动态实体的存取所需要的后台系统实现技术相对简单。因此,在实际应用中,所述平台还可以设置维度配置模块(未图示),所述维度配置模块提供维度配置接口,并通过所述维度配置接口接收添加或删除维度值的指令,对维度列表进行维护。
在实际应用中,所述动态实体的参数可以采用多种方式来得到,下面对此进行详细说明。
如图2所示,是本发明实施例人机交互应用平台的一种架构示意图。在该实施例中,所述平台还包括:动态实体参数配置模块14,用于提供参数配置接口,并通过所述参数配置接口接收所述说法模板中各语义槽对应的动态实体的参数。
需要说明的是,在实际应用中,所述动态实体的参数可以由开发者根据客户实际应用场景来配置,也可以由应用管理人员(比如前面提到的100家餐饮店的店长)根据自己的应用场景来配置,对此本发明实施例不做限定。
相应地,在该实施例中,所述动态实体关联模块132可以根据该动态实体参数配置模块14接收的动态实体的参数获取所述动态实体的维度值。
进一步地,为了方便用户利用该平台中的技能,在本发明另一实施例中,如图3所示,所述平台还包括:
客户端模块21,用于提供人机交互接口,接收用户请求数据;
语义理解模块22,用于根据各语义槽关联的实体的实体数据对所述用户请求数据进行语义理解,得到语义理解结果。
具体语义理解时,将动态实体的实体数据加入到当前技能说法模板的语义槽中,构建技能语言模型,利用所述技能语言模型对用户请求数据进行语义理解,语义理解时,可以同时使用通用语言模型和技能语言模型进行语义理解,具体过程与现有技术相同,在此不再详述。如先使用通用语言模型进行语义理解后,再使用技能语言模型进行语义理解,将二者语义理解结果进行融合。
技能语言模型具体构建时,首先将动态实体的实体数据分别加入到说法模板的语义槽中,得到当前技能在当前应用场景下的语料;然后利用当前应用场景语料训练技能语言模型,具体训练方法与语言模型训练方法相同,在此不再详述。
如开发点餐技能时的说法模板为:
{dish}打不打折”
{dish}多少时间可以做好
{dish}是个什么菜
{dish}好吃吗
{dish}的原料有哪些
{dish}是凉菜还是热菜
等说法模板
其中{dish}是点餐技能说法模板中的语义槽。
根据用户请求数据,得知用户在长江饭店使用客户端设备进行点餐,客户端直接将长江饭店的菜谱分别加入到当前技能模板说法的语义槽中,得到大量在长江饭店点餐相关的语料,利用所述语料构建技能语言模型;当然也可以直接使用当前技能的说法模板预先构建技能模板语言模型,说法模板的语义槽作为所述技能模板语言模型的动态变量,所述动态变量由动态实体的实体数据确定,当确定动态实体的实体数据后,可以直接将动态实体的实体数据映射到技能模板语言模型中,得到包含动态实体数据的技能语言模型。
进一步地,也可以直接将动态实体的实体数据作为个性化词典,对用户请求数据进行语义理解,具体语义理解过程与现有技术相同,在此不再详述。如直接将菜名动态实体的实体数据“长江饭店菜谱列表”作为个性化词典,对用户请求数据进行语义理解。
在实际应用中,上述客户端模块21可以安装在具有显示屏和/或扬声器的用户终端设备上,所述用户终端设备可以是移动设备如手机,也可以是本地终端设备,如电脑等;语义理解模块22可以安装在所述平台上或者设置在远端设备(如云服务器)上,对此本发明不做限定。
在另一实施例中,所述语义理解模块22还可以根据所述语义理解结果向所述客户端模块发送反馈信息,比如,可以是所述语义理解结果本身,也可以是对所述语义理解结果的响应等。相应地,所述客户端模块21还可以触发用户终端显示屏显示所述反馈信息,和/或触发扬声器播放所述反馈信息。相应地,用户也可以根据该反馈信息开始下一轮对话。
在另一实施例中,所述客户端模块21还可以采集用户发出所述请求数据的设备信息和/或位置信息,并根据所述信息确定所述动态实体的维度值。相应地,所述动态实体关联模块132可以从客户端模块21获取所述动态实体的维度值。如对于点餐技能关联的菜名动态实体,接收到用户请求数据为“蚂蚁上树是个什么菜”,客户端模块21根据用户当前所处的位置,确定当前用户所处的哪家饭店,如长江饭店,则客户端模块可以得到菜名动态实体维度的维度值为长江饭店,动态实体关联模块132即可确定菜名动态实体的取值为长江饭店的菜谱。
另外,还可以通过客户端模块21提供的人机交互接口通过交互的方式获取动态实体的参数,客户端模块21将该参数传送给动态实体关联模块132,动态实体关联模块132根据所述参数获取动态实体的实体数据。
当然,在实际应用中,所述平台可以同时设置上述客户端模块21和图2中所述的动态实体参数配置模块14,方便客户根据自己的习惯来选择动态实体参数的配置方式。
由此可见,利用本发明人机交互应用平台,不仅可以人工配置动态实体的参数,而且还可以通过客户端自动完成动态实体参数的确定,方便了技能的使用,可以更好地满足不同客户的实际需求。
进一步地,为了方便对所述动态实体进行管理,在上述各实施例中,所述平台还可包括动态实体触发接口(未图示),用于设置动态实体的触发条件,并在所述触发条件满足时触发所述动态实体关联模块获取所述动态实体的实体数据。
所述动态实体的触发条件用于确定动态实体的应用时间,即动态实体什么时候被触发;所述触发条件由开发者开发技能时确定,比如可以有以下两种方式:
1)由所述动态实体触发接口提供给开发者动态实体使用的开始调用函数和结束调用函数,在技能使用时调用相应函数时,动态实体被触发;
2)由所述动态实体触发接口提供给开发者设置或更新动态实体的调用函数,该调用函数可以隐式的调用动态实体的使用函数;当技能使用时,调用该函数,则认为动态实体开始被触发;在当前客户端模块与所述平台断开连接时,结束调用动态实体。
相应地,本发明还提供一种人机交互应用方法,如图4所示,是该方法的流程图,包括以下步骤:
步骤41,向开发者提供技能构建接口,以使开发者通过该接口构建技能;
步骤42,接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;所述静态实体是指实体数据不随实体的应用场景而变化的实体,所述动态实体是指实体数据随实体的应用场景变化的实体;所述动态实体的参数包括:维度、维度值,所述维度值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;
步骤43,获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体;
具体地,对于静态实体,直接获取静态实体的实体数据;对于动态实体,首先获取所述动态实体的维度值,然后根据所述动态实体的维度值获取所述动态实体的实体数据。
如图5所示,是本发明一种人机交互应用方法的另一种流程图,包括以下步骤:
步骤51,向开发者提供技能构建接口,以使开发者通过该接口构建技能;
步骤52,接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;所述静态实体是指实体数据不随实体的应用场景而变化的实体,所述动态实体是指实体数据随实体的应用场景变化的实体;所述动态实体的参数包括:维度、维度值,所述维度值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;
步骤53,获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体;
步骤54,通过客户端提供人机交互接口,接收用户请求数据;
步骤55,根据各语义槽关联的实体的实体数据对所述用户请求数据进行语义理解,得到语义理解结果。
具体语义理解的方式前面已有详细说明,在此不再赘述。
进一步地,所述客户端可以设置在具有显示屏和/或扬声器的终端设备上。相应地,所述方法还可包括以下步骤:根据所述语义理解结果向所述客户端发送反馈信息,以使所述客户端触发所述显示屏显示所述反馈信息,和/或触发所述扬声器播放所述反馈信息。相应地,用户也可以根据该反馈信息开始下一轮对话。
该实施例提供的人机交互应用方法,通过引入取值可变的动态实体,使语义槽可以根据与其关联的动态实体的实体数据而赋予不同的语义,动态实体的实体数据可以根据不同应用场景而变化,从而使得利用该平台开发的人机交互应用可以适用于多种不同的应用场景,提高了应用的灵活性,提高了应用开发效率;而且,可以针对同一应用领域,无需重复开发。
为了满足不同的应用需求,上述静态实体可以包括:平台内置的通用静态实体、和/或自定义静态实体。针对这两种不同形式的静态实体,可以通过不同的方式来获得其实体数据,比如:
对于平台内置的通用静态实体,可以向开发者提供静态实体选择页面,接收开发者选择的与所述语义槽对应的通用静态实体名,根据所述通用静态实体名获取对应的通用静态实体的实体数据;
对于自定义静态实体,可以向开发者提供技能编辑文件,获取开发者通过技能编辑文件添加的自定义的静态实体的实体数据。
由于动态实体维度的大小(即维度的数量)会影响系统后台实现的技术,因此,在实际应用中,可以提供维度配置接口,并通过所述维度配置接口接收添加或删除维度值的指令,对维度列表进行维护,所述维度列表包括:维度编号及维度值。
对于动态实体,也可以采用多种方式来获得其实体参数,下面对此进行详细说明。
例1:提供参数配置接口,并通过所述参数配置接口接收所述说法模板中各语义槽对应的动态实体的参数。
需要说明的是,在实际应用中,所述动态实体的参数可以由开发者根据客户实际应用场景来配置,也可以由应用管理人员(比如前面提到的100家餐饮店的店长)根据自己的应用场景来配置,对此本发明实施例不做限定。
例2:通过客户端采集用户发出所述请求数据的设备信息和/或位置信息,并根据所述客户端采集的信息确定所述动态实体的维度值。
进一步地,为了方便对所述动态实体进行管理,在上述各方法实施例中,还可进一步包括以下步骤:设置动态实体的触发条件,并在所述触发条件满足时执行获取所述语义槽对应实体的实体数据的操作。所述触发条件的具体设置方式在前面已有详细说明,在此不再赘述。
相应地,本发明实施例还提供一种计算机可读存储介质,包括计算机程序代码,该计算机程序代码由一个计算机单元执行,使得该计算机单元执行本发明人机交互应用方法实施例中的各步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。而且,以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及装置;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (17)

1.一种人机语音交互应用平台,其特征在于,所述平台包括:
技能构建接口模块,用于向开发者提供技能构建接口,以使开发者通过该接口构建技能;
模板添加模块,用于接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;所述静态实体是指实体数据不随实体的应用场景而变化的实体,所述动态实体是指实体数据随实体的应用场景变化的实体;所述动态实体的参数包括:维度、维度值,所述维度值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;
实体关联模块,用于获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体;所述实体关联模块包括:静态实体关联模块和/或动态实体关联模块;
所述静态实体关联模块,用于获取所述语义槽对应的静态实体的实体数据;
所述动态实体关联模块,用于根据所述语义槽对应的动态实体的维度值获取所述动态实体的实体数据。
2.根据权利要求1所述的人机语音交互应用平台,其特征在于,所述静态实体包括:平台内置的通用静态实体、和/或自定义静态实体;
所述平台还包括:
通用实体存储模块,用于存储平台内置的通用静态实体及其实体数据;
所述静态实体关联模块包括:实体选择单元,和/或实体编辑单元;
所述实体选择单元,用于向开发者提供实体选择页面,并根据开发者选择的通用静态实体从所述实体存储模块中获取所述静态实体的实体数据;
所述实体编辑单元,用于通过技能编辑文件获取开发者添加的自定义静态实体的实体数据。
3.根据权利要求1所述的人机语音交互应用平台,其特征在于,所述平台还包括:
维度配置模块,用于提供维度配置接口,并通过所述维度配置接口接收添加或删除维度值的指令,对维度列表进行维护,所述维度列表包括:维度名及对应的维度值。
4.根据权利要求1所述的人机语音交互应用平台,其特征在于,所述平台还包括:
动态实体参数配置模块,用于提供参数配置接口,并通过所述参数配置接口接收所述说法模板中各语义槽对应的动态实体的参数;
所述动态实体关联模块根据所述动态实体参数配置模块接收的动态实体的参数获取所述动态实体的维度值。
5.根据权利要求1至4任一项所述的人机语音交互应用平台,其特征在于,所述平台还包括:
客户端模块,用于提供人机交互接口,接收用户请求数据;
语义理解模块,用于根据各语义槽关联的实体的实体数据对所述用户请求数据进行语义理解,得到语义理解结果。
6.根据权利要求5所述的人机语音交互应用平台,其特征在于,所述客户端模块设置在具有显示屏和/或扬声器的终端设备上;
所述语义理解模块,还用于根据所述语义理解结果向所述客户端模块发送反馈信息;
所述客户端模块,还用于触发所述显示屏显示所述反馈信息,和/或触发所述扬声器播放所述反馈信息。
7.根据权利要求5所述的人机语音交互应用平台,其特征在于,
所述客户端模块还用于采集用户发出所述请求数据的设备信息和/或位置信息,并根据所述信息确定所述动态实体的维度值;
所述动态实体关联模块从所述客户端模块获取所述动态实体的维度值。
8.根据权利要求1所述的人机语音交互应用平台,其特征在于,所述平台还包括:
动态实体触发接口,用于设置动态实体的触发条件,并在所述触发条件满足时触发所述动态实体关联模块获取所述动态实体的实体数据。
9.一种人机语音交互应用方法,其特征在于,所述方法包括:
向开发者提供技能构建接口,以使开发者通过该接口构建技能;
接收开发者为所述技能添加的说法模板,所述说法模板中包含一个或多个语义槽,每个语义槽对应一个实体;所述实体包括:静态实体和/或动态实体;所述静态实体是指实体数据不随实体的应用场景而变化的实体,所述动态实体是指实体数据随实体的应用场景变化的实体;所述动态实体的参数包括:维度、维度值,所述维度值表示所述动态实体的应用场景,不同的维度值对应不同应用场景的实体数据;
获取所述语义槽对应实体的实体数据,以将所述语义槽关联到其对应的实体;并且,对于静态实体,直接获取静态实体的实体数据;对于动态实体,首先获取所述动态实体的维度值,然后根据所述动态实体的维度值获取所述动态实体的实体数据。
10.根据权利要求9所述的人机语音交互应用方法,其特征在于,所述静态实体包括:平台内置的通用静态实体、和/或自定义静态实体;
所述方法还包括:
向开发者提供静态实体选择页面,接收开发者选择的与所述语义槽对应的通用静态实体名,根据所述通用静态实体名获取对应的通用静态实体的实体数据;和/或
向开发者提供技能编辑文件,获取开发者通过技能编辑文件添加的自定义的静态实体的实体数据。
11.根据权利要求9所述的人机语音交互应用方法,其特征在于,所述方法还包括:
提供维度配置接口,并通过所述维度配置接口接收添加或删除维度值的指令,对维度列表进行维护,所述维度列表包括:维度编号及维度值。
12.根据权利要求9所述的人机语音交互应用方法,其特征在于,所述方法还包括:
提供参数配置接口,并通过所述参数配置接口接收所述说法模板中各语义槽对应的动态实体的参数。
13.根据权利要求9至12任一项所述的人机语音交互应用方法,其特征在于,所述方法还包括:
通过客户端提供人机交互接口,接收用户请求数据;
根据各语义槽关联的实体的实体数据对所述用户请求数据进行语义理解,得到语义理解结果。
14.根据权利要求13所述的人机语音交互应用方法,其特征在于,所述客户端设置在具有显示屏和/或扬声器的终端设备上;
所述方法还包括:
根据所述语义理解结果向所述客户端发送反馈信息,以使所述客户端触发所述显示屏显示所述反馈信息,和/或触发所述扬声器播放所述反馈信息。
15.根据权利要求13所述的人机语音交互应用方法,其特征在于,所述方法还包括:
通过客户端采集用户发出所述请求数据的设备信息和/或位置信息,并根据所述客户端采集的信息确定所述动态实体的维度值。
16.根据权利要求9所述的人机语音交互应用方法,其特征在于,所述方法还包括:
设置动态实体的触发条件,并在所述触发条件满足时执行获取所述语义槽对应实体的实体数据的操作。
17.一种计算机可读存储介质,其特征在于,包括计算机程序代码,该计算机程序代码由一个计算机单元执行,使得该计算机单元执行如权利要求9至16任一项所述的人机语音交互应用方法中的步骤。
CN201710642541.8A 2017-07-31 2017-07-31 人机交互应用平台、方法、以及存储介质 Active CN107450725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710642541.8A CN107450725B (zh) 2017-07-31 2017-07-31 人机交互应用平台、方法、以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710642541.8A CN107450725B (zh) 2017-07-31 2017-07-31 人机交互应用平台、方法、以及存储介质

Publications (2)

Publication Number Publication Date
CN107450725A CN107450725A (zh) 2017-12-08
CN107450725B true CN107450725B (zh) 2020-09-11

Family

ID=60489301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710642541.8A Active CN107450725B (zh) 2017-07-31 2017-07-31 人机交互应用平台、方法、以及存储介质

Country Status (1)

Country Link
CN (1) CN107450725B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002510B (zh) * 2018-06-29 2021-08-13 北京百度网讯科技有限公司 一种对话处理方法、装置、设备和介质
CN109410922A (zh) * 2018-10-09 2019-03-01 苏州思必驰信息科技有限公司 用于语音对话平台的资源预处理方法和系统
CN111383631B (zh) * 2018-12-11 2024-01-23 阿里巴巴集团控股有限公司 一种语音交互方法、装置及系统
CN110457015B (zh) * 2019-07-17 2023-10-17 北京奇点机智科技有限公司 生成交互式应用程序的方法及系统
CN111105800B (zh) * 2019-12-26 2022-07-15 百度在线网络技术(北京)有限公司 语音交互处理方法、装置、设备和介质
CN113593543A (zh) * 2020-04-30 2021-11-02 阿里巴巴集团控股有限公司 智能音箱语音服务系统、方法、装置及设备
CN115064166B (zh) * 2022-08-17 2022-12-13 广州小鹏汽车科技有限公司 车辆语音交互方法、服务器和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512396A (zh) * 2002-12-27 2004-07-14 联想(北京)有限公司 一种开放式自然语言模板的解析方法
CN101512503A (zh) * 2005-04-29 2009-08-19 微软公司 Xml应用程序框架
EP2273725A2 (en) * 2009-07-08 2011-01-12 Telefonaktiebolaget L M Ericsson (PUBL) Systems and methods for self-organizing networks using dynamic policies and situation semantics
CN103678703A (zh) * 2013-12-30 2014-03-26 中国科学院自动化研究所 一种借助图随机游走的开放类别命名实体抽取方法及装置
CN104731842A (zh) * 2013-12-23 2015-06-24 国际商业机器公司 用于使用电子通信数据来映射关系的方法和系统
US9128696B1 (en) * 2014-08-04 2015-09-08 Magic Flex Ltd. Method and system for generating script for a virtual connect configuration of a blade enclosure
CN106557314A (zh) * 2016-10-19 2017-04-05 深圳智慧林网络科技有限公司 应用软件开发方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465796B2 (en) * 2014-12-01 2016-10-11 Symbol Technologies, Llc Apparatus and method for dynamically updating landmarks in a space during execution of natural language instructions

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512396A (zh) * 2002-12-27 2004-07-14 联想(北京)有限公司 一种开放式自然语言模板的解析方法
CN101512503A (zh) * 2005-04-29 2009-08-19 微软公司 Xml应用程序框架
EP2273725A2 (en) * 2009-07-08 2011-01-12 Telefonaktiebolaget L M Ericsson (PUBL) Systems and methods for self-organizing networks using dynamic policies and situation semantics
CN104731842A (zh) * 2013-12-23 2015-06-24 国际商业机器公司 用于使用电子通信数据来映射关系的方法和系统
CN103678703A (zh) * 2013-12-30 2014-03-26 中国科学院自动化研究所 一种借助图随机游走的开放类别命名实体抽取方法及装置
US9128696B1 (en) * 2014-08-04 2015-09-08 Magic Flex Ltd. Method and system for generating script for a virtual connect configuration of a blade enclosure
CN106557314A (zh) * 2016-10-19 2017-04-05 深圳智慧林网络科技有限公司 应用软件开发方法及装置

Also Published As

Publication number Publication date
CN107450725A (zh) 2017-12-08

Similar Documents

Publication Publication Date Title
CN107450725B (zh) 人机交互应用平台、方法、以及存储介质
US10582355B1 (en) Routing queries based on carrier phrase registration
CN101790002B (zh) 管理移动装置影像及地理位置数据的方法、系统及装置
CN104142964B (zh) 信息匹配的方法及装置
KR101664754B1 (ko) 정보 취득 방법, 장치, 프로그램 및 기록매체
CN107515857B (zh) 基于定制技能的语义理解方法及系统
CN105426436A (zh) 基于人工智能机器人的信息提供方法和装置
CN110610701B (zh) 语音交互方法、语音交互提示方法、装置和设备
CN109637548A (zh) 基于声纹识别的语音交互方法及装置
CN108960934A (zh) 语音对话过程中的信息推荐方法及系统
CN102929483A (zh) 终端和资源分享方法
CN108510355A (zh) 语音交互订餐的实现方法及相关装置
CN106202186A (zh) 基于人工智能的服务推荐方法和装置
WO2020044099A1 (zh) 一种基于对象识别的业务处理方法和装置
CN108491188B (zh) 语音对话产品的开发资源的管理方法及装置
CN105867714A (zh) 应用程序下载方法、装置及系统
CN101690141A (zh) 经由位置检测进行的自动联系人信息输入
CN105373619B (zh) 一种基于用户大数据的用户群体分析方法和系统
US10078692B2 (en) Method and system for providing a social service based on music information
CN105824863B (zh) 一种桌面主题推荐方法及终端
JP2010009315A (ja) 推薦店舗提示システム
CN110008331B (zh) 信息展示方法、装置、电子设备及计算机可读存储介质
WO2015103923A1 (zh) 进行位置信息搜索的方法和浏览器终端
CN104169944A (zh) 自动通知示出共同内容的图像
CN110460514A (zh) 即时通信工具的消息发送方法、装置、存储介质及设备

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
GR01 Patent grant
GR01 Patent grant