一种基于交互式输入的数据搜索方法及装置
技术领域
本发明涉及数据搜索技术领域,特别涉及一种基于交互式输入、通过多轮交互理解用户意图的数据搜索方法及装置。
背景技术
在当今高速发展的互联网技术领域中,搜索引擎因其方便性一直在我们生活中扮演着重要角色,人们几乎每天都在使用搜索引擎服务。随着互联网信息的爆炸式增长,及时准确的提取和掌握信息情报的能力呈现了强烈的市场需求。
现有的搜索方法主要包括基于文字搜索和基于语音搜索。然而基于文字搜索大多是基于关键字进行搜索,经常会忽略一些细节条件和逻辑关系,从而使搜索结果不够准确。另外,基于语音搜索基本上是单一轮次的搜索,由于口音等原因,不能准确理解用户意图,也会使搜索结果不够准确。
经过现有的技术检索发现,中国专利文献号CN 102456018,公开了“一种交互搜索方法及装置”,该方法和装置包括确定查询词的意图特征值,利用用户搜索行为历史、设备信息等社会化数据建立用户模型,推测并提问帮助明确搜索意图。
但是该方法搜索时仅支持通过输入查询词进行交互,且用户意图的更新对用户不可见。在本专利中,搜索支持包括文本、语音和手势等多模态输入,且用户意图的表示以标签形式展现并用于多轮交互式搜索中。这样一来,即可以在满足用户通过多轮搜索进行更精细的搜索的同时对多轮搜索中的搜索属性有直观的了解,并可以以多种方式方便地对其进行修改。
进一步检索发现,中国专利文献号CN 104360897,公开了“对话处理方法和对话管理系统”,该系统包括获取与任务相关的用户需求数据;根据所述用户需求数据和预先配置的与所述任务相关的任务参数更新用户的对话状态;根据所述对话状态生成至少一个候选动作数据;根据所述至少一个候选动作数据生成回应文本数据。
但是该发明以使用其所述方法生成的文本数据作为交互信息,而本发明中以属性标签显示用户意图的表示,其中的标签显示、标签更改以及相关方法更适用于在多轮搜索中使用,使用户在搜索和修正意图中获得更大的自由。且该发明中没有使用用户意图中不确定性的信息。本发明中保留了分析出的用户意图的不确定性,用于多轮交互的后续轮中使用,并用来标记属性标签的确定程度。
发明内容
为了解决上述问题,本发明提供了一种基于交互式输入的数据搜索方法及装置,该方法通过多轮交互对用户意图进行理解,根据当前轮交互和历史交互信息动态地生成属性标签并显示出来,同时进行搜索,得到准确的搜索结果。所述技术方案如下:
一方面,提供了一种基于交互式输入的数据搜索方法,所述方法包括:
解析当前用户使用文本、语音或手势方式输入的信息以及标签操作,基于交互历史和当前轮用户输入确定用户意图;
根据交互历史和当前轮用户意图计算属性标签置信度,并区分已确认属性标签、未确认属性标签;
显示已确认属性标签、未确认属性标签以及搜索结果;
当检测到数据搜索未结束时,进行下一轮交互。
可选地,解析用户通过交互式输入界面使用文本、语音或手势方式输入的信息以及标签操作,基于交互历史和当前轮输入确定用户意图包括:
当检测到用户通过交互式输入界面的搜索框输入文本时,解析所述文本,基于交互历史和当前轮输入确定用户意图;或,
当检测到用户通过交互式输入界面的搜索框输入文本时,解析所述文本,基于交互历史和当前轮输入确定用户意图;或,
启动语音输入模式,麦克风获取用户语音,解析生成对应文本,通过文本解析,基于交互历史和当前轮输入确定用户意图;或,
启动视频输入模式,摄像头采集用户手势,基于交互历史和当前轮输入确定用户意图;或,
启动触摸输入模式,触摸板或触摸屏采集用户手势,基于交互历史和当前轮输入确定用户意图。
可选地,所述标签操作包括修改操作和删除操作,其中修改的方式是用户通过交互式输入界面点击已有属性标签,根据候选列表的提示选择希望修改成的属性标签值;删除的方式是用户通过交互式输入界面删除属性标签。
可选地,所述属性标签是动态的用户意图表示。
可选地,所述属性标签可表示根据搜索领域、用户历史喜好得到的先验知识。
另一方面,提供了一种基于交互式输入的数据搜索装置,所述装置包括:
用户意图识别模块,用于解析标签操作、手势对应的用户意图;用于解析语音为对应的文本,并确定文本对应的用户意图;用于解析文本,确定用户此轮的用户意图;
对话状态跟踪模块,用于根据交互历史和当前轮交互所确定用户意图生成每个标签的置信度,并根据每个属性标签的置信度和交互历史把属性标签分为已确认属性标签和未确认属性标签。
属性标签显示模块,用于区分显示已确认属性标签和未确认属性标签,并控制属性标签中包含的标签类别、标签值、标签置信度的显示方式,和显示搜索结果。
可选地,所述用户意图识别模块还用于当检测到用户通过交互式输入界面输入的标签操作时,基于交互历史和当前轮输入确定用户意图;或,当检测到用户通过交互式输入界面的搜索框输入文本时,解析所述文本,基于交互历史和当前轮输入确定用户意图;或,启动语音输入模式,麦克风获取用户语音,解析生成对应文本,通过文本解析,基于交互历史和当前轮输入确定用户意图;或,启动视频输入模式,摄像头采集用户手势,基于交互历史和当前轮输入确定用户意图;或,启动触摸输入模式,触摸板或触摸屏采集用户手势,基于交互历史和当前轮输入确定用户意图。
可选地,所述对话状态跟踪模块还用于对于每个属性标签,使用规则方法或统计方法,根据交互历史和当前轮交互意图得到此属性标签存在的置信度,并把属性标签分为已确认属性标签和未确认属性标签。
可选地,所述属性标签是动态的用户意图表示。
可选地,所述属性标签可表示根据搜索领域、用户历史喜好得到的先验知识。
本发明提供的技术方案带来的有益效果是:
在进行多轮交互搜索的同时,动态地生成属性标签并显示出来,让用户更直观地了解搜索系统使用的搜索属性,并使用户能够更方便地对搜索属性进行更改和删除。
附图说明
为了更清楚地说明本发明中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于交互式输入的数据搜索方法流程图;
图2是本发明提供的基于交互式输入的数据搜索装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1:
101、启动新一轮交互;
在本发明实施例中,数据搜索过程可以包括多轮交互,当检测到用户进行交互输入时,在保留交互历史的情况下进入下一轮交互。
102、解析当前用户使用文本、语音或手势方式输入的信息以及标签操作,基于交互历史和当前轮用户输入确定用户意图;
在本发明实施例中,该标签操作为用户通过交互式输入界面可以点击已有标签,点击候选列表菜单中的属性标签以进行替换或点击空白处来确认未确认标签;或,用户通过交互式输入界面可以删除属性标签,包括删除单个标签或删除全部标签及历史交互信息,删除全部标签及历史交互信息会重启交互。
具体地,当检测到用户通过交互式输入界面进行标签操作时,基于交互历史和当前轮输入确定用户意图;或,当检测到用户通过交互式输入界面的搜索框输入文本时,解析所述文本,基于交互历史和当前轮输入确定用户意图;或,启动语音输入模式,麦克风获取用户语音,解析生成对应文本,通过文本解析,基于交互历史和当前轮输入确定用户意图;或,启动视频输入模式,摄像头采集用户手势,基于交互历史和当前轮输入确定用户意图;或,启动触摸输入模式,触摸板或触摸屏采集用户手势,基于交互历史和当前轮输入确定用户意图。
103、根据交互历史和当前轮用户意图计算属性标签置信度,并区分已确认属性标签、未确认属性标签;
在本发明实施例中,对于每个属性标签,使用规则方法或统计方法,根据交互历史和当前轮交互意图得到此属性标签存在的置信度,并把属性标签分为已确认属性标签和未确认属性标签。
可选地,所述属性标签是动态的用户意图表示。
可选地,所述属性标签可表示根据搜索领域、用户历史喜好得到的先验知识。
104、显示已确认属性标签、未确认属性标签以及搜索结果;
105、判断数据搜索是否结束,当判定结果为是时,进行步骤101,否则,结束。
实施例2:
图2是本发明实施例提供的基于交互式输入的数据搜索装置结构示意图。参见图2,该装置包括:用户意图识别模块21和对话状态跟踪模块22和属性标签显示模块23。其中:
用户意图识别模块21,用于解析标签操作、手势对应的用户意图;用于解析语音为对应的文本,并确定文本对应的用户意图;用于解析文本,确定用户此轮交互的意图对应的用户意图。在本发明实施例中,用于意图识别模块还包括操作、手势识别单元,语音识别单元和文本解析单元,其中:
操作、手势识别单元,用于当检测到用户通过交互式输入界面输入的标签操作时,基于交互历史和当前轮输入确定用户意图;启动视频输入模式,摄像头采集用户手势,基于交互历史和当前轮输入确定用户意图;启动触摸输入模式,触摸板或触摸屏采集用户手势,基于交互历史和当前轮输入确定用户意图;
语音识别单元,用于启动语音输入模式,麦克风获取用户语音,解析生成对应文本,通过文本解析,基于交互历史和当前轮输入确定用户意图;
例如用户想找到清华大学附近的如家酒店,用户在第一轮交互中说:“清华大学的”,则应该生成属性标签“地点:清华大学”。比如语音识别得到“清华大学的”的置信度为0.4,得到“青岛大学的”的置信度为0.4。
文本解析单元,用于当检测到用户通过交互式输入界面的搜索框输入文本时,解析所述文本,基于交互历史和当前轮输入确定用户意图;
此单元的输入为语音识别模块生成的多个较优的文本和其置信度,此例即为:
“清华大学的”0.4
“青岛大学的”0.6
对这两个文本分别进行句式和成分解析,查找相应的规则,匹配结果是要告知地点信息,动作类型为inform。告知的信息包含两部分,分别对应属性标签中的属性类别“地点”和属性值“青岛大学”、“清华大学”。输出包含假设和置信度两部分,此例为:
inform(地点=青岛大学)0.6
inform(地点=清华大学)0.4
对话状态跟踪模块22,用于根据交互历史和当前轮交互所确定用户意图生成每个标签的置信度,并根据每个属性标签的置信度和交互历史把属性标签分为已确认属性标签和未确认属性标签。
所述对话状态跟踪模块22还用于对于每个属性标签,使用规则方法或统计方法,根据交互历史和当前轮交互意图得到此属性标签存在的置信度,并把属性标签分为已确认属性标签和未确认属性标签。
具体地,使用规则方法约束性马尔科夫贝叶斯多项式计算每个属性标签形如type:value的置信度,从对话的文本解析得到以下四个特征:第i轮交互中用户的意图为肯定type是value的概率;第i轮交互中用户的意图为否定type是value的概率;第i轮交互中用户的意图为肯定type不为value的概率,即第i轮交互中用户的意图为否定type为其他value’的概率,即由于动作类型inform(type=value)为肯定type为value,则
用bi,type,value表示属性标签type:value的属性标签置信度,表示给定前i轮交互,type:value为用户目标的概率;表示用户在前i轮交互没有提及关于type的属性标签的概率。具体地,所述马尔科夫贝叶斯为关于本轮交互特征和前i-1轮交互所得置性状态的多项式,即
其中,f()为一个多项式。
可选地,可根据任务的不同给定训练数据得到最优的马尔科夫贝叶斯多项式,比如可以使用下面的多项式:
则得到
例如,在此模块中设置显示置信度大于等于0.8的属性标签为已确认属性标签,小于0.8的属性标签为未确认属性标签。则标签“地点:青岛大学”为未确认属性标签。
属性标签显示模块23,用于区分显示已确认属性标签和未确认属性标签,并控制属性标签中包含的标签类别、标签值、标签置信度的显示方式,和显示搜索结果。
此时会显示一个未确认属性标签“地点:青岛大学”。并显示搜索结果为青岛大学附近的美食、酒店等等。
用户此时发现解析错误后,可在第二轮交互中点击标签查看候选列表进行修改,候选列表会把其他置信度次高的标签依次列出,在这个例子中会列出标签“地点:清华大学”,用户点击此标签即会给出可修改此标签,此操作经过操作、手势解析模块后会得到inform(地点=清华大学)deny(地点=青岛大学),置信度为1。经过状态跟踪模块,b2,地点,清华大学的值会设置为1,而b2,地点,青岛大学值会设置为0。
用户也可以使用语音修改,例如在第二轮交互中说“不是青岛大学”,假如此时语音识别、文本解析模块比较成功,对话状态跟踪模块得到特征 则可得到b2,地点,青岛大学=(0.6+0(1-0.6))(1-0.9)=0.06,同理b2,地点,清华大学=0.36。属性标签显示模块会删除属性标签“地点:青岛大学”并显示未确认属性标签“地点:清华大学”,并显示搜索结果为清华大学附近的美食、酒店等等。
用户接着说:“附近有没有如家酒店”,假如此时,通过类似的解析、计算过程,系统得到属性标签“名字:如家酒店”,“类型:酒店”;并显示清华大学附近的如家酒店的查询结果,完成任务。
在上面的例子中,即使语音识别和文本解析存在误差,用户可以使用多轮交互式输入让系统理解自己的意图,成功完成查询。本发明实施例提供的装置,通过多轮交互对用户意图行理解,动态地生成属性标签并显示出来,同时进行搜索,得到准确的搜索结果。
基于实施例2进一步举例:
用户想寻找东方明珠附近的餐厅,同样的,这里在对话状态跟踪模块22中使用规则方法约束性马尔科夫贝叶斯多项式。
在第一轮交互中,用户说:找个东方明珠的餐厅,可能由于“的”字发音过快,语音识别单元得到的结果为“找个东方明珠餐厅”,假设文本解析单元得到的结果为假设及置信度:
inform(名字=东方明珠餐厅)1.0
inform(类型=餐厅)1.0
对话状态跟踪模块22得到
同样假设置信度大于等于0.8的属性标签为已确认属性标签,属性标签显示模块23会显示已确认标签“名字:东方明珠餐厅”,“类型:餐厅”,并显示搜索结果为名字为东方明珠餐厅。
在第二轮交互中,用户发现解析错误后可以在触摸屏中拖住标签“名字:东方明珠餐厅”往左滑动表示删除此标签,此动作经过操作、手势识别模块后被解析为inform(名字=无所谓),置信度为1.0,则对话状态跟踪模块经过上述类似计算会把标签“名字:东方明珠餐厅”的置信度设为0。
在第二轮交互中,用户也可以说:“餐厅名字无所谓,我要东方明珠旁边的”。
假设语音识别单元结果完全正确,文本解析单元得到的结果为假设及置信度:
inform(名字=无所谓)1.0
inform(地点=东方明珠)1.0
则对话状态跟踪模块22会计算得到b2,类型,餐厅=b1,类型,餐厅=1,由得b2,名字,东方明珠餐厅=1(1-1)=0。
属性标签显示模块23会忽略属性值为“无所谓”的属性标签,则会显示已确认标签“地点:东方明珠”,“类型:餐厅”,并显示搜索结果为东方明珠附近的餐厅,成功完成任务。
本发明实施例提供的装置,通过多轮交互对用户意图进行持续的理解,动态地生成属性标签并显示出来,同时进行搜索,得到准确的搜索结果。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。