修正语音应答的方法及自然语言对话系统的制作方法

文档序号:6386511阅读:174来源:国知局
专利名称:修正语音应答的方法及自然语言对话系统的制作方法
技术领域
本发明是有关于ー种语音对话处理技术,且特别是有关于ー种自然语言对话系统及修正语音应答的方法。
背景技术
在计算器的自然语言理解(Nature Language Understanding)中,通常会使用特定的语法来抓取用户的输入语句的意图或信息。因此,若数据库中储存有足够多的用户输入语句的数据,便能做到合理的判断。在已知的作法中,有ー种是利用内置的固定词列表来抓取用户的输入语句,而固定词列表中包含了特定的意图或信息所使用的特定用语,而用户需依照此特定用语来表达其意图或信息,其意图或信息才能被系统正确识别。然而,迫使用户去记住固定词列表的每个特定用语是相当不人性化的作法。例如现有技术使用固定词列表的实施方式,要求用户在询问天气的时候必须说“上海(或北京)明天(或后天)天气如何? ”,而若用户使用其它比较自然的ロ语化表达也想询问天气状况时,比如是“上海明天怎么样啊?”,因为语句中未出现“天气”,所以现有技术就会理解成“上海有个叫明天的地方”,这样显然没有抓到用户的真正意图。另外,用户所使用的语句种类是十分复杂的,并且又时常有所变化,甚至有时用户可能会输入错误的语句,在此情况下必须要通过模糊匹配的方式来抓取用户的输入语句。因此,仅提供僵化输入规则的固定词列表所能达到的效果就更差了。此外,当利用自然语言理解来处理多种类型的用户意图时,有些相异的意图的语法结构却是相同的,例如当用户的输入语句为“我要看三国演义”,其用户意图有可能是想看三国演义的电影,或是想看三国演义的书,因此通常在此情况中,便会匹配到两种可能意图来让用户做选择。然而,在很多情况下,提供不必要的可能意图来让用户做选择是十分多余且没效率的。例如,当用户的输入语句为“我想看超级星光大道”吋,将使用者的意图匹配为看超级星光大道的书或者画作是十分没必要的(因为超级星光大道是电视节目)。再者,一般而言,在全文检索中所获得的搜寻结果是非结构化的数据。非结构化数据内的信息是分散且不具关联的,例如,在google或百度等搜寻引擎输入关键词后,所获得的网页搜寻结果就是非结构化数据,因为搜寻结果必须通过人为的逐项阅读才能找到当中的有用信息,而这样的作法不仅浪费用户的时间,而且可能漏失想要的信息,所以在实用性上会受到很大的限制。

发明内容
本发明提供ー种修正语音应答的方法与自然语言对话系统,当自然语言对话系统输出的语音应答不符合用户的请求信息所表示的意图时,自然语言对话系统可修正原本所提供的答案,并提供新的语音应答,以符合用户的请求信息。本发明提出ー种修正语音应答的方法,其包括以下步骤接收第一语音输入,并解析第一语音输入中所包括的至少ー特征语义而获得候选列表,其中候选列表具有至少ー候选答案;自候选列表中选择候选答案其中一者为回报答案,并依据回报答案输出第一语音应答;接收并解析第二语音输入,以判断回报答案是否正确。当回报答案不正确时,自候选列表中选择候选答案的另ー者,并依据所选择的结果输出第二语音应答。本发明提出ー种自然语言对话系统,其包括语音取样模块以及自然语言理解模块。语音取样模块接收第一语音输入。自然语言理解模块,耦接于语音取样模块,自然语言理解模块解析第一语音输入中所包括的至少ー特征语义,而获得一候选列表,其中候选列表具有至少ー候选答案。接着,自然语言理解模块自候选列表中选择候选答案中的其中之一为回报答案,并依据回报答案,输出第一语音应答。语音取样模块接收第二语音输入,且自然语言理解模块解析第二语音输入,以判断回报答案是否正确。当回报答案不正确时,自然语言理解模块自候选列表中选择候选答案中的其中的另一,并依据所选择的结果,输出第二语音应答。基于上述,当自然语言对话系统所输出的语音应答不符合用户的语音输入的请求信息吋,自然语言对话系统可修正原本所提供的语音应答,并依据用户后续所提供的语音输入,进ー步选出较符合用户的请求信息的语音应答。如此ー来,倘若用户不满意自然语言对话系统所提供的答案吋,自然语言对话系统可回报新的语音应答予用户,藉以增进用户与自然语言对话系统进行对话时的便利性。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。


图1为根据本发明的一实施例的自然语言理解系统的方块图。图2为根据本发明的一实施例的自然语言处理器对用户的各种请求信息的分析结果的示意图。图3A是根据本发明的一实施例的结构化数据库所储存的具有特定数据结构的多个记录的示意图。图3B是根据本发明的另ー实施例的结构化数据库所储存的具有特定数据结构的多个记录的示意图。图3C是根据本发明的另ー实施例的指引数据储存装置所储存的指引数据的架构示意图。图4A为根据本发明的一实施例的检索方法的流程图。图4B为根据本发明的另ー实施例的自然语言理解系统工作过程的流程图。图5A是依照本发明ー实施例所绘示的自然语言对话系统的方块图。图5B是依照本发明ー实施例所绘示的自然语言理解模块的方块图。图5C是依照本发明另一实施例所绘示的自然语言对话系统的方块图。图6是依照本发明ー实施例所绘示的修正语音应答的方法流程图。图7A是依照本发明ー实施例所绘示的自然语言对话系统的方块图。图7B是依照本发明另一实施例所绘示的自然语言对话系统的方块图。图8是依照本发明ー实施例所绘示的自然语言对话方法流程图。图9为依据本发明ー实施例的移动终端装置的系统示意图。
图10为依据本发明ー实施例的信息系统的系统示意图。图11为依据本发明ー实施例的基于语音识别的选择方法的流程图。图12是依照本发明ー实施例所绘示的语音操控系统的方块图。图13是依照本发明ー实施例所绘示的语音操控系统的方块图。图14是依照本发明ー实施例所绘示的语音操控方法的流程图。[主要元件标号说明]100:自然语言理解系统102、505、705 :请求信息104:分析结果106:可能意图语法数据108:关键词110:回应结果112:意图数据114:确定意图语法数据116:分析结果输出模块200:检索系统220:结构化数据库240 :搜寻引擎260:检索界面单元280:指引数据储存装置300:自然语言处理器302 :记录304 :标题栏306:内容栏308:分栏310:指引栏312 :数值栏314 :来源栏316 :热度栏400 :知识辅助理解模块500、500’、700、700’ 自然语言对话系统501、701 :语音输入503、703 :解析结果507、707 :语音应答509、709 :特征语义510、710、1224 :语音取样模块511、711 :候选列表520、520’、720、720’ 自然语言理解模块522、722 :语音识别模块524、724 :自然语言处理模块526、726 :语音合成模块702 :语音综合处理模块 730:特性数据库740:自然语言数据库900、1010 :移动终端装置910、1011 :语音接收单元920、1013 :数据处理单元930、1015 :显示单元940 :存储单元1000 :信息系统1020 :服务器SPl :第一语音SP2 :第二语音1200、1300 :语音操控系统1210:辅助启动装置1212、1222 :无线传输模块1214:触发模块1216:无线充电电池12162:电池单元12164:无线充电模块1220、1320 :移动终端装置1221 :语音系统1226:语音合成模块1227:语音输出接ロ1228 :通讯模块1230 :(云端)服务器1232 :语音理解模块12322 :语音识别模块12324 :语音处理模块
具体实施例方式由于已知运用固定词列表的实施方式只能提供僵化的输入规则,对于用户多变的输入语句的判断能力十分不足,所以常导致对用户的意图判断错误而找不到所需的信息、或是因为判断力不足而输出不必要的信息给用户等问题。此外,已知的搜寻引擎只能对用户提供分散、且相关不强的搜寻结果,于是用户还要花时间逐条检视才能过滤出所需信息,不仅浪费时间而且可能漏失所需信息。本发明即针对已知技术的前述问题提出一结构化数据的检索方法与系统,在结构化数据提供特定的字段来储存不同类型的数据元素,俾提供用户使用自然语音输入信息进行检索时,能快速且正确地判断用户的意图,进而提供所需信息予用户、或提供更精确消息供其选取。图1为根据本发明的一实施例的自然语言理解系统的方块图。如图1所示,自然语言理解系统100包括检索系统200、自然语言处理器300以及知识辅助理解模块400,知识辅助理解模块400耦接自然语言处理器300以及检索系统200,检索系统200还包括结构化数据库220、搜寻引擎240以及检索界面単元260,其中搜寻引擎240耦接结构化数据库220以及检索界面单元260。在本实施例中,检索系统200包括有检索界面单元260,但非以限定本发明,某些实施例中可能没有检索界面単元260,而以其它方式使搜寻引擎240对结构化数据库220进行全文检索。当用户对自然语言理解系统100发出请求信息102吋,自然语言处理器300可分析请求信息102,并在将所分析的可能意图语法数据106送往知识辅助理解模块400,其中可能意图语法数据106包含关键词108与意图数据112。随后,知识辅助理解模块400取出可能意图语法数据106中的关键词108并送往检索系统200并将意图数据112储存在知识辅助理解模块400内部,而检索系统200中的搜寻引擎240将依据关键词108对结构化数据库220进行全文检索之后,再将全文检索的响应结果110回传至知识辅助理解模块400。接着,知识辅助理解模块400依据响应结果110对所储存的意图数据112进行比对,并将所求得的确定意图语法数据114送往分析结果输出模块106,而分析结果输出模块116再依据确定意图语法数据114,传送分析结果104至服务器,随后在查询到用户所需的数据后将其送给用户。上述的分析结果输出模块116可视情况与其它模块相结合,例如在一实施例中可并入知识辅助理解模块400中、或是在另一实施例中分离于自然语言理解系统100而位于服务器(包含自然语言理解系统100者)中,于是服务器将直接接收意图语法数据114再进行处理。此外,知识辅助理解模块400可将意图数据112储存在模块内部的储存装置中、在自然语言理解系统100中、服务器中(包含自然语言理解系统100者)、或是在任何可供知识辅助理解模块400可以撷取到的储存器中,本发明对此并不加以限定。再者,自然语言理解系统100包括检索系统200、自然语言处理器300以及知识辅助理解模块400可以用硬件、软件、固件、或是上述方式的各种结合方式来构筑,本发明亦未对此进行限制。前述自然语言理解系统100可以位于云端服务器中,也可以位于局域网络中的服务器,甚或是位于个人计算机、移动计算器装置(如笔记本型计算机)或移动通讯装置(如手机)等。自然语言理解系统100或检索系统200中的各构件也不一定需设置在同一机器中,而可视实际需要分散在不同装置或系统通过各种不同的通讯协议来连结。例如,自然语言理解处理器300及知识辅助理解模块400可配置于同一智能型手机内,而检索系统200可配置在另ー云端服务器中;或者是,检索界面単元260、自然语言理解处理器300及知识辅助理解模块400可配置于同一笔记本型计算机内,而搜寻引擎240及结构化数据库220可配置于局域网络中的另一服务器中。此外,当自然语言理解系统100皆位于服务器时(不论是云端服务器或局域网络服务器),可以将检索系统200、自然语言理解处理器300、以及知识辅助理解模块400配置不同的计算机主机中,并由服务器主系统来统筹其相互间的消息与数据的传送。当然,检索系统200、自然语言理解处理器300、以及知识辅助理解模块400亦可视实际需求而将其中两者或全部合并在ー计算机主机中,本发明并不对这部分的配置进行限制。在本发明的实施例中,用户可以用各种方式来向自然语言处理器300发出请求信息,例如用说话的语音输入或是文字描述等方式来发出请求信息。举例来说,若自然语言理解系统100是位于云端或局域网络中的服务器(未显示)内,则用户可先通过移动装置(例如手机、PDA、平板计算机或类似系统)来输入请求信息102,接着再通过电信系统业者来将请求信息102传送至服务器中的自然语言理解系统100,来让自然语言处理器300进行请求 信息102的分析,最后服务器于确认用户意图后,再通过分析结果输出模块116将对应的分析结果104通过服务器的处理后,将用户所请求的信息传回用户的移动装置。举例来说,请求信息102可以是用户希望通过自然语言理解系统100来求得答案的问题(例如“明天上海的天气怎么样啊”),而自然语言理解系统100在分析出用户的意图是查询上海明天的天气时,将通过分析结果输出模块116将所查询的天气数据作为输出结果104送给用户。此夕卜,若用户对自然语言理解系统100所下的指令为“我要看让子弹飞”、“我想听一起走过的日子〃时,因为“让子弹飞”或“一起走过的日子”可能包含不同的领域,所以自然语言处理器300会将用户的请求信息102分析成ー个或ー个以上的可能意图语法数据106,此可能意图语法数据106包括有关键词108及意图数据112,然后再经由对检索系统220中的结构化数据240进行全文检索后,进而确认用户的意图。进ー步来说,当用户的请求信息102为〃明天上海怎么样啊?〃吋,自然语言处理器300经过分析后,可产生ー个可能意图语法数据106 //<queryweather>,〈city〉=上海,〈时间 >=明天"。在一实施例中,如果自然语言理解系统100认为用户的意图已相当明确,便可以直接将用户的意图(亦即查询明天上海的天气)通过分析结果输出模块116输出分析结果104至服务器,而服务器可在查询到用户所指定的天气候传送给用户。又例如,当用户的请求信息102为〃我要看三国演义〃吋,自然语言处理器300经过分析后,可产生出三个可能意图语法数据106 〃くreadbook〉,〈bookname〉=三国演义";〃くwatchTV〉,〈TVname〉=三国演义〃;以及〃くwatchfilm〉,〈filmname〉=三国演义"。这是因为可能意图语法数据106中的关键词108(亦即“三国演义”)可能属于不同的领域,亦即书籟(〈readbook〉)、电视剧(〈watchTV〉)、以及电影(〈readfilm〉)三个领域,所以一个请求信息102可分析成多个可能意图语法数据106,因此需要通过知识辅助理解模块400做进ー步分析,来确认用户的意图。再举另ー个例子来说,若用户输入"我要看让子弹飞〃吋,因其中的〃让子弹飞〃有可能是电影名称或是书名称,所以也可能出现至少以下两个可能意图语法数据106 〃くreadbook〉,〈bookname〉=让子弹飞〃;以及〃くwatchfilm〉,〈filmname〉=让子弹飞";其分别属于书籍与电影两个领域。上述的可能意图语法数据106随后需通过知识辅助理解模块400做进ー步分析,并从中求得确定意图语法数据114,来表达用户的请求信息的明确意图。当知识辅助理解模块400分析可能意图语法数据106时,知识辅助理解模块400可通过检索界面206传送关键词108 (例如上述的“三国演义”或“让子弹飞”)给检索系统200。检索系统200中的结构化数据库220储存了具有特定数据结构的多个记录,而搜寻引擎240能通过检索界面単元260所接收的关键词108来对结构化数据库220进行全文检索,并将全文检索所获得的响应结果回传给知识辅助理解模块400,随后知识辅助理解模块400便能通过此响应结果110来求得确定意图语法数据114。至于对结构化数据库 220进行全文检索以确定意图语法数据114的细节,将在后面通过图3A、图3B与相关段落做更详细的描述。在本发明的概念中,自然语言理解系统100能先撷取用户的请求信息102中的关键词108,并通过结构化数据库220的全文检索结果来判别关键词108的领域属性,例如上述输入“我要看三国演义”时,会产生分别属于书籍、电视剧、电影三个领域的可能意图语法数据106,随后再进ー步分析并确认用户的明确意图。因此用户能够很轻松地以ロ语化方式来表达出其意图或信息,而不需要特别熟记特定用语,例如已知作法中关于固定词列表的特定用语。图2为根据本发明的一实施例的自然语言处理器300对用户的各种请求信息的分析结果的示意图。如图2所示,当用户的请求信息102为〃明天上海的天气怎么样啊〃吋,自然语言处理器300经过分析后,可产生出可能意图语法数据106为//<queryweather>,〈city〉=上海,〈时间 >=明天”其中意图数据112为〃く queryweather>〃、而关键词108为〃上海〃与〃明天〃。由于经自然语言处理器300的分析后只取得ー组意图语法数据106(查询天气〈queryweather〉),因此在ー实施例中,知识辅助理解模块400可直接取出关键词108〃上海〃与〃明天〃作为分析结果104送往服务器来查询天气的信息(例如查询明天上海天气概况、包含气象、气温…等信息),而不需要对结构化数据库220进行全文检索来判定用户意图。当然,在一实施例中,仍可对结构化数据库220进行全文检索做更精确的用户意图判定,熟习本发明技艺者可依据实际需求进行变更。此外,当用户的请求信息102为〃我要看让子弹飞〃吋,因为可产生出两个可能意图语法数据106:〃くreadbook〉,〈bookname〉=让子弹飞〃;以及〃くwatchfilm〉,〈filmname〉=让子弹飞";与两个对应的意图数据112〃〈readbook>〃与〃くwatchf以及两个相同的关键词108〃让子弹飞〃,来表示其意图可能是看〃让子弹飞〃的书籍或是看〃让子弹飞〃的电影。为进ー步确认用户的意图,将通过知识辅助理解模块400传送关键词108〃让子弹飞〃给检索界面単元260,接着搜寻引擎240便通过此关键词108〃让子弹飞〃来对结构化数据库220进行全文检索,以确认"让子弹飞"应该是书名称或是电影名称,藉以确认用户的意图。再者,当用户的请求信息102为〃我想听一起走过的日子〃时,可产生出两个可能意图语法数据106 I aymus i c>,、s inger >= — 起走过,、songname>=曰 ナ ;//<playmusic>, <songname>= 一起走过的日子"两个对应的相同的意图数据112〃〈playmusic>〃、以及两组对应的关键词108〃 一起走过〃与〃日子〃及〃 一起走过的日子〃,来分别表示其意图可能是听歌手〃 一起走过〃所唱的歌曲〃日子〃、或是听歌曲〃 一起走过的日子〃,此时知识辅助理解模块400可传送第一组关键词108〃 一起走过〃与〃日子〃以及第ニ组关键词〃 一起走过的日子〃给检索 界面単元260,来确认是否有〃 一起走过〃这位歌手来唱的〃日子〃这首歌(第一组关键词所隐含的用户意图)、或是否有"一起走过的日子"这首歌(第二组关键词所隐含的用户意图),藉以确认用户的意图。然而,本发明并不限于在此所表示的各可能意图语法数据与意图数据所对应的格式与名称。图3A是根据本发明的一实施例的结构化数据库220所储存的具有特定数据结构的多个记录的示意图。一般而言,在ー些已知的全文检索作法中,所获得的搜寻结果是非结构化的数据(例如通过google或百度所搜寻的結果),因其搜寻结果的各项信息是分散且不具关联的,所以用户必须再对各项信息逐一检视,因此造成实用性的限制。然而,在本发明的概念中,能通过结构化数据库来有效增进检索的效率与正确性。因为本发明所揭露的结构化数据库中的每个记录内部所包含的数值数据相互间具有关联性,且这些数值数据共同用以表达来自用户的请求信息对该记录的意图。于是在搜寻引擎对结构化数据库进行一全文检索吋,可在记录的数值数据被匹配吋,输出对应于该数值数据的指引数据以确认该请求信息的意图。这部分的实施细节将通过下列实例作更进一歩的描述。在本发明的实施例中,结构化数据库220所储存的每个记录302包括标题栏304及内容栏306,标题栏304内包括多个分栏308,各分栏包括指引栏310以及数值栏312,所述多个记录302的指引栏310用以储存指引数据,而所述多个记录302的数值栏用312以储存数值数据。在此以图3A所示的记录I来举例说明,记录I的标题栏304中的各分栏308分别储存了^singerguid :刘德华"、^songnameguid :一起走过的日子〃;及 〃songtypeguid :港台,萼语,流行";各分栏308的指引栏310分别储存了指引数据〃singerguid〃、〃songnameguid〃及"songtypeguid〃、而其对应分栏308的数值栏312则分别储存了数值数据〃刘德华〃、〃 一起走过的日子〃及〃港台,粤语,流行〃。指引数据"singerguid"代表数值数据〃刘德华〃的领域种类为歌手名称(singer),指引数据"songnameguid"代表数值数据〃 一起走过的日子〃的领域种类为歌曲名称(song),指引数据"songtypeguid"代表数值数据〃港台,粤语,流行〃的领域种类为歌曲类型(song type)。在此的各指引数据实际上可分别用不同的特定一串数字或字符来表示,在本发明中不以此为限。记录I的内容栏306则是储存了〃 一起走过的日子〃这首歌的歌词内容或储存其它的数据(例如作曲/词者…等),然而各记录的内容栏306中的真实数据并非本发明所强调的重点,因此在图3A中仅示意性地来描述之。前述的实施例中,每个记录包括标题栏304及内容栏306,且标题栏304内的分栏308包括指引栏310以及数值栏312,但非以限定本发明,某些实施例中也可以没有内容栏306,甚或是有些实施例中可以没有指引栏310。除此之外,在本发明的实施例中,于各分栏308的数据间储存有第一特殊字符来分隔各分栏308的数据,于指引栏310与该数值栏312的数据间储存有第二特殊字符来分隔指引栏与数值栏的数据。举例来说,如图3A所示,"singerguid〃与〃刘德华〃之间、"songnameguid"与〃 一起走过的日子〃之间、以及"songtypeguid"与〃港台,萼语,流行·〃之间是利用第二特殊字符〃"来做分隔,而记录I的各分栏308间是利用第一特殊字符〃 I "来做分隔,然而本发明并不限于以〃"或〃 I "来作为用以分隔的特殊字符。另ー方面,在本发明的实施例中,标题栏304中的各分栏308可具有固定位数,例如各分栏308的固定位数可以是32个字符,而其中的指引栏310的固定位数可以是7或8个位(最多用来指引128或256种不同的指引数据),此外,因第一特殊字符与第二特殊字符所需要的位数可以是固定的,所以分栏308的固定位数在扣除指引栏310、第一特殊字符、第二特殊字符所占去的位数后,剩下的位数便可悉数用来储存数值栏312的数值数据。再者,由于分栏308的位数固定,加上分栏308储存数据的内容可如图3A所示依序为指引栏310(指引数据的指针)、第一特殊字符、数值栏312的数值数据、第二特殊字符,而且如前所述,这四个数据的位数量也是固定的,于是在实作上可跳过指引栏310的位(例如跳过前7或8个位)、以及第二特殊字符的位数(例如再跳过I个字符,亦即8个位)后,再扣掉第一特殊字符所占的位数(例如最后I个字符、8个位)之后,最后便可直接取得数值栏312的数值数据(例如在记录I的第一个分栏308中直接取出数值数据“刘德华”),接着再进行所需的领域种类判断即可。于是,在目前所取出的数值数据比对完毕后(不论是否比对成功与否),可以再依据上述取出数值数据的方式取出下一个分栏308的数值数据(例如在记录I的第二个分栏308中直接取出数值数据“一起走过的日子”),来进行比对领域种类的比对。上述取出数值数据的方式可以从记录I开始进行比对,并在比对完记录I所有的数值数据后,再取出记录2的标题栏308中第一个分栏308的数值数据(例如“冯小刚”)进行比对。上述比对程序将持续进行,直到所有记录的数值数据都被比对过为止。应注意的是,上述的分栏308的位数、以及指引栏310、第一特殊字符、第二特殊字符个使用的位数可依实际应用改变,本发明对此并未加以限制。前述利用比对来取出数值数据的方式只是ー种实施例,但非用以限定本发明,另ー实施例可以使用全文检索的方式来进行。此外,上述跳过指引栏310、第二特殊字符、第一特殊字符的实作方式,可以使用位平移(例如除法)来达成,此部分的实施可以用硬件、软件、或两者搭配的方式进行,熟习本发明技艺者可依计实际需求而变更。在本发明的另ー实施例中,标题栏304中的各分栏308可具有固定位数,分栏308中的指引栏310可具有另ー固定位数,并且标题栏304中可不包括第一特殊字符以及第ニ特殊字符,由于各分栏308以及各指引栏310的位数为固定,所以可利用跳过特定位数的方式或是使用位平移(例如除法)的方式来直接取出各分栏308中的指引数据或数值数据。
应注意的是,由于前面已提到分栏308具有一定的位数,所以可以在自然语言理解系统100中(或是包含自然语言理解系统100的服务器中)使用计数器来记录目前所比对的是某一记录的某分栏308。此外,比对的记录亦可使用另ー计数器来储存其顺序。举例来说,当分别使用一第一计数器记录来表示目前所比对的记录顺序、并使用一第二计数器来表示目前所比对的分栏顺序时,若目前比对的是图3A的记录2的第3个分栏308 (亦即比对”filenameguid:华谊兄”)时,第一计数器所储存的数值将是2 (表示目前比对的是记录2),第二计数器所储存的数值则为3 (表示目前比对的是第3个分栏308)。再者,上述仅以7或8个位储存指引栏310的指引数据的方式,系希望将分栏308的大多数位都用来储存数值数据,而实际的指引数据则可通过这7、8个位当作指针,再据以从检索系统200所储存的指引数据储存装置280中读取实际的指引数据,其中指引数据系以表格的方式进行储存,但其它任何可供检索系统200存取的方式皆可用在本发明中。于是,在实际操作时,除了可直接取出数值数据进行比对之外,亦可在产生匹配结果时,直接依据上述两个计数器的数值,直接取出指引数据作为响应结果110送给知识辅助理解模块400。举例来说,当记录6的第2个分栏308 (亦即“songnameguid:背叛”)匹配成功时,将得知目前的第一计数 器/第二计数器的数值分别为6与2,因此可以依据这两个数值前往储存图3C所示的指引数据储存装置280,由记录6的分栏2查询出指引数据为”songnameguid”。在一实施例中,可以将分栏308的位树固定后,再将分栏308的所有位都用来储存数值数据,于是可以完全除去指引栏、第一特殊字符、第二特殊字符,而搜寻引擎240只要知道每越过固定位数就是另ー个分栏308,并在第二计数器中加ー即可(当然,每换下一个记录进行检索时亦需将第一计数器的储存值加一),这样可以提供更多的位数来储存数值数据。再举ー个实例来说明比对产生匹配结果吋,回传匹配记录110至知识辅助理解模块400做进ー步处理的过程。对应于上述记录302的数据结构,在本发明的实施例中,当用户的请求信息102为〃我要看让子弹飞〃时,可产生出两个可能意图语法数据106:〃くreadbook〉,〈bookname〉=让子弹飞〃;与〃くwatchfilm〉,〈filmname〉=让子弹飞";搜寻引擎240便通过检索界面単元260所接收的关键词108〃让子弹飞〃来对图3A的结构化数据库220所储存的记录的标题栏304进行全文检索。全文检索中,在标题栏304中找到了储存有数值数据〃让子弹飞〃的记录5,因此产生了匹配結果。接下来,检索系统200将回传记录5标题栏304中,对应于关键词108”让子弹飞”的指引数据”filmnameguid”作为匹配记录110并回传至知识辅助理解模块400。由于在记录5的标题栏中,包含对应数值数据〃让子弹飞〃的指引数据"filmnameguid〃,所以知识辅助理解模块400通过比对记录5的指引数据"filmnameguid"与上述可能意图语法数据106先前已储存的意图数据112〃〈watchfilm>〃或"〈readbook〉〃,便能判断出此次请求信息的确定意图语法数据114为〃くwatchfilm〉,〈filmname〉=让子弹飞〃(因为都包含” film”在其中)。换句话说,此次用户的请求信息102中所描述数据"让子弹飞"是电影名称,而数据用户的请求信息102的意图为看电影〃让子弹飞〃,而非阅读书籍。再举ー个实例作更进ー步的说明。当用户的请求信息102为〃我想听一起走过的日子〃时,可产生出两个可能意图语法数据106:〃くplaymusic〉,〈songname〉=一起走过的日子”;搜寻引擎240便通过检索界面単元260所接收的两组关键词108:〃一起走过〃与〃日子〃;以及〃一起走过的日子〃来对图3A的结构化数据库220所储存的记录的标题栏304进行全文检索。由于全文检索中,并未在所有记录的标题栏304中找到对应于第一组关键词108〃 一起走过〃与〃日子〃的匹配結果,而是找到了对应于第二组关键词108〃 一起走过的日子〃的记录1,于是检索系统200将记录I标题栏304中对应于第二组关键词108的指引数据"songnameguid",作为匹配记录110且回传至知识辅助理解模块400。接下来,知识辅助理解模块400在接收对应数值数据〃 一起走过的日子〃的指引数据"songnameguid"后, 便与可能意图语法数据106 (亦即〃くplaymusic〉,〈singer〉= 一起走过,〈songname〉=日子"与〃く playmusic〉,〈songname〉= 一起走过的日子〃)中的意图数据112 (亦即〈singer〉、〈songname〉等)进行比对,于是便发现此次用户的请求信息102中并未描述有歌手名称的数据,而是描述有歌曲名称为〃 一起走过的日子〃的数据(因为只有〈songname〉比对成功)。所以,知识辅助理解模块400可通过上述比对而判断出此次请求信息102的确定意图语法数据114为〃くplaymusic〉,〈songname〉= 一起走过的日子〃,而用户的请求信息102的意图为听歌曲〃 一起走过的日子"。在本发明的另ー实施例中,检索而得的匹配记录110可以是与关键词108完全匹配的全匹配记录、或是与关键词108部分匹配的部分匹配记录。举例来说,如果用户的请求信息102为〃我想听萧敬腾的背叛〃,同样地,自然语言处理器300经过分析后,产生出两个可能意图语法数据106:〃く playmusic〉,〈singer〉=萧敬腾,〈songname〉=背叛〃;及"〈playmusic〉,〈songname〉=萧敬腾的背叛”;并传送两组关键词108:〃萧敬腾〃与〃背叛〃;以及〃萧敬腾的背叛〃;给检索界面単元260,搜寻引擎240接着通过检索界面単元260所接收的关键词108来对图3A的结构化数据库220所储存的记录302的标题栏304进行全文检索。由于在全文检索中,对应第二组关键词108"萧敬腾的背叛〃并未匹配到任何记录,但是对应第一组关键词108〃萧敬腾〃与〃背叛〃找到了记录6与记录7的匹配結果。由于第二组关键词108"萧敬腾〃与〃背叛〃仅与记录6中的数值数据〃萧敬腾相匹配,而未匹配到其它数值数据〃杨宗纬〃及〃曹格〃,因此记录6为部分匹配记录(请注意上述对应请求信息102〃我要看让子弹飞〃的记录5以及对应请求信息〃我想听一起走过的日子〃的记录I皆为部分匹配记录),而关键词〃萧敬腾〃与〃背叛〃完全匹配了记录7的数值数据(因为第二组关键词108〃萧敬腾〃与〃背叛〃皆匹配成功),所以记录7为完全匹配记录。在本发明的实施例中,当该检索界面単元260输出多个匹配记录110至知识辅助理解模块400时,可依序输出全匹配记录(亦即全部的数值数据都被匹配)及部分匹配记录(亦即仅有部分的数值数据被匹配)的匹配记录110,其中全匹配记录的优先级大于部分匹配记录的优先级。因此,在检索界面单元260输出记录6与记录7的匹配记录110时,记录7的输出优先级会大于记录6的输出优先级,因为记录7全部的数值数据〃萧敬腾〃与〃背叛〃都产生匹配结果,但记录6还包含〃杨宗纬〃与〃曹格〃未产生匹結果。也就是说,结构化数据库220中所储存的记录对其请求信息102中的关键词108的匹配程度越高,越容易优先被输出,以便用户进行查阅或挑选对应的确定意图语法数据114。在另ー实施例中,可直接输出优先级最高的记录所对应的匹配记录110,作为确定意图语法数据114之用。前述非以限定本发明,因为在另一实施例中可能采取只要搜寻到有匹配记录即输出的方式(例如,以"我想听萧敬腾的背叛〃为请求信 息102而言,当检索到记录6即产生匹配结果吋,即输出记录6对应的指引数据做匹配记录110),而没有包含优先级的排序,以加快检索的速度。在另ー实施例中,可对优先级最高的记录,直接执行其对应的处理方式并提供予用户。例如当优先级最高的为播放三国演义的电影时,可直接播放电影与用户。此外,若优先级最高的为萧敬腾演唱的背叛时,可直接将此歌曲播放与用户。应注意的是,本发明在此仅作说明,并非对此加以限定。在本发明的再一实施例中,如果用户的请求信息102为〃我要听刘德华的背叛",则其可能意图语法数据106的其中之ー为〃くplaymusic〉,〈singer〉=刘德华,〈songname〉=背叛”;若检索界面単元260将关键词108"刘德华〃与〃背叛〃输入搜寻引擎240,并不会在图3的数据库中找到任何的匹配結果。在本发明的又一实施例中,检索界面単元260可分别将关键词108〃刘德华〃以及〃背叛〃输入搜寻引擎240,并且分别对应求得〃刘德华〃是歌手名称(指引数据singerguid)以及〃背叛〃是歌曲名称(指引数据songnameguid,且歌手可能是曹格或是萧敬腾、杨宗纬与曹格合唱)。此时,自然语言理解系统100可进ー步提醒用户“背叛这首歌曲是否为萧敬腾所唱(依据记录7的匹配結果)?”,或者,“是否为萧敬腾、杨宗纬与曹格所合唱(依据记录6的匹配結果)?”。在本发明的再一实施例中,结构化数据库220所储存记录可还包括有来源栏314及热度栏316。如图3B所示的数据库,其除了图3A的各项字段之外,还包含来源栏314及热度栏316。各记录的来源栏314用以储存此记录是出自哪ー个结构化数据库(在此图式中仅显示结构化数据库220,而实际上可存在更多不同的结构化数据库)、或是哪ー个用户、服务器所提供的来源值。并且,自然语言理解系统100可根据用户在之前的请求消息102中所透漏的喜好,来检索特定来源的结构化数据库(例如以请求信息102中的关键词进行全文检索产生匹配时,便对该记录的热度值加ー)。而各记录302的热度栏316用以储存此记录302的搜寻热度值或是热门程度值(例如该记录在特定时间里被単一用户、特定用户群组、所有用户的匹配次数或机率),以供知识辅助理解模块400判断用户意图时的參考。详细而论,当用户的请求信息102为〃我要看三国演义〃吋,自然语言处理器300经过分析后,可产生出多个可能意图语法数据106 〃くreadbook〉,〈bookname〉=三国演义”;〃くwatchTV〉,〈TVname〉=三国演义〃;以及〃くwatchfilm〉,〈filmname〉=三国演义"。若自然语言理解系统100在用户的请求信息102的历史记录中(例如利用通过热度栏316储存该笔记录302被某用户所点选的次数),统计出其大部份的请求为看电影,则自然语言理解系统100可针对储存电影记录的结构化数据库来做检索(此时来源栏314中的来源值,是记录储存电影记录的结构化数据库的代码),从而可优先判定〃くwatchfilm〉,〈filmname〉=三国演义〃为确定意图语法数据114。举例来说,在一实施例中亦可在每个记录302被匹配一次,就可在后面的热度栏316加一,作为用户的历史记录。于是在依据关键词108 “三国演义”做全文检索时,可以从所有匹配结果中挑选热度栏316中数值最高的记录302,作为判断用户意图之用。在一实施例中,若自然语言理解系统100在关键词108〃三国演义〃的检索结果中,判定对应〃三国演义〃这出电视节目的记录的热度栏316所储存的搜寻热度值最高,则便可优先判定〃くwatchTV〉,〈TVname〉=三国演义〃为确定意图语法数据114。此外,上述对热度栏316所储存数值的变更方式,可通过自然语言理解系统100所在的计算机系统进行变更,本发明对此并不加以限制。此外、热度栏316的数值亦可随时间递减,以表示用户对某项记录302的热度已逐渐降低,本发明对这部分亦不加以限制。再举另ー个实例来说,在另ー实施例中,由于用户可能在某段时间中特别喜欢看三国演义的电视剧,由于电视剧的长度可能很长而用户无法短时间看完,因此在短时间中可能重复点选(假设每匹配一次就将热度栏316内的数值加ー的话),因此造成某个记录302被重复匹配,这部分都可通过分析热度栏316的数据而得知。再者,在另ー实施例中,电信业者也可以利用热度栏316来表示某一来源所提供数据被取用的热度,而此数据供应者的编码可以用来源栏314进行储存。举例来说,若某位供应“三国演义电视剧”的供应者的被点选的机率最高,所以当某用户输入“我要看三国演义”的请求信息102时,虽然在对图3B的数据库进行全文检索时会找到阅读三国演义的书籍(记录8)、观看三国演义电视剧(记录9)、观看三国演义电影(记录10)三个匹配結果,但由于热度栏316中的数据显示观看三国演义电视剧是现在最热门的选项(亦即记录8、9、10的热度栏的数值分别为2、5、8),所以将先提供记录10的指引数据做匹配记录110输出至知识辅助理解系统400,作为判定用户意图的最优先选项。在一实施例中,可同时将来源栏314的数据显示给用户,让用户判断他所想要观看的电视剧是否为某位供应者所提供。应注意的是,上述对来源栏314所储存数据以及其变更方式,亦可通过自然语言理解系统100所在的计算机系统进行变更,本发明对此并不加以限制。明显的,本发明所揭露的结构化数据库中的每个记录内部所包含的数值数据相互间具有关联性(例如记录I中的数值数据“刘德华”、“一起走过的日子”、“港台,粤语,流行”都是用来描述记录I的特征),且这些数值数据共同用以表达来自用户的请求信息对该记录的意图(例如对“一起走过的日子”产生匹配结果时,表示用户的意图可能是对记录I的数据存取),于是在搜寻引擎对结构化数据库进行全文检索时,可在记录的数值数据被匹配吋,输出对应于该数值数据的指引数据(例如输出“ songnameguid”作为响应结果110),进而确认该请求信息的意图(例如在知识辅助理解模块中进行比对)。基于上述示范性实施例所掲示或教示的内容,图4A为根据本发明的一实施例的检索方法的流程图。请參阅图4A,本发明的实施例的检索方法包括以下步骤提供结构化数据库,且结构化数据库储存多个记录(步骤S410);接收至少一关键词(步骤S420);
通过关键词来对多个记录的标题栏进行全文检索(步骤S430)。举例来说,将关键词108输入检索界面単元260来让搜寻引擎240对结构化数据库220所储存的多个记录302的标题栏304进行全文检索,至于检索方式可如对图3A或图3B所进行的检索方式、或是不变更其精神的方式来进行;判断全文检索是否有匹配结果(步骤S440)。举例来说,通过搜寻引擎240来判断此关键词108所对应的全文检索是否有匹配結果;以及若有匹配结果,依序输出全匹配记录及部分匹配记录(步骤S450)。举例来说,若结构化数据库220中有记录匹配此关键词108,则检索界面単元260依序输出匹配此关键词108的全匹配记录及部分匹配记录中的指引数据(可通过对图3C的指引数据储存装置280而取得)作为匹配记录110送往知识辅助理解系统400,其中全匹配记录的优先级大于部分匹配记录的优先级。前述的流程步骤非以限定本发明,有些步骤是可以忽略或移除,例如,在本发明的另ー实施例中,可通过位于检索系统200外的匹配判断模块(未绘示于图中)来执行步骤S440 ;或是在本发明的另ー实施例中,可忽略上述步骤S450,其依序输出全匹配记录及部分匹配记录的动作可以通过位于检索系统200外的匹配结果输出模块(未绘示于图中),来执行步骤S450中依序输出全匹配记录及部分匹配记录的动作。基于上述示范性实施例所掲示或教示的内容,图4B为根据本发明的另ー实施例的自然语言理解系统100工作过程的流程图。请參阅图4B,本发明的另ー实施例的自然语言理解系统100工作过程包括以下步骤接收请求信息(步骤S510)。举例来说,用户将具有语音内容或文字内容的请求信息102传送至自然语言理解系统100 ;提供结构化数据库,且结构化数据库储存多个记录(步骤S520);将请求信息语法化(步骤S530)。举例来说,自然语言处理器300分析用户的请求信息102后,进而转为对应的可能意图语法数据106 ;辨别关键词的可能属性(步骤S540)。举例来说,知识辅助理解模块400辨别出可能意图语法数据106中的至少ー关键词108的可能属性,例如,关键词108〃三国演义〃可能是书、电影及电视节目;通过关键词108来对多个记录的标题栏304进行全文检索(步骤S550)。举例来说,将关键词108输入检索界面単元260来让搜寻引擎240对结构化数据库220所储存的多个记录的标题栏304进行全文检索;判断全文检索是否有匹配结果(步骤S560)。举例来说,通过搜寻引擎240来判断此关键词108所对应的全文检索是否有匹配结果;若有匹配结果,依序输出全匹配记录及部分匹配记录(步骤S570)所对应的指引数据为匹配记录110。举例来说,若结构化数据库220中有记录匹配此关键词108,则检索界面単元260依序输出匹配此关键词108的全匹配记录及部分匹配记录所对应的指引数据为匹配记录110,其中全匹配记录的优先级大于部分匹配记录的优先级;以及依序输出对应的确定意图语法数据(步骤S580)。举例来说,知识辅助理解模块400通过依序输出的全匹配记录及部分匹配记录,藉以输出对应的确定意图语法数据114。前述的流程步骤非以限定本发明,有些步骤是可以忽略或移除。综上所述,本发明通过取出用户的请求信息所包括的关键词,并且针对结构化数据库中的具有数据结构的记录的标题栏来进行全文检索,若产生匹配结果,便可判断出关键词所属的领域种类,藉以确定用户在请求信息所表示的意图。接下来针对以上结构化数据库在语音识别上的应用做更多的说明。首先针对在自然语言对话系统中,根据用户的语音输入来修正错误的语音应答,并进ー步找出其它可能的答案来回报给用户的应用做说明。虽然现今的移动通讯装置已可提供自然语言对话功能,以让用户发出语音来和移动通讯装置沟通。然而在目前的语音对话系统,当用户的语音输入不明确时,由于同一句语音输入可能意指多个不同的意图或目的,故系统容易会输出不符合语音输入的语音应答。因此在很多对话情境中,用户难以得到符合其意图的语音应答。为此,本发明提出ー种修正语音应答的方法以及自然语言对话系统,其中自然语言对话系统可根据用户的语音输入来修至错误的语音应答,并进ー步找出其它可能的答案来回报给用户。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。图5A是依照本发明ー实施例所绘示的自然语言对话系统的方块图。请參照图5A,自然语言对话系统500包括语音取样模块510、自然语言理解模块520、以及语音合成数据库530。在一实施例中,语音取样模块510用以接收语音输入501 (例如来自用户的语音),随后对其进行解析而产生解析结果503,而自然语言理解模块520会对解析结果503进行解析而取得其中的请求信息505,并在找到符合请求信息505的答案后,依据此答案通过对语音合成数据库130进行对应的语音查询,再输出所查询的语音作为对应于语音输入501的语音应答507予用户。其中,倘若自然语言理解模块520所作出的语音应答505不符合语音输入501中的请求信息505时(例如用户输入另ー个语音输入指示此事),自然语言理解模块520会修正原本的答案,并输出另ー个语音应答507予用户。前述自然语言对话系统500中的各构件可配置在同一机器中。举例而言,语音取样模块510与自然语言理解模块520例如是配置于同一电子装置。其中,电子装置可以是移动电话(Cell phone)、个人数字助理(Personal Digital Assistant,PDA)手机、智能型手机(Smart phone)等移动通讯装置、掌上型计算机(Pocket PC)、平板型计算机(TabletPC)、笔记本型计算机、个人计算机、或是其它具备通讯功能或安装有通讯软件的电子装置,在此并不限制其范围。此外,上述电子装置可使用Android操作系统、Microsoft操作系统、Android操作系统、Linux操作系统等等,不限于此。当然,前述自然语言对话系统500中的各构件也不一定需设置在同一机器中,而可分散在不同装置或系统并通过各种不同的通讯协议来连结。举例而言,自然语言理解模块520可以位于云端服务器中,也可以位于局域网络中的服务器。此外,自然语言理解模块520中的各构件也可分散在不同的机器,例如自然语言理解模块520中的各构件可位于与语音取样模块510相同或不同的机器。在本实施例中,语音取样模块510用以接收语音输入,此语音取样模块510可以为麦克风(Microphone)等接收音讯的装置,而语音输入501可以是来自用户的语音。自然语言理解模块520会接收从语音取样模块510传来的语音输入501,以对语音输入501进行解析而产生解析结果503。并且,自然语言理解模块120会根据解析结果503中的ー个或多个特征语义505(例如图1A中所提到的关键词108等)来产生至少ー个包含至少ー个候选答案的候选列表111,然后再从这些候选答案中找出较符合特征语义109的答案,进而输出语音应答107予用户。由于语音应答105输出与用户后,他/她可能认为目前所新的答案的不符合他的需求、或者需要再输入更多的选择(例如语音应答105输出的是多个选项要求用户驵进ー步选择)…等,所以用户会再输入另ー个语音。是以,如果用户输入另ー个语音的话,自然语言理解模块520会接着依据用户所输入的另ー个语音输入501判断先前所输出的语音应答507是否正确;若为否,则自然语言理解模块520还会从上述候选列表511中找出另一个候选答案,并据以产生新的语音应答507提供予用户。这部分的细节将通过图5B做更进一歩的描述。此外,本实施例的自然语言理解模块520可由一个或数个逻辑闸组合而成的硬件电路来实作。或者,在本发明另一实施例中,自然语言理解模块520可以通过计算机程序码来实作。举例来说,自然语言理解模块520例如是由程序语言所撰写的程序代码片段来实作于应用程序、操作系统或驱动程序等,而这些程序代码片段储存在储存单元中,并通过处理单元来执行之。为了使本领域的技术人员进ー步了解本实施例的自然语言理解模块520,底下举实例来进行说明。然,本发明在此仅为举例说明,并不以此为限,例如运用硬件、软件、固件、或是此三种实施方式的混合搭配等方式,皆可运用来实施本发明。
图5B是依照本发明ー实施例所绘示的自然语言理解模块520的方块图。请參照图5B,本实施例的自然语言理解模块520可包括语音识别模块522、自然语言处理模块524以及语音合成模块526。其中,语音识别模块522会接收从语音取样模块510传来的对语音输入501进行解析的解析结果503,并转换成ー个或多个特征语义509 (例如图1A的关键词108或字句等)。自然语言处理模块524则可再对这些特征语义509进行解析,而获得至少一个候选列表511 (例如通过图1A的检索系统200对结构化数据库220进行全文检索,并在取得响应110且对意图数据112比对后产生确定意图语法数据114,最后由分析结果输出模块116所送出的分析结果104),并且会从候选列表511中选出ー个较符合语音输入501的答案以作为回报答案(例如挑选全匹配记录…等)。由于此回报答案是自然语言理解模块520在内部分析而得的答案,所以还必须将转换成语音输出才能输出予用户,于是语音合成模块526会依据回报答案来查询语音合成数据库530,而此语音合成数据库530例如是记录有文字以及其对应的语音信息,可使得语音合成模块526能够找出对应于回报答案的语音,藉以合成出第一语音应答507。之后,语音合成模块126可将合成的语音通过语音输出接ロ(未绘示),其中语音输出接ロ例如为喇叭、扬声器、或耳机等装置输出,藉以输出语音予用户。举例来说,若用户输入的是“我要看三国演义”的语音输入501话,语音识别模块522会接收从语音取样模块510传来的对语音输入501进行解析的解析结果503,然后转换成例如是包含关键词108 “三国演义”的特征语义509。自然语言处理模块524则可再对这个特征语义509 “三国演义”进行解析,例如通过图1A的检索系统200对结构化数据库220进行全文检索,并在取得响应110且对意图数据112比对后产生确定意图语法数据114,最后由分析结果输出模块116所送出的分析结果104,而产生包含“三国演义”的三个意图选项的候选答案,并将其整合成一候选列表511 (亦即包含“看书”、“看电视剧”、以及“看电影”三个选项),接着再从候选列表511的这三个意图选项中选出ー个热度栏最高的答案(例如挑选图1A的记录10)作为回报答案。在一实施例中,可以直接执行热度栏最高者的所对应的方式,例如直接播放萧敬腾所演唱的“背叛”予用户,本发明并不对此加以限制。此外,自然语言处理模块524还可通过解析后续所接收的另ー个语音输入501 (因为与先前的语音输入501运用同样的方式馈入语音取样模块510),而判断前次的回报答案是否正确,此语音是用户针对先前提供予用户的语音应答507所做的响应,其包含用户认为先前的语音应答507正确与否的信息。倘若上述回报答案表示用户认为回报答案(亦即先前通过语音应答507传达给用户者)不正确,自然语言处理模块524还会选择上述候选列表511中的其它答案,并依据所选择的结果,通过语音合成模块526产生第二语音应答507 (因为也同样通过先前传送语音应答507的方式播放予用户)。接着,语音合成模块526可将合成的第二语音应答507亦通过语音输出接ロ输出予用户。延续先前用户输入“我要看三国演义”的例子来说,若用户想要看三国演义的电视剧,所以先前输出与用户的图1A记录10的选项(因为是看“三国演义”的电影)就不是用户想要的,所以用户可能输入“我要看三国演义电视剧”、或是“我不要看三国演义电影”…等作为第二语音输入501。于是第二语音输入501将在解析而取得其请求信息505 (或是特征语义509)后,输出”我现在为您播放三国演义电视剧”的第二语音应答507(如果用户想观看三国演义电视剧)、或是输出“您想要的是哪个选项”(如果用户只否定目前选项)的第二语音应答507,并搭配候选列表511其它的选项供用户选取。此外,在一实施例中,先前 的语音应答507所输出的是候选列表111的某个选项给用户供其判定是否其所想要的信息时,此时用户将输入此判定的“肯定”或“否定”的请求信息505。例如“请播放电影”、“这不是我要的东西”…等消息。于是第二语音输入501将在解析而取得其请求信息505后,输出“我现在为您播放三国演义电影”的第二语音应答507 (如果用户想观看三国演义电影)、或是输出“您想要的是哪个选项”(如果用户只否定目前选项)的第二语音应答507,并搭配输出候选列表511其它的选项供用户选取。再者,在另ー实施例中,若是依照优先级(例如全匹配、部分匹配…)显示候选列表511与用户时,用户所输入的第二语音输入501可能包含“选择”的消息。例如显示“观看三国演义书籍”、“观看三国演义电视剧”、以及“观看三国演义电影”三个选项给用户做选择时,用户可能输入“我要看电影””、或是“我要第三个选项”…等第二语音输入时,将在分析第二语音输入501的请求信息505并发现用户的意图后(例如选择观看电影),于是第二语音输入501将在解析而取得其请求信息505后,输出“我现在为您播放三国演义电影”的第二语音应答507 (如果用户想观看三国演义电影)然后直接播放电影予用户、或是输出“您想要的是阅读三国演义书籍”(如果所选择的是看书)的第二语音应答507,并搭配显示三国演义的电子书予用户的动作。在本实施例中,前述自然语言理解模块520中的语音识别模块522、自然语言处理模块524以及语音合成模块526可与语音取样模块510配置在同一机器中。在其它实施例中,语音识别模块522、自然语言处理模块524以及语音合成模块526亦可分散在不同的机器(例如计算机系统、服务器或类似装置/系统)中。例如图5C所示的自然语言理解模块520’,语音合成模块526可与语音取样模块510配置在同一机器502,而语音识别模块522、自然语言处理模块524可配置在另ー机器。以下即搭配上述搭配图5A的自然语言对话系统500来说明修正语音应答507的方法。图6是依照本发明ー实施例所绘示的修正语音应答507的方法流程图。在本实施例中的修正语音应答507的方法中,当用户认为目前所播放的语音应答507不符合其先前所输入的请求信息505时,会再输入另ー个语音输入501并馈入语音取样模块510,随后再由自然语言理解模块520分析而得知先前播放予用户的语音应答507并不符合用户的意图吋,自然语言理解模块520可再次输出另ー个语音应答507,藉以修正原本的语音应答507。为了方便说明,在此仅举图5A的自然语言对话系统500为例,但本实施例的修正语音应答507的方法亦可适用于上述图5C的自然语言对话系统500’。请同时參照图5A及图6,于步骤S602中,语音取样模块510会接收第一语音输入(亦同样通过语音输入501的方向馈入语音取样模块510)。其中,第一语音输入501例如是来自用户的语音,且第一语音输入501还可具有用户的请求信息105。具体而言,来自用户的第一语音输入501可以是询问句、命令句或其它请求信息505等,例如「我要看三国演义」、「我要听忘情水的音乐」或「今天温度几度」等等。于步骤S604中,自然语言理解模块520会解析第一语音输入501中所包括的至少ー个特征语义509,而获得候选列表511,其中候选列表511具有一个或多个候选答案。详细而言,自然语言理解模块520会解析第一语音输入501,而获得第一语音输入501的ー个或多个特征语义509。在此,特征语义509例如是自然语言理解模块520解析第一语音输入501后,所得到的关键词或请求信息等。举例来说,当用户的第一语音输入501为「我要看 三国演义」吋,自然语言理解模块520经过分析后所获得的特征语义509例如是「『三国演义』、『看』」。又例如,当用户的第一语音输入501为「我要听忘情水的歌」吋,自然语言理解模块520经过分析后所获得的特征语义509例如是「『忘情水』、『听』、『歌』」。接后,自然语言理解模块520可依据上述特征语义509自搜寻数据库(例如搜寻引擎等)进行查询,而获得至少ー笔搜寻结果,据以作为候选列表511中的各个候选答案。至于选择候选答案的方式可如图1A所述,在此不予以赘述。由于ー个特征语义509 (例如图1A的关键词108)可能属于不同的知识领域或属性(例如电影类、书籍类、音乐类或游戏类等等),且同一知识领域或属性中亦可进ー步分成多种类别(例如同一电影或书籍名称的不同作者、同一歌曲名称的不同演唱者、同一游戏名称的不同版本等等),故针对ー个特征语义509而言,自然语言理解模块520可在搜寻数据库中查询到一笔或多笔相关于此特征语义509的搜寻结果,其中每ー笔搜寻结果中可包括相关于此特征语义509的各类指引信息(例如以“萧敬腾”、“背叛”为关键词108在图3A、3B的结构化数据库220进行全文检索时,将得到两组匹配結果)。其中,指引信息例如是在搜寻结果中,除了特征语义509以外的其它关键词等等。因此从另一观点来看,当用户所输入的第一语音输入501具有多个特征语义509时(例如可解析出的关键词108越多),则表示用户的请求信息505较明确,使得自然语言理解模块520较能查询到与请求信息505接近的搜寻結果。举例来说,当特征语义509为「三国演义」吋,自然语言理解模块520所查讯到的搜寻结果例如是关于「...『三国演义』...『电视剧』」的数据、「...『三国演义』...『小说』」的数据、「...『三国演义』...『罗贯中』...『小说』」的数据,其中『电视剧』、『罗贯中』及『小说』为所列举的指引信息。又例如,当特征语义509为「『忘情水』『音乐』」吋,自然语言理解模块520所查讯到的搜寻结果例如关于「...『忘情水』...『音乐』...『刘德华』」的数据、「...『忘情水』...『音乐』...『李翊君』」的数据、「...『忘情水』...『音乐』...『歌词』」的数据,其中『刘德华』、『李翊君』及『歌词』为所列举的指引信息。換言之,每ー笔搜寻结果可包括特征语义509以及相关于特征语义的指引信息,而自然语言理解模块520会依据所查询到的搜寻結果,将搜寻结果中所包括的数据转换成候选答案,并将候选答案记录于候选列表511中,以供后续步骤使用。
于步骤S606中,自然语言理解模块520会自候选列表511中选择至少ー候选答案中作为回报答案,并依据回报答案,输出对应的第一语音应答507。在本实施例中,自然语言理解模块520可按照优先级排列候选列表中的候选答案,并依据此优先级自候选列表中选出回报答案,据以输出第一语音应答507。举例来说,当特征语义509为「三国演义」吋,假设自然语言理解模块520查询到很多笔关于「...『三国演义』...『书籍』」的数据,其次为「...『三国演义』...『音乐』」的数据,而关于「...『三国演义』...『电视剧』」的数据最少,则自然语言理解模块520会将「三国演义的书籍」作为第一优先候选答案,「三国演义的音乐」作为第二优先候选答案,「三国演义的电视剧」作为第三优先候选答案。其它细节前面已提过,在此不予赘述。接着,于步骤S608,语音取样模块510会接收第二语音输入501,而自然语言理解模块520会解析此第二语音输入501,并判断先前所选出的回报答案是否正确。在此,语音取样模块510会对第二语音输入501进行解析,以解析出第二语音输入501所包括的特征 语义509 (因为将经由标号509的方向由语音取样模块522输出至自然语言处理模块524),其中此特征语义509例如是用户进一歩提供的关键词(例如时间、意图、知识领域或属性等等)。并且,当第二语音输入501中的特征语义509不符合回报答案中所相关的指引信息吋,自然语言理解模块520则会判断先前所选出的回报答案为不正确。至于判断第二语音输入501的请求信息505包含的是“正确”或“否定”第一语音应答507的方式前面已提过,在此不予赘述。进ー步而言,自然语言理解模块520所解析的第二语音输入501可包括或不包括明确的特征语义509。举例来说,语音取样模块510例如是接收到来自用户所说的「我不是指三国演义的书籍」(情况A)、「我不是指三国演义的书藉,我是指三国演义的电视剧」(情况B)、「我是指三国演义的电视剧」(情况C)等等。上述情况A中的特征语义509例如为「『不是』『三国演义』『书籍』」,情况B中的特征语义509例如为「『不是』『三国演义』『书籍』,『是』『三国演义』『电视剧』」,而情况C中的特征语义509例如为「『是』『三国演义』『电视剧』J。为了方便说明,上述仅列举情况A、B及C为例,但本实施例并不限于此。接着,自然语言理解模块520会依据上述第二语音输入501所包括的特征语义509,来判断回报答案中相关的指引信息是否正确。也就是说,倘若断回报答案为「三国演义的书籍」,而上述特征语义509为「『三国演义』『电视剧』」,则自然语言理解模块520会判断回报答案中相关的指引信息(即『书籍』)不符合来自用户第二语音输入501的特征语义509(即『电视剧』),藉以判断回报答案不正确。类似地,倘若断回报答案为「三国演义的书籍」,而上述特征语义509为『不是』『三国演义』『书籍』」,则自然语言理解模块520亦会判断出回报答案不正确。当自然语言理解模块520解析第二语音输入501之后,判断之前输出的第一语音应答501为正确吋,则如步骤S610所示,自然语言理解模块120会做出对应于第二语音输入501的响应。举例来说,假设来自用户的第二语音输入501为「是的,是三国演义的书籍」,则自然语言理解模块520可以是输出「正在帮您开启三国演义的书籍」的第二语音应答507。或者,自然语言理解模块520可在播放第二语音应答507的同时,直接通过处理单元(未绘示)来加载三国演义的书藉内容。然而,当自然语言理解模块520解析第二语音输入501之后,判断之前输出的第一语音应答507不正确时,则如步骤S612所示,自然语言理解模块520会自候选列表511中选择候选答案中的另ー者,并依据所选择的结果输出第二语音应答507。在此,倘若用户所提供的第二语音输入501中不具有明确的特征语义509 (如上述情况A的第二语音输入501),则自然语言理解模块520可从候选列表511中选出另一个候选答案。或者,倘若用户所提供的第二语音输入501中具有明确的特征语义509(如上述情况B及C的第二语音输入501),则自然语言理解模块520可直接依据用户所指引的特征语义509,在从候选列表511中选出另一个候选答案。另ー方面,倘若用户所提供的第二语音输入501中具有明确的特征语义509 (如上述情况B及C的第二语音输入),但自然语言理解模块520在候选列表511中查无符合此特征语义509的指引信息的候选答案,则自然语言理解模块520会输出第三语音应答507,例如「查无此书」或「我不知道」等。
为了使本领域的技术人员进ー步了解本实施例的修正语音应答的方法以及自然语言对话系统,以下再举ー实施例进行详细的说明。首先,假设语音取样模块510接收的第一语音输入501为「我要看三国演义」(步骤S602),接着,自然语言理解模块520可解析出为「『看』『三国演义』」的特征语义509,并获得具有多个候选答案的候选列表511,其中每ー个候选答案具有相关的指引信息(步骤S604),如表一所不。表一
权利要求
1.一种修正语音应答的方法,包括接收一第一语音输入;解析该第一语音输入中所包括的至少一特征语义,而获得一候选列表,其中该候选列表具有至少一候选答案;自该候选列表中选择该至少一候选答案中的其中之一为一回报答案,并依据该回报答案,输出一第一语音应答;接收并解析一第二语音输入,以判断该回报答案是否正确;以及当该回报答案不正确时,自该候选列表中选择该至少一候选答案中的其中的另一,并依据所选择的结果,输出一第二语音应答。
2.根据权利要求1所述的修正语音应答的方法,其中该至少一候选答案相关于一指引信息,以及在判断该回报答案是否正确的步骤包括依据该第二语音输入解析出一目标语义;以及当该目标语义不符合该回报答案中的该指引信息时,判断该回报答案为不正确。
3.根据权利要求2所述的修正语音应答的方法,其中在选择该至少一候选答案中的其中的另一的步骤包括依据该目标语义,自该候选列表中选择具有符合该目标语义的该指引信息的该候选答案。
4.根据权利要求2所述的修正语音应答的方法,其中在选择该至少一候选答案中的其中的另一的步骤还包括当该回报答案不正确,且该候选列表中不具有符合该目标语义的该指引信息的该候选答案时,输出一第三语音应答。
5.根据权利要求1所述的修正语音应答的方法,还包括按照一优先级排列该候选列表中的该至少一候选答案;以及依据该优先级自该候选列表中选择该回报答案。
6.根据权利要求5所述的修正语音应答的方法,其中该至少一候选答案相关于一指引信息,以及在按照该优先级排列该候选列表中的该至少一候选答案的步骤包括依据众人使用习惯,以决定该至少一候选答案的该优先级。
7.根据权利要求5所述的修正语音应答的方法,其中该至少一候选答案相关于一指引信息,以及在按照该优先级排列该候选列表中的该至少一候选答案的步骤还包括依据用户喜好,以决定该至少一候选答案的该优先级。
8.根据权利要求5所述的修正语音应答的方法,其中该至少一候选答案相关于一指引信息,以及在按照该优先级排列该候选列表中的该至少一候选答案的步骤还包括依据用户习惯,以决定该至少一候选答案的该优先级。
9.根据权利要求1所述的修正语音应答的方法,其中该至少一候选答案相关于一指引信息,以及在选择该回报答案的步骤包括依照一用户对话数据库,查询该第一语音输入的该至少一特征语义在该用户对话数据库中所对应的一应答信息;以及选取具有与该应答信息符合的该指引信息的该至少一候选答案,以作为该回报答案。
10.根据权利要求1所述的修正语音应答的方法,其中该至少一候选答案相关于一指引信息,以及选择该回报答案步骤还包括解析一第四语音输入,并获得至少一关键词汇,其中该第四语音输入于该第一语音输入之前输入;以及选取具有与该少一关键词汇符合的该指引信息的该至少一候选答案,以作为该回报答案。
11.根据权利要求1所述的修正语音应答的方法,用于一移动通讯装置。
12.一种自然语言对话系统,包括一语音取样模块,接收一第一语音输入;以及一自然语言理解模块,耦接于该语音取样模块,该自然语言理解模块解析该第一语音输入中所包括的至少一特征语义,而获得一候选列表,其中该候选列表具有至少一候选答案,以及该自然语言理解模块自该候选列表中选择该至少一候选答案中的其中之一为一回报答案,并依据该回报答案,输出一第一语音应答,且该语音取样模块接收一第二语音输入,该自然语言理解模块解析该第二语音输入,以判断该回报答案是否正确,其中当该回报答案不正确时,该自然语言理解模块自该候选列表中选择该至少一候选答案中的其中的另一,并依据所选择的结果,输出一第二语音应答。
13.根据权利要求12所述的自然语言对话系统,其中该至少一候选答案相关于一指引信息,且该自然语言理解模块依据该第二语音输入解析出一目标语义,以及当该目标语义不符合该回报答案中的该指引信息时,该自然语言理解模块判断该回报答案为不正确。
14.根据权利要求13所述的自然语言对话系统,其中该自然语言理解模块依据该目标语义,并自该候选列表中选择具有符合该目标语义的该指引信息的该候选答案。
15.根据权利要求13所述的自然语言对话系统,其中当该回报答案不正确,且该候选列表中不具有符合该目标语义的该指引信息的该候选答案时,该自然语言理解模块输出一第二语首应答。
16.根据权利要求12所述的自然语言对话系统,其中该自然语言理解模块按照一优先级排列该候选列表中的该至少一候选答案,以及依据该优先级自该候选列表中选择该回报答案。
17.根据权利要求16所述的自然语言对话系统,其中该至少一候选答案相关于一指引信息,且该自然语言理解模块依据众人使用习惯,以决定该至少一候选答案的该优先级。
18.根据权利要求16所述的自然语言对话系统,其中该至少一候选答案相关于一指引信息,且该自然语言理解模块依据用户喜好,以决定该至少一候选答案的该优先级。
19.根据权利要求16所述的自然语言对话系统,其中该至少一候选答案相关于一指引信息,且该自然语言理解模块依据用户习惯,以决定该至少一候选答案的该优先级。
20.根据权利要求16所述的自然语言对话系统,其中该至少一候选答案相关于一指引信息,且该自然语言理解模块依照一用户对话数据库,查询该第一语音输入的该至少一特征语义在该用户对话数据库中所对应的一应答信息,以及选取具有与该应答信息符合的该指引信息的该至少一候选答案,以作为该回报答案。
21.根据权利要求16所述的自然语言对话系统,其中该至少一候选答案相关于一指引信息,且该自然语言理解模块解析一第四语音输入,并获得至少一关键词汇,其中该第四语音输入于该第一语音输入之前被该语音取样模块接收,以及该自然语言理解模块选取具有与该至少一关键词汇符合的该指引信息的该至少一候选答案,以作为该回报答案。
22.根据权利要求12所述的自然语言对话系统,用于一移动通讯装置。
全文摘要
一种修正语音应答的方法及自然语言对话系统。修正语音应答的方法包括以下步骤接收第一语音输入,并解析第一语音输入中所包括的至少一特征语义而获得候选列表,其中候选列表具有至少一候选答案;自候选列表中选择候选答案中其中一者为回报答案,并依据回报答案输出第一语音应答;接收并解析第二语音输入,以判断回报答案是否正确。当回报答案不正确时,自候选列表中选择候选答案的另一者,并依据所选择的结果输出第二语音应答。
文档编号G06F17/27GK103020047SQ201210593080
公开日2013年4月3日 申请日期2012年12月31日 优先权日2012年12月31日
发明者张国峰 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1