首页> 中国专利> 检索方法、检索系统以及自然语言理解系统

检索方法、检索系统以及自然语言理解系统

摘要

一种检索方法、检索系统以及自然语言理解系统,此检索系统包括:结构化数据库以及搜寻引擎。结构化数据库包含多个记录,其中每个记录包括标题字段以及内容字段,而标题字段内包括至少一分字段,每一分字段包括指引字段以及数值字段。前述记录的指引字段储存指引数据、数值字段储存数值数据、内容字段则储存内容细节数据。搜寻引擎针对用户请求信息所产生的关键字,对结构化数据库的记录进行全文检索,并将检索结果传送至一知识辅助理解模块以确定用户的意图,并在确认用户意图后将用户所要的信息回传给用户。

著录项

  • 公开/公告号CN103761242A

    专利类型发明专利

  • 公开/公告日2014-04-30

    原文格式PDF

  • 申请/专利权人 威盛电子股份有限公司;

    申请/专利号CN201310690513.5

  • 发明设计人 张国峰;朱逸斐;

    申请日2013-12-13

  • 分类号G06F17/30;

  • 代理机构北京市柳沈律师事务所;

  • 代理人史新宏

  • 地址 中国台湾新北市

  • 入库时间 2024-02-19 23:32:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-10

    授权

    授权

  • 2014-06-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20131213

    实质审查的生效

  • 2014-04-30

    公开

    公开

说明书

技术领域

本发明涉及一种检索技术,特别是涉及一种对结构化数据库进行全文检 索的检索方法、检索系统以及自然语言理解系统。

背景技术

在计算机的自然语言理解(Nature Language Understanding)中,通常会使 用特定的语法来抓取用户的输入语句的意图或信息。因此,若数据库中储存 有足够多的用户输入语句的数据,便能做到合理的判断。

在现有的作法中,有一种是利用内置的固定词列表来抓取用户的输入语 句,而固定词列表中包含了特定的意图或信息所使用的特定用语,而用户需 依照此特定用语来表达其意图或信息,其意图或信息才能被系统正确识别。 然而,迫使用户去记住固定词列表的每个特定用语是相当不人性化的作法。 例如:现有技术使用固定词列表的实施方式,要求用户在询问天气的时候必 须说:“上海(或北京)明天(或后天)天气如何?”,而若用户使用其他比 较自然的口语化表达也想询问天气状况时,比如是“上海明天怎么样啊?”, 因为语句中未出现“天气”,所以现有技术就会理解成“上海有个叫明天的 地方”,这样显然没有抓到用户的真正意图。另外,用户所使用的语句种类 是十分复杂的,并且又时常有所变化,甚至有时用户可能会输入错误的语句, 在此情况下必须要藉由模糊匹配的方式来抓取用户的输入语句。因此,仅提 供僵化输入规则的固定词列表所能达到的效果就更差了。

此外,当利用自然语言理解来处理多种类型的用户意图时,有些相异的 意图的语法结构却是相同的,例如当用户的输入语句为"我要看三国演义", 其用户意图有可能是想看三国演义的电影,或是想看三国演义的书,因此通 常在此情况中,便会匹配到两种可能意图来让用户做选择。然而,在很多情 况下,提供不必要的可能意图来让用户做选择是十分多余且没效率的。例如, 当用户的输入语句为"我想看超级星光大道"时,将使用者的意图匹配为看超 级星光大道的书或者画作是十分没必要的(因为超级星光大道是电视节目)。

再者,一般而言,在全文检索中所获得的搜寻结果是非结构化的数据。 非结构化数据内的信息是分散且不具关联的,例如,在google或百度等搜 寻引擎输入关键字后,所获得的网页搜寻结果就是非结构化数据,因为搜寻 结果必须通过人为的逐项阅读才能找到当中的有用信息,而这样的作法不仅 浪费用户的时间,而且可能漏失想要的信息,所以在实用性上会受到很大的 限制。

发明内容

本发明提供一种检索方法以及检索系统,其对结构化数据库进行全文检 索,而使全文检索所获得的搜寻结果是非常有意义的结构化的数据。

本发明又提供一种自然语言理解系统,藉由对结构化数据库进行全文检 索来辅助判断用户的请求信息所表示的意图。

本发明提出一种检索系统,其包括:结构化数据库以及搜寻引擎。结构 化数据库储存具有多个记录。搜寻引擎对结构化数据库进行全文检索,其中 结构化数据库每个记录内部的所包含的数值数据相互间具有关联性,且数值 数据共同用以表达来自用户的请求信息对该记录的意图。该搜寻引擎用以对 该结构化数据库进行一全文检索,其中在该数值数据被匹配时,对应于该数 值数据的指引数据被输出以确认该请求信息的意图。

本发明提出一种自然语言理解系统,其包括:自然语言处理器、知识辅 助理解模块以及检索系统。自然语言处理器将用户的请求信息,分析成至少 一可能意图语法数据,每一可能意图语法数据包括至少一关键字及意图数 据。耦接至自然语言处理器的知识辅助理解模块用以求得至少一可能意图语 法数据中的确定意图语法数据,以表达用户的请求信息的意图。前述检索系 统包括结构化数据库以及搜寻引擎。结构化数据库储存多个记录。搜寻引擎 对结构化数据库进行全文检索。知识辅助理解模块传送关键字给检索系统, 藉由检索系统的回应,以辅助求得确定意图语法数据。

本发明提出一种检索方法,此方法首先提供结构化数据库,此结构化数 据库储存具有多个记录。而后,对结构化数据库进行全文检索。

根据本发明的一实施例中,前述的每个记录包括了标题字段,此标题字 段内包括至少一分字段,每一分字段包括指引字段以及数值字段,前述记录 的指引字段储存指引数据,前述记录的数值字段储存数值数据。

根据本发明的一实施例中,前述的每个记录还包括内容字段,前述记录 的内容字段储存前述记录的内容细节数据。

根据本发明的一实施例中,当前述记录的标题字段中储存有多个分字段 的数据时,于各分字段的数据间储存第一特殊字符,用以分隔各分字段的数 据,于指引字段与数值字段的数据间储存第二特殊字符,用以分隔指引字段 与数值字段的数据。

根据本发明的一实施例中,标题字段中的分字段具有固定位数。

本发明提出一种检索系统,包括一结构化数据库,用以储存至少一记录, 其中每个该记录包含至少一字段,其中该字段所储存的数据是共同用以描述 该记录的属性;以及一搜寻引擎,用以依据一请求信息的一关键字对该结构 化数据库进行一全文检索,其中在该结构化数据库的至少一该记录与该关键 字产生匹配时,输出对应于该字段的一指引数据以确认该请求信息的意图。

本发明提出一种检索方法,包括:输入一关键字,其中该关键字是由一 请求信息所产生;以及依据该关键字对一结构化数据库进行一全文检索,其 中该结构化数据库储存至少一记录,其中每个该记录包含至少一字段,其中 该字段所储存的数据是共同用以描述该记录的属性;其中在该结构化数据库 的至少一该记录与该关键字产生匹配时,输出对应于该字段的一指引数据以 确认该请求信息的意图。

基于上述,本发明藉由将用户的请求信息所包括的关键字,来对结构化 数据库中具有特定数据结构的记录进行全文检索,以辅助判断出用户在请求 信息中所表示的意图。

为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合 附图详细说明如下。

附图说明

图1为根据本发明的一实施例的自然语言理解系统的方块图。

图2为根据本发明的一实施例的自然语言处理器对用户的各种请求信 息的分析结果的示意图。

图3A是根据本发明的一实施例的结构化数据库所储存的具有特定数据 结构的多个记录的示意图。

图3B是根据本发明的另一实施例的结构化数据库所储存的具有特定数 据结构的多个记录的示意图。

图3C是根据本发明的一实施例的指引数据储存装置所储存的指引数据 的示意图。

图4A为根据本发明的一实施例的检索方法的流程图。

图4B为根据本发明的另一实施例的自然语言理解系统工作过程的流程 图。

图5A是依照本发明一实施例所绘示的自然语言对话系统的方块图。

图5B是依照本发明一实施例所绘示的自然语言理解系统的方块图。

图5C是依照本发明另一实施例所绘示的自然语言对话系统的方块图。

图6是依照本发明一实施例所绘示的修正语音应答的方法流程图。

图7A是依照本发明一实施例所绘示的自然语言对话系统的方块图。

图7B是依照本发明另一实施例所绘示的自然语言对话系统的方块图。

图8A是依照本发明一实施例所绘示的自然语言对话方法流程图。

图8B是根据本发明的再一实施例的结构化数据库所储存的具有特定数 据结构的多个记录的示意图。

图9为依据本发明一实施例的移动终端装置的系统示意图。

图10为依据本发明一实施例的信息系统的系统示意图。

图11为依据本发明一实施例的基于语音识别的选择方法的流程图。

图12是依照本发明一实施例所绘示的语音操控系统的方块图。

图13是依照本发明另一实施例所绘示的语音操控系统的方块图。

图14是依照本发明一实施例所绘示的语音操控方法的流程图。

附图符号说明

100、520、520’、720、720’:自然语言理解系统

102、503、503’、703、902、902’:请求信息

104:分析结果

106:可能意图语法数据

108、509、509’、711、904、904’:关键字

110:回应结果

112:意图数据

114:确定意图语法数据

116:分析结果输出模块

200:检索系统

220:结构化数据库

240:搜寻引擎

260:检索接口单元

280:指引数据储存装置

300:自然语言处理器

302、832、834、836、838:记录

304:标题字段

306:内容字段

308:分字段

310:指引字段

312:数值字段

314:来源字段

316:热度字段

318、852、854:喜好字段

320、862、864:厌恶字段

400:知识辅助理解模块

500、500’、700、700’:自然语言对话系统

501、701:语音输入

507、507’、707:语音应答

510、710:语音取样模块

511、511’、711、906、906’:回报答案

513、513’、713:语音

522、722:语音识别模块

524、724:自然语言处理模块

526、726:语音合成模块

530、740:语音合成数据库

702:语音综合处理模块

715:用户喜好数据

717:用户喜好记录

730:特性数据库

872、874:字段

900、1010:移动终端装置

908、908’:候选列表

910、1011:语音接收单元

920、1013:数据处理单元

930、1015:显示单元

940:存储单元

1000:信息系统

1020:伺服器

SP1:第一语音

SP2:第二语音

1200、1300:语音操控系统

1210:辅助启动装置

1212、1222:无线传输模块

1214:触发模块

1216:无线充电电池

12162:电池单元

12164:无线充电模块

1220、1320:移动终端装置

1221:语音系统

1224:语音取样模块

1226:语音合成模块

1227:语音输出接口

1228:通讯模块

1230:(云端)伺服器

1232:语音理解模块

12322:语音识别模块

12324:语音处理模块

S410~S450:根据本发明一实施例的检索方法的步骤

S510~S590:根据本发明一实施例的自然语言理解系统工作过程的步骤

S602、S604、S606、S608、S610、S612:修正语音应答的方法各步骤

S802~S890:根据本发明一实施例的自然语言对话方法各步骤

S1100~S1190:依据本发明一实施例的基于语音识别的选择方法的各步 骤

S1402~S1412:依据本发明一实施例的语音操控方法的各步骤

具体实施方式

由于现有运用固定词列表的实施方式只能提供僵化的输入规则,对于用 户多变的输入语句的判断能力十分不足,所以常导致对用户的意图判断错误 而找不到所需的信息、或是因为判断力不足而输出不必要的信息给用户等问 题。此外,现有的搜寻引擎只能对用户提供分散、且相关不强的搜寻结果, 于是用户还要花时间逐条检视才能过滤出所需信息,不仅浪费时间而且可能 漏失所需信息。本发明即针对现有技术的前述问题提出一结构化数据的检索 方法与系统,在结构化数据提供特定的字段来储存不同类型的数据元素,俾 提供用户使用自然语音输入信息进行检索时,能快速且正确地判断用户的意 图,进而提供所需信息予用户、或提供更精确讯息供其选取。

图1为根据本发明的一实施例的自然语言理解系统的方块图。如图1 所示,自然语言理解系统100包括检索系统200、自然语言处理器300以及 知识辅助理解模块400,知识辅助理解模块400耦接自然语言处理器300以 及检索系统200,检索系统200还包括结构化数据库220、搜寻引擎240以 及检索接口单元260,其中搜寻引擎240耦接结构化数据库220以及检索接 口单元260。在本实施例中,检索系统200包括有检索接口单元260,但非 以限定本发明,某些实施例中可能没有检索接口单元260,而以其他方式(例 如通过API(Application Interface)呼叫接收关键词108)使搜寻引擎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送往分析结果输出 模块116,而分析结果输出模块116再依据确定意图语法数据114,传送分 析结果104至伺服器(未显示),随后在查询到用户所需的数据后将其送给用 户。应注意的是,分析结果104可包含关键字108,亦可输出包含关键字108 的记录(例如图3A/3B的记录)的部分信息(例如记录302的编号)、或是全部 的信息。此外,分析结果104可直接被伺服器转换成语音输出予用户、或是 再经过特定处理后再输出对应语音予用户(后文会再详述“特定处理”的方式 与所包含的内容与信息),本领域的技术人员可依据实际需求设计检索系统 200所输出的信息,本发明对此不予以限制。

上述的分析结果输出模块116可视情况与其他模块相结合,例如在一实 施例中可并入知识辅助理解模块400中、或是在另一实施例中分离于自然语 言理解系统100而位于伺服器(例如包含自然语言理解系统100者)中,于是 伺服器将直接接收意图语法数据114再进行处理。此外,自然语言理解系统 100可将意图数据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可通过检索接口260传送关 键字108(例如上述的“三国演义”或“让子弹飞”)给检索系统200。检索系统 200中的结构化数据库220储存了具有特定数据结构的多个记录,而搜寻引 擎240能藉由检索接口单元260所接收的关键字108来对结构化数据库220 进行全文检索,并将全文检索所获得的回应结果110回传给知识辅助理解模 块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进行全文检索来判定用户意图(如果知识辅助理解模块400在通 过解析请求信息102所产生的可能意图语法数据106即可确认用户意图的 话)。当然,在一实施例中,仍可对结构化数据库220进行全文检索做更精 确的用户意图判定,本领域的技术人员可依据实际需求进行变更。

此外,当用户的请求信息102为"我要看让子弹飞"时,因为可产生出两 个可能意图语法数据106:

"<readbook>,<bookname>=让子弹飞";以及

"<watchfilm>,<filmname>=让子弹飞";

与两个对应的意图数据112"<readbook>"与"<watchfilm>"、以及两个相 同的关键字108"让子弹飞",来表示其意图可能是看"让子弹飞"的书籍或是 看"让子弹飞"的电影。为进一步确认用户的意图,将通过知识辅助理解模块 400传送关键字108"让子弹飞"给检索接口单元260,接着搜寻引擎240藉由 此关键字108"让子弹飞"来对结构化数据库220进行全文检索,以确认"让子 弹飞"应该是书名称或是电影名称,藉以确认用户的意图。

再者,当用户的请求信息102为"我想听一起走过的日子"时,可产生出 两个可能意图语法数据106:

"<playmusic>,<singer>=一起走过,<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所示的记录1来举例说明,记录1的标题字段304中的三个分 字段308分别储存了:

"singerguid:刘德华"、

"songnameguid:一起走过的日子";及

"songtypeguid:港台,粤语,流行";

各分字段308的指引字段310分别储存了指引数据"singerguid"、 "songnameguid"及"songtypeguid"、而其对应分字段308的数值字段312则分 别储存了数值数据"刘德华"、"一起走过的日子"及"港台,粤语,流行"。指 引数据"singerguid"代表数值数据"刘德华"的领域种类为歌手名称(singer),指 引数据"songnameguid"代表数值数据"一起走过的日子"的领域种类为歌曲名 称(song),指引数据"songtypeguid"代表数值数据"港台,粤语,流行"的领域 种类为歌曲类型(song type)。在此的各指引数据实际上可分别用不同的特定 一串数字或字来表示,在本发明中不以此为限。记录1的内容字段306则是 储存了"一起走过的日子"这首歌的歌词内容或储存其他的数据(例如作曲/词 者…等),然而各记录的内容字段306中的真实数据并非本发明所强调的重 点,因此在图3A中仅示意性地来描述之。

前述的实施例中,每个记录包括标题字段304及内容字段306,且标题 字段304内的分字段308包括指引字段310以及数值字段312,但非以限定 本发明,某些实施例中也可以没有内容字段306,甚或是有些实施例中可以 没有指引字段310。

除此之外,在本发明的实施例中,于各分字段308的数据间储存有第一 特殊字符来分隔各分字段308的数据,于指引字段310与该数值字段312的 数据间储存有第二特殊字符来分隔指引字段与数值字段的数据。举例来说, 如图3A所示,"singerguid"与"刘德华"之间、"songnameguid"与"一起走过的 日子"之间、以及"songtypeguid"与"港台,粤语,流行"之间是利用第二特殊 字符":"来做分隔,而记录1的各分字段308间是利用第一特殊字符"|"来 做分隔,然而本发明并不限于以":"或"|"来做为用以分隔的特殊字符。

另一方面,在本发明的实施例中,标题字段304中的各分字段308可具 有固定位数,例如各分字段308的固定位数可以是32个字,而其中的指引 字段310的固定位数可以是7或8个位(最多用来指引128或256种不同的 指引数据),此外,因第一特殊字符与第二特殊字符所需要的位数可以是固 定的,所以分字段308的固定位数在扣除指引字段310、第一特殊字符、第 二特殊字符所占去的位数后,剩下的位数便可悉数用来储存数值字段312的 数值数据。再者,由于分字段308的位数固定,加上分字段308储存数据的 内容可如图3A所示依序为指引字段310(指引数据的指标)、第一特殊字符、 数值字段312的数值数据、第二特殊字符,而且如前所述,这四个数据的位 数量也是固定的,于是在实作上可跳过指引字段310的位(例如跳过前7或8 个位)、以及第二特殊字符的位数(例如再跳过1个字,亦即8个位)后,再扣 掉第一特殊字符所占的位数(例如最后1个字、8个位)之后,最后便可直接 取得数值字段312的数值数据(例如在记录1的第一个分字段308中直接取 出数值数据”刘德华”,此时还有32-3=29个字可供储存数值字段312的数值 数据,算式中的3(亦即1+1+1)代表被指引字段310的指引数据、第一特殊 字符、第二特殊字符所分别占去的1个字),接着再进行所需的领域种类判 断即可。于是,在目前所取出的数值数据比对完毕后(不论是否比对成功与 否),可以再依据上述取出数值数据的方式取出下一个分字段308的数值数 据(例如在记录1的第二个分字段308中直接取出数值数据“一起走过的日 子”),来进行比对领域种类的比对。上述取出数值数据的方式可以从记录1 开始进行比对,并在比对完记录1所有的数值数据后,再取出记录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, 并在第二计数器中加一即可(当然,每换下一个记录进行检索时亦需将第一 计数器的储存值加一),例如在一实施例中,每个记录的大小可设定在一预 定数值,而其所包含的分字段308数目可固定在一预定数量,因此搜索引擎 220在一记录中分析了预定数值的数据后,便可以轻易地知道已拜访至记录 终点。在另一实施例中,可在纪录最后储存一个特定的第三特殊字符(例如 句号或其他类似符号等),而搜索引擎220在发现这个特殊符号时亦知道已 拜访至记录终点,这样的实施方式可以提供更多的位数来储存数值数据。

再举一个实例来说明比对产生匹配结果时,回传匹配记录110至知识辅 助理解模块400做进一步处理的过程。对应于上述记录302的数据结构,在 本发明的实施例中,当用户的请求信息102为"我要看让子弹飞"时,可产生 出两个可能意图语法数据106:

"<readbook>,<bookname>=让子弹飞";与

"<watchfilm>,<filmname>=让子弹飞";

搜寻引擎240便藉由检索接口单元260所接收的关键字108"让子弹飞" 来对图3A的结构化数据库220所储存的记录的标题字段304进行全文检索。 全文检索中,在标题字段304中找到了储存有数值数据"让子弹飞"的记录5, 因此产生了匹配结果。接下来,检索系统200将回传记录5标题字段304的 第三个分字段308中,对应于关键字108“让子弹飞”的指引数据 “filmnameguid”作为回应结果110并回传至知识辅助理解模块400。由于 在记录5的标题字段中,包含对应数值数据"让子弹飞"的指引数据 "filmnameguid",所以知识辅助理解模块400藉由比对记录5的指引数据 "filmnameguid"与上述可能意图语法数据106先前已储存的意图数据 112"<watchfilm>"或"<readbook>",便能判断出此次请求信息的确定意图语法 数据114为"<watchfilm>,<filmname>=让子弹飞"(因为都包含“film”在其中)。 换句话说,此次用户的请求信息102中所描述数据"让子弹飞"是电影名称, 而数据用户的请求信息102的意图为看电影"让子弹飞",而非阅读书籍。确 认后的"<watchfilm>,<filmname>=让子弹飞"被当成确定意图语法数据114并 送往分析结果输出模块116做进一步处理。

再举一个实例作更进一步的说明。当用户的请求信息102为"我想听一 起走过的日子"时,可产生出两个可能意图语法数据106:

"<playmusic>,<singer>=一起走过,<songname>=日子";与

"<playmusic>,<songname>=一起走过的日子";

搜寻引擎240便藉由检索接口单元260所接收的两组关键字108:

"一起走过"与"日子";以及

"一起走过的日子"

来对图3A的结构化数据库220所储存的记录的标题字段304进行全文 检索。由于全文检索中,并未在所有记录的标题字段304中找到对应于第一 组关键字108"一起走过"与"日子"的匹配结果,而是找到了对应于第二组关 键字108"一起走过的日子"的记录1,于是检索系统200将记录1标题字段 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以及对应请求信息"我想听一起走过的日子"的记录1 皆为部分匹配记录),而关键字"萧敬腾"与"背叛"完全匹配了记录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, 并不会在图3A的数据库中找到任何的匹配结果。在本发明的又一实施例中, 检索接口单元260可分别将关键字108"刘德华"以及"背叛"输入搜寻引擎 240,并且分别对应求得"刘德华"是歌手名称(指引数据singerguid)以及"背叛 "是歌曲名称(指引数据songnameguid,且歌手可能是曹格或是萧敬腾、杨宗 纬与曹格合唱)。此时,自然语言理解系统100可进一步提醒用户:“背叛 这首歌曲是否为萧敬腾所唱(依据记录7的匹配结果)?”,或者,“是否为萧 敬腾、杨宗纬与曹格所合唱(依据记录6的匹配结果)?”。

在本发明的再一实施例中,结构化数据库220所储存记录可还包括有来 源字段314及热度字段316。如图3B所示的数据库,其除了图3A的各项字 段之外,还包含来源字段314热度字段316、喜好字段318与厌恶字段。各 记录的来源字段314可用以储存此记录是出自哪一个结构化数据库的指示 或指标(请注意在此图中仅显示结构化数据库220,而实际上可存在更多不同 的结构化数据库)、或是哪一个用户、伺服器所提供的来源值。并且,自然 语言理解系统100可根据用户在之前的请求讯息102中所透漏的喜好,来检 索特定来源的结构化数据库(例如以请求信息102中的关键字108进行全文 检索产生匹配时,便对该记录的热度值加一)。而各记录302的热度字段316 用以储存此记录302的搜寻热度值或是热门程度值(例如该记录在特定时间 里被单一用户、特定用户群组、所有用户的匹配次数或机率),以供知识辅 助理解模块400判断用户意图时的参考,至于喜好字段318与厌恶字段的使 用方式后文会再详述。详细而论,当用户的请求信息102为"我要看三国演 义"时,自然语言处理器300经过分析后,可产生出多个可能意图语法数据 106:

"<readbook>,<bookname>=三国演义";

"<watchTV>,<TVname>=三国演义";以及

"<watchfilm>,<filmname>=三国演义"。

若检索系统200在用户的请求信息102的历史记录中(例如利用通过热 度字段316储存该笔记录302被某用户所点选的次数),统计出其大部份的 请求为看电影(假设在结构化数据库中各只有一笔对应于三国演义书籍、电 视剧、电影的记录,其中看电影的记录其热度字段316较其他两者为高), 则检索系统200可针对储存电影记录的结构化数据库来做检索(此时来源字 段314中的来源值,是记录储存电影记录的结构化数据库的代码),从而可 优先判定"<watchfilm>,<filmname>=三国演义"为确定意图语法数据114。举 例来说,在一实施例中亦可在每个记录302被匹配一次,就可在后面的热度 字段316加一,作为用户的历史记录。于是在依据关键字108“三国演义” 做全文检索时,可以从所有匹配结果中挑选热度字段316中数值最高的记录 302,作为判断用户意图之用。在一实施例中,若检索系统200在关键字108" 三国演义"的检索结果中,判定对应"三国演义"这出电视节目的记录的热度 字段316所储存的搜寻热度值最高,则便可优先判定 "<watchTV>,<TVname>=三国演义"为确定意图语法数据114。在又一实施例 中,若每个领域有对个记录与其对应时,检索系统200可对所有记录的检索 系统200的数值进行统计。举例来说,若在结构化数据库220中有多个记录 分别对应至三国演义的书籍、电视剧、与电影,检索系统200可这些对应记 录的热度值先进行统计,并判断哪个领域具有最高值。例如三国演义的书籍、 电视剧、与电影的对应记录共有5,13,16个,而这5,13,16个记录的热度值 加总分别为30,18,25。因此,检索系统200可在与三国演义的书籍相关的 五个记录中,挑选热度字段316的数值最高的记录,并其对应的指引字段的 数据(可包含来源字段314中的来源值)将传送给知识辅助理解模块400做进 一步处理。此外,储存在来源字段314中的来源值亦可作为匹配记录110的 一部分并输出至知识辅助理解模块400,用以显示予用户可到哪里存取所需 的电视剧。再者,上述对热度字段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的数据显示给用户,让用户判断他所想要观看的电视剧是否为某位供应 者所提供(而用户可链接至该供应者以读取并播放电视剧来观看)。在另一实 施例中,如果有一个以上的记录提供三国演义的影片,检索系统200可传送 这些记录中,其热度字段316具有最高值的来源字段314所储存数据给知识 辅助理解模块400。应注意的是,上述对来源字段314所储存数据以及其变 更方式,亦可通过自然语言理解系统100所在的计算机系统进行变更,本发 明对此并不加以限制。应注意的是,本领域的技术人员应知,可进一步将图 3B中的热度字段316、喜好字段318、厌恶字段320所储存的信息进一步切 割成与用户个人相关以及与全体用户相关两部分,并将与用户个人相关的热 度字段316、喜好字段318、厌恶字段320信息将储存在用户的手机,而伺 服器则储存与全体用户相关的热度字段316、喜好字段318、厌恶字段320 等信息。这样一来,仅与用户个人的选择或意图相关的个人喜好相关信息就 只储存在用户个人的移动通讯装置(例如手机、平板计算机、或是小笔电… 等)中,而伺服器则储存与用户全体相关的信息,这样不仅可节省伺服器的 储存空间,也保留用户个人喜好的隐密性。

明显的,本发明所揭示的结构化数据库中的每个记录内部所包含的数值 数据相互间具有关联性(例如记录1中的数值数据“刘德华”、“一起走过的 日子”、“港台,粤语,流行”都是用来描述记录1的特征),且这些数值数据 (与对应的指引数据)共同用以表达来自用户的请求信息对该记录的意图(例 如对“一起走过的日子”产生匹配结果时,表示用户的意图可能是对记录1 的数据存取),于是在搜寻引擎对结构化数据库进行全文检索时,可在记录 的数值数据被匹配时,输出对应于该数值数据的指引数据(例如输出 “songnameguid”作为回应结果110),进而确认该请求信息的意图(例如在知 识辅助理解模块400中进行比对)。

基于上述示范性实施例所揭示或教示的内容,图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(在另一实施例中,回应结果110可包含相关于匹配记 录的其他信息,例如储存于热度字段316的数值,用以显示予用户作转往其 他数据之用),其中完全匹配记录的优先顺序大于部分匹配记录的优先顺序。

另一方面,若未有匹配结果,则自然语言理解系统100可以直接通知用 户匹配失败并结束流程、通知用户未发现匹配结果并要求做更进一步的输 入、或是列举可能选项给用户做进一步选择(例如前述以"刘德华"与"背 叛"做全文检索未产生匹配结果的例子)(步骤460)。

前述的流程步骤非以限定本发明,有些步骤是可以忽略或移除,例如, 在本发明的另一实施例中,可藉由位于检索系统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。

另一方面,若在步骤S560未产生匹配结果,亦可运用类似步骤S460 的方式来处理,例如直接通知用户匹配失败并结束流程、通知用户未发现匹 配结果并要求做更进一步的输入、或是列举可能选项给用户做进一步选择 (例如前述以"刘德华"与"背叛"做全文检索未产生匹配结果的例子)(步 骤S590)。

前述的流程步骤非以限定本发明,有些步骤是可以忽略或移除。

综上所述,本发明藉由取出用户的请求信息所包括的关键字,并且针对 结构化数据库中的具有特定数据结构的记录的标题字段(诸如具有图3A与 图3B的结构)来进行全文检索,若产生匹配结果,便可判断出关键字所属的 领域种类(与指引字段的数据做比对),藉以确定用户在请求信息所表示的意 图。

接下来针对以上结构化数据库在语音识别上的应用做更多的说明。首先 针对在自然语言对话系统中,可通过自然语言理解系统100以根据用户的语 音输入来修正错误的语音应答,并进一步找出其他可能的答案来回报给用户 的应用做说明。

如前所述,虽然现今的移动通讯装置已可提供自然语言对话功能,以让 用户发出语音来和移动通讯装置沟通。然而在目前的语音对话系统,当用户 的语音输入不明确时,由于同一句语音输入可能意指多个不同的意图或目 的,故系统容易会输出不符合语音输入的语音应答。因此在很多对话情境中, 用户难以得到符合其意图的语音应答。为此,本发明提出一种修正语音应答 的方法以及自然语言对话系统,其中自然语言对话系统可根据用户的语音输 入来修至错误的语音应答,并进一步找出其他可能的答案来回报给用户。为 了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施 的范例。

图5A是依照本发明一实施例所绘示的自然语言对话系统的方块图。请 参照图5A,自然语言对话系统500包括语音取样模块510、自然语言理解系 统520、以及语音合成数据库530。在一实施例中,语音取样模块510用以 接收第一语音输入501(例如来自用户的语音),随后对其进行解析而产生第 一请求信息503,而自然语言理解系统520会再对第一请求信息503进行解 析而取得其中的第一关键字509,并在找到符合第一请求信息503的第一回 报答案511后(依据图1的描述,第一请求信息503可运用请求信息102相 同的方式做处理,亦即请求信息102在分析后会产生可能意图语法数据106, 而其中的关键字108会用来对结构化数据库220进行全文检索而获得回应结 果110,此回应结果110再与可能意图语法数据106中的意图数据112作比 对而产生确定意图语法数据114,最后由分析结果输出模块116送出分析结 果104,此分析结果104可作为图5A中的第一回报答案511),依据此第一 回报答案511对语音合成数据库530进行对应的语音查询(因为做为第一回 答案511的分析结果104可包含完全/部分匹配的记录302的相关数据(例如 储存在指引字段310的指引数据、在数值字段312的数值数据、以及在内容 字段306的数据…等),因此可利用这些数据进行语音查询),再输出所查询 的第一语音513产生对应于第一语音输入501的第一语音应答507予用户。 其中,倘若用户认为自然语言理解系统520所输出的第一语音应答507不符 合第一语音输入501中的第一请求信息503时,用户将输入另一个语音输入, 例如第二语音输入501’,来指示此事。自然语言理解系统520会利用上述对 第一语音输入501的相同处理方式来处理第二语音输入501’以产生第二请求 信息503’,随后对第二请求信息503’进行解析、取得其中的第二关键字509’、 找到符合第二请求信息503’的第二回报答案511’、找出对应的第二语音 513’、最后再依据第二语音513’产生对应的第二语音应答507’输出予用户, 作为修正第一回报答案511之用。明显的,自然语言理解系统520可以图1 的自然语言理解系统100为基础,并再增加新的模块(将结合后续的图5B做 解说)来达成根据用户的语音输入来修正错误的语音应答的目的。

前述自然语言对话系统500中的各构件可配置在同一机器中。举例而 言,语音取样模块510与自然语言理解系统520例如是配置于同一电子装置。 其中,电子装置可以是移动电话(Cell phone)、个人数字助理(Personal Digital  Assistant,PDA)手机、智能型手机(Smart phone)等移动通讯装置、掌上 型计算机(Pocket PC)、平板型计算机(Tablet PC)、笔记型计算机、个人 计算机、或是其他具备通讯功能或安装有通讯软件的电子装置,在此并不限 制其范围。此外,上述电子装置可使用Android操作系统、Microsoft操作系 统、Android操作系统、Linux操作系统等等,不限于此。当然,前述自然语 言对话系统500中的各构件也不一定需设置在同一机器中,而可分散在不同 装置或系统并通过各种不同的通讯协议来连结。举例而言,自然语言理解系 统520可以位于云端伺服器中,也可以位于区域网路中的伺服器。此外,自 然语言理解系统520中的各构件也可分散在不同的机器,例如自然语言理解 系统520中的各构件可位于与语音取样模块510相同或不同的机器。

在本实施例中,语音取样模块510用以接收语音输入,此语音取样模块 510可以为麦克风(Microphone)等接收音讯的装置,而第一语音输入501/ 第二语音输入501’可以是来自用户的语音。

此外,本实施例的自然语言理解系统520可由一个或数个逻辑门组合而 成的硬件电路来实作。或者,在本发明另一实施例中,自然语言理解系统 520可以通过计算机程序码来实作。举例来说,自然语言理解系统520例如 是由程序语言所撰写的程序码片段来实作于应用程序、操作系统或驱动程序 等,而这些程序码片段储存在储存单元中,并藉由处理单元(图5A未显示) 来执行的。为了使本领域的技术人员进一步了解本实施例的自然语言理解系 统520,底下举实例来进行说明。然而,本发明在此仅为举例说明,并不以 此为限,例如运用硬件、软件、固件、或是此三种实施方式的混合结合等方 式,皆可运用来实施本发明。

图5B是依照本发明一实施例所绘示的自然语言理解系统520的方块 图。请参照图5B,本实施例的自然语言理解系统520可包括语音识别模块 522、自然语言处理模块524以及语音合成模块526。其中,语音识别模块 522会接收从语音取样模块510传来的请求信息,例如对第一语音输入501 进行解析的第一请求信息503,并取出一个或多个第一关键字509(例如图 1A的关键字108或字句等)。自然语言处理模块524可再对这些第一关键字 509进行解析,而获得至少包含一个回报答案的候选列表(与图5A的处理方 式相同,亦即例如通过图1A的检索系统200对结构化数据库220进行全文 检索,并在取得回应结果110且对意图数据112比对后产生确定意图语法数 据114,最后由分析结果输出模块116所送出的分析结果104来产生回报答 案),并且会从候选列表所有的回报答案中选出一个较符合第一语音输入501 的答案以做为第一回报答案511(例如挑选完全匹配记录…等)。由于第一回 报答案511是自然语言理解系统520在内部分析而得的答案,所以还必须将 它转换成语音输出才能输出予用户,这样用户才能进行判断。于是语音合成 模块526会依据第一回报答案511来查询语音合成数据库530,而此语音合 成数据库530例如是记录有文字以及其对应的语音信息,可使得语音合成模 块526能够找出对应于第一回报答案511的第一语音513,藉以合成出第一 语音应答507。之后,语音合成模块526可将合成的第一语音应答507通过 语音输出接口(未绘示)(其中语音输出接口例如为喇叭、扬声器、或耳机 等装置)输出予用户。应注意的是,语音合成模块526在依据第一回报答案 511查询语音合成数据库530时,可能需要先将第一回报答案511进行格式 转换,然后通过语音合成数据库530所规定的接口进行呼叫。由于呼叫语音 合成数据库530时是否需要进行格式转换与语音合成数据库530本身的定义 相关,因这部分属于本领域的技术人员所熟知的技术,故在此不予详述。

接下来列举实例来说明,若用户输入的是“我要看三国演义”的第一语 音输入501话,语音识别模块522会接收从语音取样模块510传来的对第一 语音输入501进行解析的第一请求信息503,然后取出例如是包含“三国演 义”的第一关键字509。自然语言处理模块524则可再对这个第一关键字509 “三国演义”进行解析(例如通过图1A的检索系统200对结构化数据库220 进行全文检索,并在取得回应结果110且对意图数据112比对后产生确定意 图语法数据114,最后由分析结果输出模块116所送出的分析结果104),进 而产生包含“三国演义”的三个意图选项的回报答案,并将其整合成一候选 列表(假设每个意图选项只有一个回报答案,其分别归类于“看书”、“看 电视剧”、以及“看电影”三个选项),接着再从候选列表的这三个回报答案 中选出一个在热度字段316具有最高值(例如挑选图3B的记录10)做为第一 回报答案511。在一实施例中,可以直接执行热度字段316具有最高值的所 对应的方式(例如先前所提的直接播放萧敬腾所演唱的“背叛”予用户),本发 明并不对此加以限制。

此外,自然语言处理模块524还可藉由解析后续所接收的第二语音输入 501’(因为与先前的语音输入501运用同样的方式馈入语音取样模块510), 而判断前次的第一回报答案511是否正确。因为第二语音输入501’是用户针 对先前提供予用户的第一语音应答507所做的回应,其包含用户认为先前的 第一语音应答507正确与否的信息。倘若在分析第二语音输入501’后是表示 用户认为第一回报答案511不正确,自然语言处理模块524可选择上述候选 列表中的其他回报答案做为第二回报答案511’,例如从候选列表中剔除第一 回报答案511后,并在剩余的回报答案重新挑选一第二回报答案511’,再利 用语音合成模块526找出对应于第二回报答案511’的第二语音513’,最后通 过语音合成模块526将第二语音513’合成为第二语音应答507’播放予用户。

延续先前用户输入“我要看三国演义”的例子来说,若用户想要看三国 演义的电视剧,所以先前输出予用户的图3B记录10的选项(因为是看“三 国演义”的电影)就不是用户想要的,于是用户可能再输入“我要看三国演义 电视剧”(用户明确指出想看的是电视剧)、或是“我不要看三国演义电影”(用 户只否定目前选项)…等作为第二语音输入501’。于是第二语音输入501’将 在解析而取得其第二请求信息503’(或是第二关键字509’)后,会发现第二请 求信息503’中的第二关键字509’将包含“电视剧”(用户有明确指示)或是“不 要电影”(用户只否定目前选项),因此将判断第一回报答案511不符合用户的 需求。是以,此时可以从候选列表再选出另一个回报答案做为第二回报答案 511’并输出对应的第二语音应答507’,例如输出“我现在为您播放三国演义 电视剧”的第二语音应答507’(如果用户明确指出想观看三国演义电视剧)、或 是输出“您想要的是哪个选项”(如果用户只否定目前选项)的第二语音应答 507’,并结合候选列表中其他的选项供用户选取(例如“挑选热度字段316 数值次高的回报答案作为第二回报答案511’)。再者,在另一实施例中,若 是用户所输入的第二语音输入501’包含“选择”的讯息,例如显示“观看三 国演义书籍”、“观看三国演义电视剧”、以及“观看三国演义电影”三个选项 给用户做选择时,用户可能输入“我要看电影”的第二语音输入501’时,将 在分析第二语音输入501’的第二请求信息503’并发现用户的意图后(例如从 第二关键字509’发现用户选择“观看电影”),于是第二语音输入501’将在解 析而取得其第二请求信息503’后,输出“我现在为您播放三国演义电影”的 第二语音应答507’(如果用户想观看三国演义电影)然后直接播放电影予用 户。当然,若用户所输入的是“我要第三个选项”时(假设此时用户所选择的 是阅读书籍),将执行第三选所对应的应用程序,亦即输出“您想要的是阅 读三国演义书籍”的第二语音应答507’,并结合显示三国演义的电子书予用 户的动作。

在本实施例中,前述自然语言理解系统520中的语音识别模块522、自 然语言处理模块524以及语音合成模块526可与语音取样模块510配置在同 一机器中。在其他实施例中,语音识别模块522、自然语言处理模块524以 及语音合成模块526亦可分散在不同的机器(例如计算机系统、伺服器或类 似装置/系统)中。例如图5C所示的自然语言理解系统520’,语音合成模块 526可与语音取样模块510配置在同一机器502,而语音识别模块522、自 然语言处理模块524可配置在另一机器。此外,在图5C的架构下,自然语 言处理模块524会将第一回报答案511/第二回报答案511’传送至语音合成模 块526,其随即以第一回报答案511/第二回报答案511’送往语音合成数据库 以寻找对应的第一语音513/第二语音513’,作为产生第一语音应答507/第二 语音应答507’的依据。

图6是依照本发明一实施例所绘示的修正第一语音应答507的方法流程 图。在本实施例中的修正第一语音应答507的方法中,当用户认为目前所播 放的第一语音应答507不符合其先前所输入的第一请求信息503时,会再输 入第二语音输入501’并馈入语音取样模块510,随后再由自然语言理解系统 520分析而得知先前播放予用户的第一语音应答507并不符合用户的意图 时,自然语言理解系统520可再次输出第二语音应答507’,藉以修正原本的 第一语音应答507。为了方便说明,在此仅举图5A的自然语言对话系统500 为例,但本实施例的修正第一语音应答507的方法亦可适用于上述图5C的 自然语言对话系统500’。

请同时参照图5A及图6,于步骤S602中,语音取样模块510会接收第 一语音输入501(亦同样馈入语音取样模块510)。其中,第一语音输入501 例如是来自用户的语音,且第一语音输入501还可具有用户的第一请求信息 503。具体而言,来自用户的第一语音输入501可以是询问句、命令句或其 他请求信息等,例如「我要看三国演义」、「我要听忘情水的音乐」或「今 天温度几度」等等。

于步骤S604中,自然语言理解系统520会解析第一语音输入501中所 包括的至少一个第一关键字509而获得候选列表,其中候选列表具有一个或 多个回报答案。举例来说,当用户的第一语音输入501为「我要看三国演义」 时,自然语言理解系统520经过分析后所获得的第一关键字509例如是「『三 国演义』、『看』」。又例如,当用户的第一语音输入501为「我要听忘情 水的歌」时,自然语言理解系统520经过分析后所获得的第一关键字509例 如是「『忘情水』、『听』、『歌』」。

接后,自然语言理解系统520可依据上述第一关键字509自结构化数据 库220进行查询,而获得至少一笔搜寻结果(例如图1的分析结果104),据 以做为候选列表中的回报答案。至于从多个回报答案中选择第一回报答案 511的方式可如图1A所述,在此不予以赘述。由于第一关键字509可能包 含不同的知识领域(例如电影类、书籍类、音乐类或游戏类等等),且同一 知识领域中亦可进一步分成多种类别(例如同一电影或书籍名称的不同作 者、同一歌曲名称的不同演唱者、同一游戏名称的不同版本等等),故针对 第一关键字509而言,自然语言理解系统520可在结构化数据库中查询到一 笔或多笔相关于此第一关键字509的搜寻结果(例如分析结果104),其中每 一笔搜寻结果中可包括相关于此第一关键字509的指引数据(例如以“萧敬 腾”、“背叛”为关键字108在图3A、3B的结构化数据库220进行全文检索 时,将得到例如图3A的记录6与7两组匹配结果,它们分别包含“singerguid”、 “songnameguid”的指引数据,此指引数据为储存在指引字段310的数据)与 其他数据。其中,其他数据例如是在搜寻结果中,除了与第一关键字709相 关以外的其他关键字等等(例如以“一起走过的日子”为关键字且在图3A的 结构化数据库220做全文检索而得到记录1为匹配结果时,“刘德华”与“港 台,粤语,流行”两者即为其他数据)。因此从另一观点来看,当用户所输入 的第一语音输入501具有多个第一关键字509时,则表示用户的第一请求信 息503较明确,使得自然语言理解系统520较能查询到与第一请求信息503 接近的搜寻结果。

举例来说,当第一关键字509为「三国演义」时(例如用户输入“我要 看三国演义”的语音输入时),自然语言理解系统520分析后可能产生三个可 能意图语法数据106(如图1所示):

"<readbook>,<bookname>=三国演义";

"<watchTV>,<TVname>=三国演义";以及

"<watchfilm>,<filmname>=三国演义"。

因此查讯到的搜寻结果是关于「...『三国演义』...『书籍』」(意图数据 为<readbook>)、「...『三国演义』...『电视剧』」(意图数据为<watchTV>)、 「...『三国演义』...『电影』」(意图数据为<watchfilm>)的记录(例如图3B 的记录8、9、10),其中『电视剧』及『书籍』、『电影』分别列举对应的 用户意图)。又例如,当第一关键字509为「『忘情水』、『音乐』」(例如 用户输入“我要听忘情水的音乐”的语音输入)时,自然语言理解系统520分 析后可能产生以下的可能意图语法数据:

"<playmusic>,<songname>=忘情水";

所查讯到的搜寻结果例如关于「...『忘情水』...『刘德华』」的记录(例 如图3B的记录11)、「...『忘情水』...『李翊君』」的记录(例如图3B的记 录12),其中『刘德华』及『李翊君』为对应于用户的意图数据。换言之, 每一笔搜寻结果可包括第一关键字509以及相关于第一关键字509的意图数 据,而自然语言理解系统520会依据所查询到的搜寻结果,将搜寻结果中所 包括的数据转换成回报答案,并将回报答案记录于候选列表中,以供后续步 骤使用。

于步骤S606中,自然语言理解系统520会自候选列表中选择至少一第 一回报答案511,并依据第一回报答案511输出对应的第一语音应答507。 在本实施例中,自然语言理解系统520可按照优先顺序排列候选列表中的回 报答案,并依据优先顺序自候选列表中选出回报答案,据以输出第一语音应 答507。

举例来说,当第一关键字509为「三国演义」时,假设自然语言理解系 统520查询到很多笔关于「...『三国演义』...『书籍』」的记录(亦即以查询 到的数据数量多寡做优先顺序,例如20笔关于书籍的记录),其次为「...『三 国演义』...『音乐』」的记录(例如18笔),而关于「...『三国演义』...『电 视剧』」的记录数量最少(例如10笔),则自然语言理解系统520会将「三国 演义的书籍」做为第一回报答案(最优先选择的回报答案),「三国演义的音 乐」做为第二回报答案(第二优先选择的回报答案),「三国演义的电视剧」 做为第三回报答案(第三优先选择的回报答案)。当然,若相关于「三国演义 的书籍」的第一回报答案不只一笔记录时,还可以依据应先顺序(例如被点 选次数多寡或热度字段316的数值最高者)来挑选第一回报答案511,相关细 节前面已提过,在此不予赘述。

接着,于步骤S608,语音取样模块510会接收第二语音输入501’,而 自然语言理解系统520会解析此第二语音输入501’,并判断先前所选出的第 一回报答案511是否正确。在此,语音取样模块510会对第二语音输入501’ 进行解析,以解析出第二语音输入501’所包括的第二关键字509’,其中此第 二关键字509’例如是用户进一步提供的关键字(例如时间、意图、知识领域… 等等)。并且,当第二语音输入501’中的第二关键字509’与第一回报答案 511中所相关的意图数据不相符时,自然语言理解系统520会判断先前所选 出的第一回报答案511为不正确。至于判断第二语音输入501’的第二请求信 息503’包含的是“正确”或“否定”第一语音应答507的方式前面已提过,在 此不予赘述。

进一步而言,自然语言理解系统520所解析的第二语音输入501’可包 括或不包括明确的第二关键字509’。举例来说,语音取样模块510例如是接 收到来自用户所说的「我不是指三国演义的书籍」(情况A)、「我不是指 三国演义的书籍,我是指三国演义的电视剧」(情况B)、「我是指三国演 义的电视剧」(情况C)等等。上述情况A中的第二关键字509’例如为「『不 是』、『三国演义』、『书籍』」,情况B中的关键字509例如为「『不是』、 『三国演义』、『书籍』,『是』、『三国演义』、『电视剧』」,而情况 C中的第二关键字509’例如为「『是』、『三国演义』、『电视剧』」。为 了方便说明,上述仅列举情况A、B及C为例,但本实施例并不限于此。

接着,自然语言理解系统520会依据上述第二语音输入501’所包括的 第二关键字509’,来判断第一回报答案511中相关的意图数据是否正确。也 就是说,倘若断第一回报答案511为「三国演义的书籍」,而上述第二关键 字509’为「『三国演义』、『电视剧』」,则自然语言理解系统520会判断 第一回报答案511中相关的意图数据(即用户想看三国演义『书籍』)不符 合来自用户第二语音输入501’的第二关键字509’(即用户想看三国演义『电 视剧』),藉以判断第一回报答案511不正确。类似地,倘若判断回报答案 为「三国演义的书籍」,而上述第二关键字509’为「『不是』、『三国演义』、 『书籍』」,则自然语言理解系统520亦会判断出第一回报答案511不正确。

当自然语言理解系统520解析第二语音输入501之后,判断之前输出的 第一语音应答501为正确时,则如步骤S610所示,自然语言理解系统520 会做出对应于第二语音输入501’的回应。举例来说,假设来自用户的第二语 音输入501’为「是的,是三国演义的书籍」,则自然语言理解系统520可以 是输出「正在帮您开启三国演义的书籍」的第二语音应答507’。或者,自然 语言理解系统520可在播放第二语音应答507’的同时,直接通过处理单元(未 绘示)来载入三国演义的书籍内容。

然而,当自然语言理解系统520解析第二语音输入501’之后,判断之 前输出的第一语音应答507(亦即回报答案511)不正确时,则如步骤S612所 示,自然语言理解系统520会自候选列表中选择第一回报答案511之外的另 一者,并依据所选择的结果输出第二语音应答507’。在此,倘若用户所提供 的第二语音输入501’中不具有明确的第二关键字509’(如上述情况A的第 二语音输入501’),则自然语言理解系统520可依据优先顺序从候选列表中 选出第二优先选择的回报答案。或者,倘若用户所提供的第二语音输入501’ 中具有明确的第二关键字509’(如上述情况B及C的第二语音输入501’), 则自然语言理解系统520可直接依据用户所指引的第二关键字509’,在从候 选列表中选出对应的回报答案。

另一方面,倘若用户所提供的第二语音输入501’中具有明确的第二关 键字509’(如上述情况B及C的第二语音输入),但自然语言理解系统520 在候选列表中查无符合此第二关键字509的回报答案,则自然语言理解系统 520会输出第三语音应答,例如「查无此书」或「我不知道」等。

为了使本领域的技术人员进一步了解本实施例的修正语音应答的方法 以及自然语言对话系统,以下再举一实施例进行详细的说明。

首先,假设语音取样模块510接收的第一语音输入501为「我要看三国 演义」(步骤S602),接着,自然语言理解系统520可解析出为「『看』、 『三国演义』」的第一关键字509,并获得具有多个第一回报答案的候选列 表,其中每一个回报答案具有相关的关键字与其他数据(其他数据可储存于 图3A/3B的内容字段306中、或是各记录302的数值字段312的一部份)(步 骤S604),如表一所示(假设搜寻结果中关于三国演义的书籍/电视剧/音乐/ 电影各只有一笔数据)。

表一

接着,自然语言理解系统520会在候选列表中选出所需的回报答案。假 设自然语言理解系统520依序选取候选列表中的回报答案a以做为第一回报 答案511,则自然语言理解系统520例如是输出「是否播放三国演义的书籍」, 即第一语音应答507(步骤S606)。

此时,若语音取样模块510接收的第二语音输入501’为「是的」(步 骤S608),则自然语言理解系统520会判断出上述的回报答案a为正确, 且自然语言理解系统520会输出另一语音应答507「请稍候」(亦即第二语音 应答507’),并通过处理单元(未绘示)来载入三国演义的书籍内容(步骤 S610)。

然而,若语音取样模块510接收的第二语音输入501’为「我不是指三 国演义的书籍」(步骤S608),则自然语言理解系统520会判断出上述的 回报答案a为不正确,且自然语言理解系统520会再从候选列表的回报答案 b~e中,选出另一回报答案做第二回报答案511’,其例如是回报答案b的「是 否要播放三国演义的电视剧」。倘若用户继续回答「不是电视剧」,则自然 语言理解系统520会选择回报答案c~e的其中之一来回报。此外,倘若候选 列表中的回报答案a~e皆被自然语言理解系统520回报予用户过,且这些回 报答案a~e中没有符合用户的语音输入501时,则自然语言理解系统520输 出「查无任何数据」的语音应答507(步骤S612)。

在另一实施例中,于上述的步骤S608,若语音取样模块510接收用户 的第二语音输入501’为「我是指三国演义的漫画」,在此,由于候选列表中 并无关于漫画的回报答案,故自然语言理解系统520会直接输出「查无任何 数据」的第二语音应答507’。

基于上述,自然语言理解系统520可依据来自用户的第一语音输入501 而输出对应的第一语音应答507。其中,当自然语言理解系统520所输出的 第一语音应答507不符合用户的第一语音输入501的请求信息503时,自然 语言理解系统520可修正原本输出的第一语音应答507,并依据用户后续所 提供的第二语音输入501’,进一步输出较符合用户第一请求信息503的第二 语音应答507’。如此一来,倘若用户仍不满意自然语言理解系统520所提供 的答案时,自然语言理解系统520可自动地进行修正,并回报新的语音应答 予用户,藉以增进用户与自然语言对话系统500进行对话时的便利性。

值得一提的是,在图6的步骤S606与步骤S612中,自然语言理解系 统520还可依照不同评估优先顺序的方法,来排序候选列表中的回报答案, 据以按照此优先顺序自候选列表中选出回报答案,再输出对应于回报答案的 语音应答。

举例来说,自然语言理解系统520可依据众人使用习惯(例如在图3B的 喜好字段318与厌恶字段320皆被分为储存用户个人喜好与众人喜好两部分 时,可参考这两个字段关于众人喜好的信息),来排序候选列表中的第一回 报答案511的优先顺序,其中越是关于众人经常使用的答案则优先排列。例 如,再以第一关键字509为「三国演义」为例,假设自然语言理解系统520 找到的回报答案为三国演义的电视剧、三国演义的书籍与三国演义的音乐。 其中,若众人提到「三国演义」时通常是指「三国演义」的书籍(例如20笔 关于书籍的记录),较少人会指「三国演义」的电视剧(例如18笔关于书籍的 记录),而更少人会指「三国演义」的音乐(例如10笔关于书籍的记录),所 以当图3B中的热度字段316所储存的数值来代表全部用户的匹配情形时, 因热度字段316的数值在「三国演义」的「书籍」记录上会最高,则自然语 言理解系统520会按照优先顺序排序关于「书籍」、「电视剧」、「音乐」 的回报答案。也就是说,自然语言理解系统520会优先选择「三国演义的书 籍」来做为第一回报答案511,并依据此第一回报答案511输出第一语音应 答507。

此外,自然语言理解系统520亦可依据用户习惯(例如在图3B的喜好字 段318与厌恶字段320皆被分为储存用户个人喜好与众人喜好两部分时,可 参考这两个字段关于用户个人喜好的信息),以决定回报答案的优先顺序。 具体来说,自然语言理解系统520可将曾经接收到来自用户的语音输入(包 括第一语音输入501、第二语音输入501’、或是任何由用户所输入的语音输 入)记录在特性数据库(例如图7A/7B所示),其中特性数据库可储存在硬碟等 储存装置中。特性数据库可记录自然语言理解系统520解析用户的语音输入 501时,所获得的第一关键字509以及自然语言理解系统520所产生的应答 记录等关于用户喜好、习惯等数据。关于用户喜好/习惯数据的储存与撷取, 将在后面通过图7A/7B/8做更进一步的说明。此外,在一实施例中,在图3B 中的热度字段316所储存的数值是与用户的习惯(例如匹配次数)相关时,可 用热度字段316的数值判断用户的使用习惯或优先顺序。因此,自然语言理 解系统520在选择回报答案时,可根据特性数据库730中所记录的用户习惯 等信息,按照优先排序回报答案,藉以输出较符合用户的语音输入501的语 音应答507。举例来说,在图3B中,记录8/9/10的热度字段316所储存的 数值分别为2/5/8,其可分别代表「三国演义」的「书籍」、「电视剧」、 「电影」的匹配次数分别为2/5/8,所以对应于「三国演义的电影」的回报 答案将被优先选择。

另一方面,自然语言理解系统520亦可依据用户习惯来选择回报答案。 举例来说,假设用户与自然语言理解系统520进行对话时,经常提起到「我 要看三国演义的书籍」,而较少提起「我要看三国演义的电视剧」,且更少 提到「我要看三国演义的音乐」(例如用户对话数据库中记录有20笔关于 「三国演义的书籍」的记录(例如图3B记录8的喜好字段318所示),8笔关 于「三国演义的电视剧」的记录(例如图3B记录9的喜好字段318所示), 以及1笔关于「三国演义的音乐」的记录),则候选列表中的回报答案的优 先顺序将会依序为「三国演义的书籍」、「三国演义的电视剧」以及「三国 演义的音乐」。也就是说,当第一关键字509为「三国演义」时,自然语言 理解系统520会选择「三国演义的书籍」来做为第一回报答案511,并依据 此第一回报答案511输出第一语音应答507。

值得一提的是,自然语言理解系统520还可依据用户喜好,以决定回报 答案的优先顺序。具体来说,用户对话数据库还可记录有用户所表达过的关 键字,例如:「喜欢」、「偶像」、「厌恶」或「讨厌」等等。因此,自然 语言理解系统520可自候选列表中,依据上述关键字被记录的次数来对回报 答案进行排序。举例来说,假设回报答案中相关于「喜欢」的次数较多,则 此回报答案会优先被选取。或者,假设回报答案中相关于「厌恶」的次数较 多,则较后被选取。

举例来说,假设用户与自然语言理解系统520进行对话时,经常提到「我 讨厌看三国演义的电视剧」,而较少提到「我讨厌听三国演义的音乐」,且 更少提到「我讨厌听三国演义的书籍」(例如用户对话数据库中记录有20 笔关于「我讨厌看三国演义的电视剧」的记录(例如可通过图3B记录9的厌 恶字段320做记录),8笔关于「我讨厌听三国演义的音乐」的记录,以及1 笔关于「我讨厌看三国演义的书籍」(例如通过图3B记录8的厌恶字段320 做记录)),则候选列表中的回报答案的优先顺序依序是「三国演义的书籍」、 「三国演义的电视剧」以及「三国演义的音乐」。也就是说,当第一关键字 509为「三国演义」时,自然语言理解系统520会选择「三国演义」的书籍 来做为第一回报答案511,并依据此第一回报答案511输出第一语音应答 507。在一实施例中,可以在图3B的热度字段316外另外加一个“厌恶字段 320”,用以记录用户的“厌恶程度”。在另一个实施例中,可以在解析到用 户对某一记录的“厌恶”信息时,直接在对应记录的热度字段316(或喜好字 段318)上减一(或其他数值),这样可以在不增加字段时记录用户的喜好。各 种记录用户喜好的实施方式都可应用在本发明实施例中,本发明并不对此加 以限制。其他关于用户习惯数据的记录与运用、以及用户/众人使用习惯及 喜好…等方式来提供应答及回报答案的实施例,会在后面的图7A/7B/8做更 详尽的解说。

另一方面,自然语言理解系统520还可依据用户早于自然语言对话系统 500提供回报答案前(例如第一语音输入501被播放前,此时用户尚不知自然 语言对话系统500将提供哪种回报答案供其选择)所输入的语音输入,以决 定至少一回报答案的优先顺序。也就是说,假设有语音输入(例如第四语音 输入)被语音取样模块510所接收的时间早于第一语音输入501被播放时, 则自然语言理解系统520亦可通过解析第四语音输入中的第四关键字,并在 候选列表中优先选取具有与此第四关键字符合的第四回报答案,并依据此第 四回报答案输出第四语音应答。

举例来说,假设自然语言理解系统520先接收到「我想看电视剧」的第 一语音输入501,且没多久(例如隔了几秒)之后,假设自然语言理解系统520 又接收到「帮我放三国演义好了」的第四语音输入501。此时,自然语言理 解系统520可在第一语音输入501中识别到「电视剧」的第一关键字509, 随后又在第四关键字中识别到「三国演义」。因此,自然语言理解系统520 会从候选列表,选取关于「三国演义」与「电视剧」的回报答案,并以此第 四回报答案据以输出第四语音应答予用户。

基于上述,自然语言理解系统520可依据来自用户的语音输入,并参酌 众人使用习惯、用户喜好、用户习惯或用户所说的前后对话等等信息,而输 出较能符合语音输入的请求信息的语音应答予用户。其中,自然语言理解系 统520可依据不同的排序方式,例如众人使用习惯、用户喜好、用户习惯或 用户所说的前后对话等等方式,来优先排序候选列表中的回报答案。藉此, 若来自用户的语音输入较不明确时,自然语言理解系统520可参酌众人使用 习惯、用户喜好、用户习惯或用户所说的前后对话,来判断出用户的语音输 入501中所意指的意图(例如第一语音输入501中的关键字509的属性、知 识领域等等)。换言之,若回报答案与用户曾表达过/众人所指的意图接近 时,自然语言理解系统520则会优先考虑此回报答案。如此一来,自然语言 对话系统500所输出的语音应答,可较符合用户的请求信息。

综上所述,在本实施例的修正语音应答的方法与自然语言对话系统中, 自然语言对话系统可依据来自用户的第一语音输入501而输出对应的第一 语音应答507。其中,当自然语言对话系统所输出的第一语音应答507不符 合用户的第一语音输入501的第一请求信息503或第一关键字509时,自然 语言对话系统可修正原本输出的第一语音应答507,并依据用户后续所提供 的第二语音输入501’,进一步选出较符合用户需求的第二语音应答507’。此 外,自然语言对话系统还可依据众人使用习惯、用户喜好、用户习惯或用户 所说的前后对话等等方式,来优先选出较适当的回报答案,据以输出对应的 语音应答予用户。如此一来,倘若用户不满意自然语言对话系统所提供的答 案时,自然语言对话系统可依照用户每一次所说出的请求信息自动地进行修 正,并回报新的语音应答予用户,藉以增进用户与自然语言对话系统进行对 话时的便利性。

接着再以自然语言理解系统100与结构化数据库220等架构与构件,应 用于依据与用户的对话场景及上下文、用户使用习惯、众人使用习惯及用户 喜好来提供应答及回报答案的实例做的说明。

图7A是依照本发明一实施例所绘示的自然语言对话系统的方块图。请 参照图7A,自然语言对话系统700包括语音取样模块710、自然语言理解系 统720、特性数据库730及语音合成数据库740。事实上,图7A中的语音取 样模块710与图5A的语音取样模块510相同、而且自然语言理解系统520 与自然语言理解系统720亦相同,所以其执行的功能是相同的。此外,自然 语言理解系统720分析请求信息703时,亦可通过对图1的数据化数据库 220进行全文检索而获得用户的意图,这部分的技术因前面已针对图1与相 关叙述做说明故不再赘述。至于特性数据库730是用以储存由自然语言理解 系统720所送来的用户喜好数据715、或提供用户喜好记录717予自然语言 理解系统720,这部分在后文会再行详述。而语音合成数据库740则等同语 音合成数据库530,用以提供语音输出予用户。在本实施例中,语音取样模 块710用以接收语音输入701(即图5A/B的第一/第二语音输入501/501’,为 来自用户的语音),而自然语言理解系统720会解析语音输入中的请求信息 703(即图5A/B的第一/第二请求信息503/503’),并输出对应的语音应答 707(即图5A/B的第一/第二语音应答507/507’)。前述自然语言对话系统700 中的各构件可配置在同一机器中,本发明对此并不加以限定。

自然语言理解系统720会接收从语音取样模块710传来的对语音输入 701进行解析后的请求信息703,并且,自然语言理解系统720会根据语音 输入701中的一个或多个关键字709来产生包含至少一个回报答案的候选列 表,再从候选列表中找出较符合关键字709的一者作为回报答案711,并据 以查询语音合成数据库740以找出对应于回报答案711的语音713,最后再 依据语音713输出语音应答707。此外,本实施例的自然语言理解系统720 可由一个或数个逻辑门组合而成的硬件电路来实作,或以计算机程序码来实 作,在此仅为举例说明,并不以此为限。

图7B是依照本发明另一实施例所绘示的自然语言对话系统700’的方块 图。图7B的自然语言理解系统720’可包括语音识别模块722与自然语言处 理模块724,而语音取样模块710可与语音合成模块726合并在一语音综合 处理模块702中。其中,语音识别模块722会接收从语音取样模块710传来 对语音输入701进行解析的请求信息703,并转换成一个或多个关键字709。 自然语言处理模块724再对这些关键字709进行处理,而获得至少一个候选 列表,并且从候选列表中选出一个较符合语音输入701者做为回报答案711。 由于此回报答案711是自然语言理解系统720在内部分析而得的答案,所以 还必须将转换成文字或语音输出才能输出予用户,于是语音合成模块726会 依据回报答案711来查询语音合成数据库740,而此语音合成数据库740例 如是记录有文字以及其对应的语音信息,可使得语音合成模块726能够找出 对应于回报答案711的语音713,藉以合成出语音应答707。之后,语音合 成模块726可将合成的语音通过语音输出接口(未绘示),其中语音输出接 口例如为喇叭、扬声器、或耳机等装置)输出,藉以输出语音予用户。应注 意的是,在图7A中,自然语言理解系统720是将语音合成模块726并入其 中(例如图5B的架构,但语音合成模块726未显示于图7A中),而语音合成 模块将利用回报答案711对语音合成数据库740进行查询以取得语音713, 作为合成出语音应答707的依据。

在本实施例中,前述自然语言理解系统720中的语音识别模块722、自 然语言处理模块724以及语音合成模块726,可分别等同于图5B的语音识 别模块522、自然语言处理模块524以及语音合成模块526并提供相同的功 能。此外,语音识别模块722、自然语言处理模块724以及语音合成模块726 可与语音取样模块710配置在同一机器中。在其他实施例中,语音识别模块 722、自然语言处理模块724以及语音合成模块726亦可分散在不同的机器 中(例如计算机系统、伺服器或类似装置/系统)。例如图7B所示的自然语言 理解系统720’,语音合成模块726可与语音取样模块710配置在同一机器 702,而语音识别模块722、自然语言处理模块724可配置在另一机器。应 注意的是,在图7B的架构中,因语音合成模块726与语音取样模块710配 置在一机器702中,因此自然语音理解系统720就需要将回报答案711传送 至机器702,并由语音合成模块726会将回报答案711送往语音合成数据库 740以寻找对应的语音713,作为产生语音应答707的依据。此外,语音合 成模块726在依据回报答案711呼叫语音合成数据库740时,可能需要先将 回报答案711进行格式转换,然后通过语音合成数据库740所规定的接口进 行呼叫,因这部分属于本领域的技术人员所熟知的技术,故在此不予详述。

以下即结合上述结合图7A的自然语言对话系统700来说明自然语言对 话方法。图8A是依照本发明一实施例所绘示的自然语言对话方法的流程图。 为了方便说明,在此仅举图7A的自然语言对话系统800为例,但本实施例 的自然语言对话方法亦可适用于上述图7B的自然语言对话系统700’。与图 5/6相较下,图5/6所处理的依据用户的语音输入而自动进行修正所输出的 信息,但图7A/7B/8所处理的是依据特性数据库730来记录用户喜好数据 715,并据以从候选列表中选择一者做回报答案711,并播放其对应语音予 用户。事实上,图5/6与图7A/7B/8的实施方式可择一或并存,发明并不对 此加以限制。

请同时参照图7A及图8,于步骤S810中,语音取样模块710会接收语 音输入701。其中,语音输入701例如是来自用户的语音,且语音输入701 还可具有用户的请求信息703。具体而言,来自用户的语音输入701可以是 询问句、命令句或其他请求信息等,例如前面提过的实例「我要看三国演义」、 「我要听忘情水的音乐」或「今天温度几度」等等。应注意的是,步骤 S802-S806为自然语言对话系统700对用户先前的语音输入储存用户喜好数 据715的流程,往后的步骤S810-S840即基于这些先前已储存在特性数据库 730的用户喜好数据715进行操作。步骤S802-S806的细节将在后文再行详 述,以下将先讲述步骤S820-S840的操作内容。

于步骤S820中,自然语言理解系统720会解析第一语音输入701中所 包括的至少一个关键字709,进而获得候选列表,其中候选列表具有一个或 多个回报答案。详细而言,自然语言理解系统720会解析语音输入701,而 获得语音输入701的一个或多个关键字709。举例来说,当用户的语音输入 701为「我要看三国演义」时,自然语言理解系统720经过分析后所获得的 关键字709例如是「『三国演义』、『看』」(如前所述,还要再分析用户 想看的是书籍、电视剧、或电影)。又例如,当用户的语音输入701为「我 要听忘情水的歌」时,自然语言理解系统720经过分析后所获得的关键字 709例如是「『忘情水』、『听』、『歌』」(如前所述,可以再分析用户想 听的是刘德华或李翊君所演唱的版本)。接后,自然语言理解系统720可依 据上述关键字709自结构化数据库进行全文检索,而获得至少一笔搜寻结果 (可为图3A/3B的其中的至少一笔记录),据以做为候选列表中的回报答案。 由于一个关键字709可能属于不同的知识领域(例如电影类、书籍类、音乐 类或游戏类等等),且同一知识领域中亦可进一步分成多种类别(例如同一 电影或书籍名称的不同作者、同一歌曲名称的不同演唱者、同一游戏名称的 不同版本等等),故针对一个关键字709而言,自然语言理解系统720可在 分析后(例如对结构化数据库220进行全文检索)得到一笔或多笔相关于此关 键字709的搜寻结果,其包含除了关键字709以及关键字709以外的其他信 息等等(其他信息的内容如表一所示)。因此从另一观点来看,当用户所输入 的第一语音输入701具有多个关键字709时,则表示用户的请求信息703较 明确,使得自然语言理解系统720较能分析到与请求信息703接近的搜寻结 果(因为若自然语言理解系统720可找到完全匹配结果时,应该就是用户想 要的选项了)。

举例来说,当关键字709为「三国演义」时,自然语言理解系统720 所分析到的搜寻结果例如是关于「...『三国演义』...『电视剧』」、「...『三 国演义』...『书籍』」的记录(其中『电视剧』及『书籍』即为回应结果所指 示的用户意图)。又例如,当关键字709为「『忘情水』、『音乐』」时, 自然语言理解系统720所分析到的用户意图可能为「...『忘情水』...『音乐』... 『刘德华』」、「...『忘情水』...『音乐』...『李翊君』」的记录,其中『刘 德华』、『李翊君』为用以指示用户意图的搜寻结果。换言之,在自然语言 理解系统720对结构化数据库220进行全文检索后,每一笔搜寻结果可包括 关键字709、以及相关于关键字709的其他数据(如表一所示),而自然语言 理解系统720会依据所分析到的搜寻结果转换成包含至少一个回报答案的 候选列表以供后续步骤使用。

于步骤S830中,自然语言理解系统720根据特性数据库730所送来的 用户喜好记录717(例如依据储存其中的用户喜好数据715所汇整的结果,后 面会对此做说明),用以自候选列表中选择一回报答案711,并依据回报答案 711输出语音应答707。在本实施例中,自然语言理解系统720可按照一优 先顺序(优先顺序包含哪些方式以下会再详述)排列从候选列表中选出回报答 案711。而在步骤S840中,依据回报答案711,输出语音应答707(步骤S840)。

举例来说,在一实施例中可以搜寻结果的数量做优先顺序,例如当关键 字709为「三国演义」时,假设自然语言理解系统720在分析后,发现在结 构化数据库220中关于「...『三国演义』...『书籍』」的记录数量最多,其 次为「...『三国演义』...『音乐』」的记录,而关于「...『三国演义』...『电 视剧』」的记录数量最少,则自然语言理解系统720会将相关于「三国演义 的书籍」的记录做为第一优先回报答案(例如将所有关于「三国演义的书籍」 整理成一候选列表,并可依据热度字段316的数值进行排序),相关于「三 国演义的音乐」的记录做为第二优先回报答案,相关于「三国演义的电视剧」 的记录做为第三优先回报答案。应注意的是,除了搜寻结果的数量外,作为 优先顺序的依据还可以是用户喜好、用户习惯、或是众人使用习惯,相关的 叙述往后会再详述。

为了使本领域的技术人员进一步了解本实施例的自然语言对话方法以 及自然语言对话系统,以下再举一实施例进行详细的说明。

首先,假设语音取样模块710接收的第一语音输入701为「我要看三国 演义」(步骤S810),接着,自然语言理解系统720可解析出为「『看』、 『三国演义』」的关键字709,并获得具有多个回报答案的候选列表,其中 每一个回报答案具有相关的关键字(步骤S820)与其他信息,亦如上述的 表一所示。

接着,自然语言理解系统720会在候选列表中选出回报答案。假设自然 语言理解系统720选取候选列表中的回报答案a(请参考表一)以做为第一回 报答案711,则自然语言理解系统720例如是输出「是否播放三国演义的书 籍」,作为语音应答707(步骤S830~S840)。

如上所述,自然语言理解系统720还可依照不同评估优先顺序的方法, 来排序候选列表中的回报答案,据此输出对应于回报答案711的语音应答 707。举例来说,自然语言理解系统720可依据与使用者的多个对话记录判 断用户喜好(例如前面提过的使用用户的正面/负向用语),亦即可利用该用户 喜好记录717决定回报答案711的优先顺序。然在解说用户正面/负面用语 的使用方式之前,先对用户喜好数据715在储存用户/众人的喜好/厌恶或习 惯的方式做说明。

现在依据步骤S802-806关于用户喜好数据715的储存方式。在一实施 例中,可在步骤S810接收语音输入701之前,即在步骤S802中接收多个语 音输入,也就是先前的历史对话记录,并根据这些先前的多个语音输入701, 撷取用户喜好数据715(步骤S804),然后储存在特性数据库730中。事实上, 用户喜好数据715亦可储存在结构化数据库220中(或说是将特性数据库730 并入结构化数据库220的方式)。举例来说,在一实施例中,可以直接利用 图3B的热度字段316来记录用户的喜好,至于热度字段316的记录方式前 面已提过(例如某一记录302被匹配时即将其热度字段加一),在此不予赘述。 当然,也可以在结构化数据库220另辟字段来储存用户喜好数据715,例如 用关键字(例如“三国演义”)为基础,结合用户喜好(例如当用户提到“喜欢” 等正向用语以及“厌恶”等负面用语时,可分别在图3B的喜好字段318与厌 恶字段320的数值加一),然后计算喜好的数量(例如统计正向用语与等负面 用语的数量)。于是自然语言理解系统720对结构化数据库200查询用户喜 好记录717时,可以直接查询喜好字段318与厌恶字段320的数值(可查询 正向用语与等负面用语各有多少数量),再据以判断用户的喜好(亦即将正面 用语及负面用语的统计数值作为用户喜好记录717传送至自然语言理解系 统720)。

以下将描述将用户喜好信息715储存在特性数据库730的情形(亦即特 性数据库730不并入结构化数据库220)。在一实施例中,用户喜好信息715 可使用关键字与用户对此关键字的“喜好”的对应方式来储存,举例来说, 用户喜好信息715的储存可直接使用图8B的喜好字段852与厌恶字段862 来记录用户个人对某关键字的喜好与厌恶,并以喜好字段854与厌恶字段 864来记录众人对此组关键字的喜好与厌恶。例如在图8B中,记录832所 储存的关键字「『三国演义』、『书籍』」所对应喜好字段852与厌恶字段 862的数值为分别为20与1、记录834所储存的关键字「『三国演义』、『电 视剧』」所对应的喜好字段852与厌恶字段862的数值为分别8与20、记 录836所储存的关键字「『三国演义』、『音乐』」所对应的喜好字段852 与厌恶字段862的数值为分别为1与8,其皆表示用户个人对于相关关键字 的喜好与厌恶数据(例如喜好字段852的数值越高表示越喜欢、厌恶字段862 的数值越高表示越厌恶)。此外,记录832所对应喜好字段854与厌恶字段 864的数值为分别为5与3、记录834所对应的喜好字段854与厌恶字段864 的数值为分别80与20、记录836所对应的喜好字段854与厌恶字段864的 数值为分别为2与10,其是表示众人对于相关关键字的喜好与厌恶数据(以 “喜好指示”简称之),于是便可依据用户的喜好来增加喜好字段852与厌恶 字段862的数值。因此,若用户输入“我想看三国演义的电视剧”的语音时, 自然语言理解系统720可将“关键字”「『三国演义』、『电视剧』」与增 加喜好字段数值的“喜好指示”合并成用户喜好数据715送往特性数据库 730,于是特性数据库730可在记录834的喜好字段852数值进行加一的操 作(因为用户想看「『三国演义』、『电视剧』」,表示其喜好度增加)。依 据上述记录用户喜好数据的方式,往后当用户又再输入相关的关键字时,例 如用户在输入“我要看三国演义”时,自然语言理解系统720可依据关键字 “三国演义”在图8B的特性数据库730查询到三笔与“三国演义”相关的记 录832/834/836,而特性数据库730可将喜好字段852与厌恶字段862的数 值做为用户喜好记录717回传给自然语言理解系统720,于是自然语言理解 系统720可依据用户喜好记录717作为判断用户个人的喜好依据。当然,特 性数据库730亦可将喜好字段854与厌恶字段864的数值做为用户喜好记录 717回传给自然语言理解系统720,只是此时用户喜好记录717将作为判断 众人喜好的依据,本发明对用户喜好记录717代表的是用户个人或是众人的 喜好并不加以限制。

在另一实施例中,喜好字段852与厌恶字段862的数值亦可作为判断用 户/众人习惯的依据。举例来说,自然语言理解系统720可在接收用户喜好 记录717后,先判断喜好字段852/854与厌恶字段862/864的数值差异,若 两个数值相差到了某个临界值之上,表示用户习惯使用特定的方式来进行对 话,例如当喜好字段852的数值较厌恶字段862的数值大了10次以上,表 示用户特别喜欢使用“正面用语”作对话(此即“用户习惯”的一种记录方式), 因此自然语言理解系统720在这个情形下可仅以喜好字段852来选取回报答 案。当自然语言理解系统720使用的是特性数据库730所储存的喜好字段 854/厌恶字段864的数值时,表示所判断的是特性数据库730所有用户的喜 好记录,而判断结果即可以作为众人使用习惯的参考数据。应注意的是,由 特性数据库730回传给自然语言理解系统720的用户喜好记录717可同时包 含用户个人的喜好记录(例如喜好字段852/厌恶字段862的数值)与众人的喜 好记录(例如喜好字段854/厌恶字段864的数值),本发明对此并不加以限制。

至于对基于本次的语音输入所获得的用户喜好数据715的储存,可在步 骤S820产生候选列表时(不论是完全匹配或部分匹配),由自然语言对话系 统700储存此次在用户语音输入中所取得的用户喜好数据715。例如在步骤 S820中,每当关键字可在结构化数据库220中产生匹配结果时,即可判定 用户对此匹配结果是有所偏好的倾向,因此可以将“关键字”与“喜好指示” 送往特性数据库730,并在其中找到对应的记录后,变更对应记录其对应的 喜好字段852/854或厌恶字段862/864数值(例如当用户输入“我想看三国演 义的书籍”时,可对图8B的记录832的喜好字段852/854的数值加一)。在又 一实施例中,自然语言对话系统700亦可在步骤S830中,于用户选取一回 报答案后才储存用户喜好数据715。此外,若当未在特性数据库730找到对 应的关键字时,可以建立一新的记录来储存用户喜好数据715。例如当用户 输入“我听刘德华的忘情水”的语音并产生关键字「『刘德华』、『忘情水』」 时,若进行储存时未在特性数据库730找到对应的记录,所以将在特性数据 库730建立新的记录838,并在其对应的喜好字段852/854数值加一。上述 的用户喜好数据715储存时机与储存方式,仅为说明之用,本领域的技术人 员可依据实际应用变更本发明所示的实施例,但所有不脱离本发明精神所为 的等效修饰仍应包含在本发明权利要求中。

此外,虽然在图8B所示的特性数据库730储存记录832-838的格式与 结构化数据库220的记录格式(例如图3A/3B/3C所示者)并不相同,但本发 明对各个记录的储存格式并不加以限制。再者,虽然上述实施例仅讲述喜好 字段852/854与厌恶字段862/864的储存与使用方式,但在另一实施例中, 可在特性数据库730另辟字段872/874以分别储存用户/众人的其他习惯,例 如该笔记录对应的数据被下载、引用、推荐、评论、或转介…的次数等数据。 在另一实施例中,这些下载、引用、推荐、评论、或转介的次数或数据亦可 集中以喜好字段852/854与厌恶字段862/864作储存,例如用户每次对某项 记录提供好的评论或转介予他人参考时可在喜好字段852/854的数值加一、 若用户对某项记录提供不好的评论时即可在厌恶字段862/864的数值加一, 本发明对记录的数量与字段的数值记录方式皆不予限制。应注意的是,本领 域的技术人员应知,因图8B中的喜好字段852、厌恶字段862、字段872… 等仅与用户个人的选择与喜好相关,所以可将这些用户个人的选择/喜好/厌 恶信息储存在用户的移动通讯装置中,而与全体用户(或至少是某特定群组 的用户)相关的喜好字段854、厌恶字段864、字段874…等信息就储存在伺 服器中,于是亦可节省伺服器的储存空间,也保留用户个人喜好的隐密性。

以下再利用图7A与图8B对用户的实际使用状况做更进一步的说明。 基于多个语音输入701的对话内容,假设用户与自然语言理解系统720进行 对话时,经常提到「我讨厌看三国演义的电视剧」,而较少提到「我讨厌听 三国演义的音乐」,且更少提到「我讨厌听三国演义的书籍」(例如特性数 据库730中记录有20笔关于「我讨厌看三国演义的电视剧」的记录(亦即在 图8B的记录834中,“三国演义”加“电视剧”的负面用语的数量就是20), 8笔关于「我讨厌听三国演义的音乐」的记录(亦即在图8B的记录836中, “三国演义”加“音乐”的负面用语的数量是8),以及1笔关于「我讨厌听三 国演义的书籍」)(亦即在图8B的记录832中,“三国演义”加“书籍”的负 面用语的数量是1),因为从特性数据库730所回传的用户喜好记录717将包 含这三个负面用语的数量(亦即20、8、1),则自然语言理解系统720会将候 选列表中的回报答案711的优先顺序依序排列为「三国演义的书籍」、「三 国演义的音乐」、以及「三国演义的电视剧」。也就是说,当关键字709为 「三国演义」时,自然语言理解系统720会选择「三国演义」的书籍来做为 回报答案711,并依据此回报答案711输出语音应答707。应注意的是,虽 然上述是单独使用用户所用过的负面用语的统计数值来列优先顺序,但在另 一实施例中,仍可单独使用用户所用过的正面用语的统计数值来列优先顺序 (例如先前提到的,喜好字段852的数值比厌恶字段862某一个临界值之上)。

值得一提的是,自然语言理解系统720还可同时依据用户使用的正面用 语与负面用语的多寡,以决定回报答案的优先顺序。具体来说,特性数据库 730还可记录有用户所表达过的关键字,例如:「喜欢」、「偶像」(以上为 正面用语)、「厌恶」或「讨厌」(以上为负面用语)等等。因此,自然语言理 解系统720除了可比较用户使用“喜欢”与“厌恶”的相差次数之外,还可自 候选列表中,直接依据上述关键字所对应的正面/负面用语次数来对回报答 案进行排序(亦即比较正面用语或负面用语哪者的引用次数较多)。举例来说, 假设回报答案中相关于「喜欢」的次数较多(亦即正面用语的引用次数较多、 或是喜好字段852的数值比较大),则此回报答案会优先被选取。或者,假 设回报答案中相关于「厌恶」的次数较多(亦即负面用语的引用次数较多、 或是厌恶字段862的数值比较大),则较后被选取,于是自然语言理解系统 720可将所有的回报答案依据上述的优先顺序排列方式整理出一个候选列 表。由于部分用户可能偏好使用正面用语(例如喜好字段852的数值特别大)、 而另一些用户则习惯使用负面用语(例如厌恶字段862的数值特别大),因此 在上述实施例中,因用户喜好记录717将反映个别用户的使用习惯,因此可 以提供更符合用户习惯的选项供其选取。

此外,自然语言理解系统720亦可依据众人使用习惯,来排序候选列表 中的回报答案711的优先顺序,其中越是关于众人经常使用的答案则优先排 列(例如使用图3C的热度字段316、或图8B的喜好字段854与厌恶字段864 做记录)。例如,当关键字709为「三国演义」时,假设自然语言理解系统 720找到的回报答案例如为三国演义的电视剧、三国演义的书籍与三国演义 的音乐。其中,若众人提到「三国演义」时通常是指「三国演义」的电视剧, 较少人会指「三国演义」的电影,而更少人会指「三国演义」的书籍,(例 如图8B中,相关记录在喜好字段854的数值分别为80、40、5),则自然语 言理解系统720会按照优先顺序排序关于「电视剧」、「电影」、「书籍」 的回报答案711。也就是说,自然语言理解系统720会优先选择「三国演义 的电视剧」来做为回报答案711,并依据此回报答案711输出语音应答707。 至于上述的“众人经常使用的答案优先排列”的方式,可以使用图3C的热度 字段316(或图8B的喜好字段854与厌恶字段864)做记录,而记录方式已在 上述图3C(8B)的相关段落揭示,在此不予赘述。

此外,自然语言理解系统720也可依据用户的使用频率以决定回报答案 711的优先顺序。具体来说,因自然语言理解系统720可将曾经接收到来自 用户的语音输入701记录在特性数据库730,特性数据库730可记录自然语 言理解系统720解析用户的语音输入701时,所获得的关键字709以及自然 语言理解系统720所有产生过的回报答案711等应答信息。因此自然语言理 解系统720在往后选择回报答案711时,可根据特性数据库730中所记录的 应答信息(例如用户喜好/厌恶/习惯、甚至是众人喜好/厌恶/习惯…等信息), 按照优先排序找出较符合用户意图(由用户的语音输入所判定)的回报答案 711,藉以对应的的语音应答。至于上述“依据用户习惯决定回报答案711 的优先顺序”的方式,亦可使用图3C的热度字段316(或图8B的喜好字段852 与厌恶字段862)做记录,而记录方式已在上述图3C(8B)的相关段落揭示, 在此不予赘述。

综合上述,自然语言理解系统720可将上述的用户喜好属性(例如正面 用语与负面用语)、用户习惯及众人使用习惯储存至特性数据库730中(步骤 S806)。也就是说,在步骤S802、步骤S804及步骤S806中,从用户的先前 的历史对话记录获知用户喜好数据715(从特性数据库730读取),并将所搜 集到的用户喜好数据715加入特性数据库730中(通过用户喜好记录717馈 入特性数据库730来对用户/众人喜好数据做修改),此外,也将用户习惯与 众人使用习惯储存至特性数据库730,让自然语言理解系统720能利用特性 数据库730中丰富信息(例如通过用户喜好记录717储存在特性数据库730 中),提供用户更正确的应答。

接下来对步骤S830的细节做进一步描述。在步骤S830中,是在步骤 S810接收语音输入、并在S820解析语音输入的关键字709以获得候选列表 后,接着,自然语言理解系统720依据将用户喜好、用户习惯或众人使用习 惯等用户喜好记录717,决定至少一回报答案的优先顺序(步骤S880)。如上 所述,优先顺序可以通过搜寻的记录数量、用户或众人的正面/负面用语等 方式为依据。接着,依据优先顺序自候选列表中选择一回报答案711(步骤 S890),至于回报答案的选择亦可如上所述,选择匹配程度最高者、或是优 先顺序最高者。之后,依据回报答案711,输出语音应答707(步骤S840)。

另一方面,自然语言理解系统720还可依据用户更早输入的语音输入 701,以决定至少一回报答案的优先顺序。也就是说,假设有另一个语音输 入701(例如前面提到的第四语音输入)被语音取样模块710所接收的时间 提前于语音应答707被播放时,则自然语言理解系统720亦可通过解析这个 语音输入701(亦即第四语音输入)中的关键字(亦即第四关键字709),并在候 选列表中,优先选取与此关键字符合的回报答案以做为回报答案711,并依 据此回报答案711输出语音应答707。

举例来说,假设自然语言理解系统720先接收到「我想看电视剧」的语 音输入701,且隔了几秒之后,假设自然语言理解系统720又接收到「帮我 放三国演义好了」的语音输入701。此时,自然语言理解系统720可在第一 次的语音输入701中识别到「电视剧」的关键字(第一关键字),且在后面识 别到「三国演义」的关键字(第四关键字),因此,自然语言理解系统720会 从候选列表中,选取意图数据是关于「三国演义」与「电视剧」的回报答案, 并以此回报答案711据以输出用语音应答707予用户。

基于上述,自然语言理解系统720可依据来自用户的语音输入,并参酌 众人使用习惯、用户喜好、用户习惯或用户所说的前后对话等等信息,而输 出较能符合语音输入701的请求信息703的语音应答707予用户。其中,自 然语言理解系统720可依据不同的排序方式,例如众人使用习惯、用户喜好、 用户习惯或用户所说的前后对话等等方式,来优先排序候选列表中的回报答 案。藉此,若来自用户的语音输入701较不明确时,自然语言理解系统720 可参酌众人使用习惯、用户喜好、用户习惯或用户所说的前后对话,来判断 出用户的语音输入701中所意指的意图(例如语音输入中的关键字709的属 性、知识领域等等)。换言之,若回报答案711与用户曾表达过/众人所指 的意图接近时,自然语言理解系统720则会优先考虑此回报答案711。如此 一来,自然语言对话系统700所输出的语音应答707,可较符合用户的请求 信息703。

应注意的是,虽然上述将特性数据库730与结构化数据库220以不同的 数据库做描述,但这两个数据库可合并在一起,本领域的技术人员可依据实 际应用进行选择。

综上所述,本发明提供一种自然语言对话方法及其系统,自然语言对话 系统可依据来自用户的语音输入而输出对应的语音应答。本发明的自然语言 对话系统还可依据依据众人使用习惯、用户喜好、用户习惯或用户所说的前 后对话等等方式,来优先选出较适当的回报答案,据以输出语音应答予用户, 藉以增进用户与自然语言对话系统进行对话时的便利性。

接着再以自然语言理解系统100与结构化数据库220等架构与构件,应 用于依据用户语音输入的请求信息分析而得的回报答案的数量,决定直接依 据数据类型进行操作、或是要求用户提供进一步指示,随后在回报答案只剩 一者时,亦可直接依据数据类型进行操作的实例做的说明。提供用户这项选 择的好处为系统可以不必替用户进行回报答案的筛选,而是将包含回报答案 的候选列表直接提供给用户,并让用户通过回报答案的选取,自己决定想要 执行的软件或提供哪种服务,以达到提供用户友好接口(user-friendly  interface)的目的。

图9为依据本发明一实施例的移动终端装置的系统示意图。请参照图9, 在本实施例中,移动终端装置900包括语音接收单元910、数据处理单元920、 显示单元930及存储单元940。数据处理单元920耦接语音接收单元910、 显示单元930及存储单元940。语音接收单元910用以接收第一输入语音SP1 及第二输入语音SP2且传送至数据处理单元920。上述的第一语音输入SP1 与第二语音输入SP2可以是语音输入501、701。显示单元930用以受控于 数据处理单元920以显示第一/第二候选列表908/908’。存储单元940用以储 存多个数据,这些数据可包含前述的结构化数据库220或特性数据库730的 数据,在此不再赘述。此外,存储单元940可以是伺服器或计算机系统内的 任何类型的存储器,例如动态随机存储器(DRAM),静态随机存储器(SRAM)、 快闪存储器(Flash memory)、只读存储器(ROM)…等,本发明对此并不加以 限制,本领域的技术人员可以依据实际需求进行选用。

在本实施例中,数据处理单元920的作用如同图1的自然语言理解系统 100,会对第一输入语音SP1进行语音识别以产生请求信息902,再对第一 请求信息902进行分析与自然语言处理以产生对应第一输入语音SP1的第一 关键字904,并且依据第一输入语音SP1对应的第一关键字904从存储单元 940的数据(例如搜寻引擎240依据关键字108对结构化数据库220进行全文 检索)中找出第一回报答案906(例如第一回报答案511/711)。当所找到的第 一回报答案906数量为1时,数据处理单元920可直接依据第一回报答案 906所对应的文档数据进行对应的操作;当第一回报答案906的数量大于1 时,数据处理单元920可将第一回报答案906整理成一个第一候选列表908, 随后控制显示单元940显示第一候选列表908予用户。在显示第一候选列表 908供用户做进一步选取的状况下,数据处理单元920会收到第二输入语音 SP2,并对其进行语音识别以产生第二请求信息902’,再对第二请求信息902’ 进行自然语言处理以产生对应第二输入语音SP2的第二关键字904’,并且依 据第二输入语音SP2对应的第二关键字904’从第一候选列表908中选择对应 的部分。其中,第一关键字904及第二关键字904’可以由多个关键字所构成。 上述对第二语音输入SP2进行分析而产生第二请求信息902’与第二关键字 904’的方式,可以运用图5A与7A对第二语音输入进行分析的方式,因此 不再赘述。

类似地,当第二回报答案906的数量为1时,数据处理单元920会依据 第二回报答案906的类型进行对应的操作;当第二回报答案906’的数量大于 1时,数据处理单元920会再依据第二回报答案906’整理成一个第二候选列 表908’并控制显示单元940予以显示。接着,再依据用户下一个输入语音以 选择对应的部分,再依据后续回报答案的数量进行对应的操作,此可参照上 述说明类推得知,在此则不再赘述。

进一步来说,数据处理单元920会将结构化数据库220的多个记录 302(例如标题字段304中的各分字段308的数值数据)与第一输入语音SP1 对应的第一关键字904进行比对(如前面对图1、图3A、3B、3C所述)。当 结构化数据库220某个记录302与第一输入语音SP1的第一关键字904为至 少部分匹配时,则将此记录302视为第一输入语音SP1所产生的匹配结果(例 如图3A/3B的产生匹配结果)。其中,若匹配结果所属的文档数据为音乐文 件,则记录302可包括歌曲名称、歌手、专辑名称、出版时间、播放次序、… 等;若文档数据为影像文件,则记录302可包括影片名称、出版时间、工作 人员(包含演出人员)、…等;若文档数据为网页文件,则记录302可包括 网站名称、网页类型、对应的使用者帐户、…等;若文档数据为图片文件, 则记录302可包括图片名称、图片信息、…等;若文档数据为名片文件,则 记录302可包括连络人名称、连络人电话、连络人地址、…等。上述记录 302为举例以说明,且记录302可依据实际应用而定,本发明实施例不以此 为限。

接着,数据处理单元920可判断第二输入语音SP2对应的第二关键字 904’是否包含指示顺序的一顺序词汇(例如“我要第三个选项”或“我选第三 个”)。当第二输入语音SP2对应的第二关键字904’包含指示顺序的顺序词汇 时,则数据处理单元920依据顺序词汇自第一候选列表908中选择位于对应 位置的数据。当第二输入语音SP2对应的第二关键字904’未包含指示顺序的 顺序词汇时,表示用户可能直接选取第一候选列表908中某个第一回报答案 906,则数据处理单元920将第一候选列表908中各个第一回报答案906所 对应的记录302与第二关键字904’进行比对,以决定第一回报答案906与第 二输入语音SP2的对应程度,再依据对应程度决定第一候选列表908中是否 有某个第一回报答案906对应第二输入语音SP2。在本发明的一实施例中, 数据处理单元920可依据第一回报答案906对第二关键字904’的对应程度 (例如完全匹配或是部分匹配的程度),来决定第一候选列表906中是否有某 个第一回报答案906与第二输入语音SP2产生对应,藉以简化选择的流程。 其中,数据处理单元920可选择数据中对应程度为最高者为对应第二输入语 音SP2。

举例来说,若第一输入语音SP1为“今天天气怎样”,在进行语音识别及 自然语言处理后,第一输入语音SP1对应的第一关键字904会包括“今天” 及“天气”,因此数据处理单元920会读取对应今天天气的数据,并且通过显 示单元930显示这些天气数据作为第一候选列表908。接着,若第二输入语 音SP2为“我要看第3笔数据”或“我选择第3笔”,在进行语音识别及自然语 言处理后,第二输入语音SP2对应的第二关键字904’会包括“第3笔”,在此 “第3笔”会被解读为指示顺序的顺序词汇,因此数据处理单元920会读取第 一候选列表908中第3笔数据(亦即第一候选列表908中的第三笔第一回报 答案906),并且再通过显示单元930显示对应的天气信息。或者,若第二输 入语音SP2为“我要看北京的天气”或“我选择北京的天气”,在进行语音识别 及自然语言处理后,第二输入语音SP2对应的第二关键字904’会包括“北京” 及“天气”,因此数据处理单元920会读取第一候选列表908中对应北京的数 据。当此项选择所对应的第一回报答案906数量为1时,可直接通过显示单 元930显示对应的天气信息;当所选择的第一回报答案906数量大于1时, 则再显示进一步的第二候选列表908’(包含至少一个第二回报答案906’)供使 用者进一步选择。

若第一输入语音SP1为“我要打电话给老张”,在进行语音识别及自然语 言处理后,第一输入语音SP1对应的第一关键字904会包括“电话”及“张”, 因此数据处理单元920会读取对应姓“张”的连络人数据(可通过对结构化数 据库220进行全文检索,再取得对应于记录302的详细数据),并且通过显 示单元930显示这些连络人数据(亦即第一回报答案906)的第一候选列表 908。接着,若第二输入语音SP2为“第3个老张”或“我选择第3个”,在进 行语音识别及自然语言处理后,第二输入语音SP2对应的第二关键字904’ 会包括“第3个”,在此“第3个”会被解读为指示顺序的顺序词汇,因此数据 处理单元920会读取第一候选列表908中的第3笔数据(亦即第三个第一回 报答案906),并且依据所选择的数据进行拨接。或者,若第二输入语音SP2 为“我选139开头的”,在进行语音识别及自然语言处理后,第二输入语音SP2 对应的第二关键字904’会包括“139”及“开头”,在此“139”不会被解读为指示 顺序的顺序词汇,因此数据处理单元920会读取第一候选列表908中电话号 码为139开头的连络人数据;若第二输入语音SP2为“我要北京的老张”,在 进行语音识别及自然语言处理后,第二输入语音SP2对应的第二关键字904’ 会包括“北京”及“张”,数据处理单元920会读取第一候选列表908中地址为 北京的连络人数据。当所选择的第一回报答案906数量为1时,则依据所选 择的数据进行拨接;当所选择的第一回报答案906数量大于1,则将此时所 选取的第一回报答案906作为第二回报答案906’,并整理成一第二候选列表 908’显示予用户供其选择。

若第一输入语音SP1为“我要找餐厅”,在进行语音识别及自然语言处理 后,第一输入语音SP1的第一关键字904会包括“餐厅”,数据处理单元920 会读取所有对应于餐厅第一回报答案906,由于这样的指示并不是很明确, 所以将通过显示单元930显示第一候选列表908(包含对应于所有餐厅数据的 第一回报答案906)予用户,并等用户进一步的指示。接着,若用户通过第二 输入语音SP2输入“第3个餐厅”或“我选择第3个”时,在进行语音识别及自 然语言处理后,第二输入语音SP2对应的第二关键字904’会包括“第3个”, 在此“第3个”会被解读为指示顺序的顺序词汇,因此数据处理单元920会读 取第一候选列表908中第3笔数据,并且依据所选择的数据进行显示。或者, 若第二输入语音SP2为“我选最近的”,在进行语音识别及自然语言处理后, 第二输入语音SP2对应的第二关键字904’会包括“最近的”,因此数据处理单 元920会读取第一候选列表908中地址与使用者最近的餐厅数据;若第二输 入语音SP2为“我要北京的餐厅”,在进行语音识别及自然语言处理后,第二 输入语音SP2对应的第二关键字904’会包括“北京”及“餐厅”,因此数据处理 单元920会读取第一候选列表908中地址为北京的餐厅数据。当所选择第一 回报答案906的数量为1时,则依据所选择的数据进行显示;当所选择的第 一回报答案906数量大于1,则将此时所选取的第一回报答案906作为第二 回报答案906’,并整理成一第二候选列表908’显示予使用者供其选择。

依据上述,数据处理单元920可依据所选择第一回报答案906(或第二 回报答案906’)的文档数据进行对应的操作。举例来说,当所选择第一回报 答案906对应的文档数据为一音乐文件,则数据处理单元920依据所选择的 数据进行音乐播放;当所选择的文档数据为一影像文件,则数据处理920单 元依据所选择的数据进行影像播放;当所选择的文档数据为一网页文件,则 数据处理单元920依据所选择的数据进行显示;当所选择的文档数据为一图 片文件,则数据处理单元920依据所选择的数据进行图片显示;当所选择的 数据的类型为一名片文件,则数据处理单元920依据所选择的数据进行拨 接。

图10为依据本发明一实施例的信息系统的系统示意图。请参照图9及 图10,在本实施例中,信息系统1000包括移动终端装置1010及伺服器1020, 其中伺服器1020可以是云端伺服器、区域网路伺服器、或其他类似装置, 但本发明实施例不以此为限。移动终端装置1010包括语音接收单元1011、 数据处理单元1013及显示单元1015。数据处理单元1013耦接语音接收单 元1011、显示单元1015及伺服器1020。移动终端装置1010可以是移动电 话(Cell phone)、个人数字助理(Personal Digital Assistant,PDA)手机、 智能型手机(Smart phone)等移动通讯装置,本发明亦不对此加以限制。语 音接收单元1011的功能相似于语音接收单元910,显示单元1015的功能相 似于显示单元930。伺服器1020用以储存多个数据且具有语音识别功能。

在本实施例中,数据处理单元1013会通过伺服器1020对第一输入语音 SP1进行语音识别以产生第一请求信息902,再对第一请求信息902进行自 然语言处理以产生对应第一输入语音SP1的第一关键字904,并且伺服器 1020会依据第一关键字904对结构化数据库220进行全文检索以找出第一 回报答案906后并传送至数据处理单元1013。当第一回报答案906的数量 为1时,数据处理单元1013会依据第一回报答案906所对应的文档数据进 行对应的操作;当第一回报答案906的数量大于1时,数据处理单元1013 将此时所选择的第一回报答案906整理成第一候选列表908后控制显示单元 1015显示予用户,并等候用户进一步的指示。当用户又输入指示后,接着, 数据处理单元1013会通过伺服器1020对第二输入语音PS2进行语音识别以 产生第二请求信息902’,再对第二请求信息902’进行分析与自然语言处理以 产生对应第二输入语音SP2的第二关键字904’,并且伺服器1020依据第二 输入语音SP2对应的第二关键字904’从第一候选列表908中挑选对应的第一 回报答案906作为第二回报答案906’,并传送至数据处理单元1013。类似 地,当此时对应的第二回报答案906的数量为1时,数据处理单元920会依 据第二回报答案906所对应的数据的类型进行对应的操作;当第二回报答案 906的数量大于1时,数据处理单元1013会再此时所选择的第二回报答案 906整理成一第二候选列表908’后,再控制显示单元1015显示予用户做进 一步选择。接着,伺服器1020会再依据后续输入语音选择对应的部分,并 且数据处理单元1013会再依据选择的数据的数量进行对应的操作,此可参 照上述说明类推得知,在此则不再赘述。

应注意的是,在一实施例中,若依据第一输入语音SP1对应的第一关 键字904所选择的第一回报答案906数量为1时,可以直接进行该数据对应 的操作。此外,在另一实施例中,可以先输出一个提示予用户,以通知用户 所选择的第一回报答案906的对应操作将被执行。再者,在又一实施例中, 亦可在依据第二输入语音SP2对应的第二关键字904’所选择的第二回报答 案906数量为1时,直接进行该数据对应的操作。当然,在另一实施例中, 亦可以先输出一个提示予用户,以通知用户所选择的数据的对应操作将被执 行,本发明对此都不加以限制。

进一步来说,伺服器1020会将结构化数据库220各个记录302与第一 输入语音SP1对应的第一关键字904进行比对。当各个记录302与第一关键 字904为至少部分匹配时,则将此记录302视为第一输入语音SP1所匹配的 数据,并将此记录302作为第一回报答案906的一者。若依据第一输入语音 SP1对应的第一关键字904所选择的第一回报答案906数量大于1时,用户 可能再通过第二输入语音SP2输入指示。由于用户此时通过第二输入语音 SP2所输入的指示可能包含顺序(用以指示选择显示信息中的第几项等顺 序)、直接选定显示信息中的某一者(例如直接指示某项信息的内容)、或是依 据指示判定用户的意图(例如选取最近的餐厅,就会用显示“最近”的餐厅给 用户),于是伺服器1020接着将判断第二输入语音SP2对应的第二关键字 904’是否包含指示顺序的一顺序词汇。当第二输入语音SP2对应的第二关键 字904’包含指示顺序的顺序词汇时,则伺服器1020依据顺序词汇自第一候 选列表908中选择位于对应位置的第一回报答案906。当第二输入语音SP2 对应的第二关键字904’未包含指示顺序的顺序词汇时,则伺服器1020将第 一候选列表908中各个第一回报答案906与第二输入语音SP2对应的第二关 键字904’进行比对,以决定第一回报答案906与第二输入语音SP2的对应程 度,并可依据这些对应程度决定第一候选列表908中第一回报答案906是否 对应第二输入语音SP2。在本发明的一实施例中,伺服器1020可依据第一 回报答案906与第二关键字904’的对应程度决定第一候选列表908中的那些 第一回报答案906对应第二输入语音SP2,以简化选择的流程。其中,伺服 器1020可选择第一回报答案906中对应程度为最高者为对应于第二输入语 音SP2者。

图11为依据本发明一实施例的基于语音识别的选择方法的流程图。请 参照图11,在本实施例中,会接收第一输入语音(步骤S1100),并且对第 一输入语音SP1进行语音识别以产生第一请求信息902(步骤S1110),再 对第一请求信息902进行分析自然语言处理以产生对应第一输入语音的第 一关键字904(步骤S1120)。接着,会依据第一关键字904从多个数据中 选择对应的第一回报答案906(步骤S1130),并且判断所选择的第一回报 答案906数量是否为1(步骤S1140)。当所选择第一回报答案906的数量 为1时,亦即步骤S1140的判断结果为“是”,则依据第一回报答案906所对 应的文档数据进行对应的操作(步骤S1150)。当所选择第一回报答案906 的数量大于1时,亦即步骤S1140的判断结果为“否”,依据所选择第一回报 答案906显示第一候选列表908且接收第二输入语音SP2(步骤S1160), 并且对第二输入语音进行语音识别以产生第二请求信息902’(步骤S1170), 再对第二请求信息902’进行分析与自然语言处理以产生对应第二输入语音 的第二关键字904’(步骤S1180)。接着,依据第二请求信息902从第一候 选列表908中的第一回报答案906选择对应的部分,再回到步骤S1140判断 判断所选择第一回报答案906的数量是否为1(步骤S1190)。其中,上述 步骤的顺序为用以说明,本发明实施例不以此为限。并且,上述步骤的细节 可参照图9及图10实施例,在此则不再赘述。

综上所述,本发明实施例的基于语音识别的选择方法及其移动终端装置 及信息系统,其对第一输入语音及第二输入语音进行语音识别及自然语言处 理以确认第一输入语音及第二输入语音对应的关键字,再依据第一输入语音 及第二输入语音对应的关键字对回报答案进行选择。藉此,可提升使用者操 作的便利性。

接下来针对本发明所揭示的自然语言理解系统100与结构化数据库220 等架构与构件,与辅助启动装置相结合的操作实例做说明。

图12是依照本发明一实施例所绘示的语音操控系统的方块图。请参照 图12,语音操控系统1200包括辅助启动装置1210、移动终端装置1220以 及伺服器1230。在本实施例中,辅助启动装置1210会通过无线传输信号, 来启动移动终端装置1220的语音系统,使得移动终端装置1220根据语音信 号与伺服器1230进行沟通。

详细而言,辅助启动装置1210包括第一无线传输模块1212以及触发模 块1214,其中触发模块1214耦接于第一无线传输模块1212。第一无线传输 模块1212例如是支援无线相容认证(Wireless fidelity,Wi-Fi)、全球互通 微波存取(Worldwide Interoperability for Microwave Access,WiMAX)、蓝 芽(Bluetooth)、超宽频(ultra-wideband,UWB)或射频识别(Radio-frequency  identification,RFID)等通讯协议的装置,其可发出无线传输信号,以和另 一无线传输模块彼此对应而建立无线连结。触发模块1214例如为按钮、按 键等。在本实施例中,当使用者按压此触发模块1214产生一触发信号后, 第一无线传输模块1212接收此触发信号而启动,此时第一无线传输模块 1212会发出无线传输信号,并通过第一无线传输模块1212传送此无线传输 信号至移动终端装置1220。在一实施例中,上述的辅助启动装置1210可为 一蓝牙耳机。

值得注意的是,虽然目前有些免持的耳机/麦克风亦具有启动移动终端 装置1220某些功能的设计,但本发明的另一实施例中,辅助启动装置1210 可以不同于上述的耳机/麦克风。上述的耳机/麦克风藉由与移动终端装置的 连线,以取代移动终端装置1220上的耳机/麦克风而进行听/通话,启动功能 为附加设计,但本发明的辅助启动装置1210“仅”用于开启移动终端装置1220 中的语音系统,并不具有听/通话的功能,故内部的电路设计可简化,成本 也较低。换言之,相对于上述的免持耳机/麦克风而言,辅助启动装置1210 是另外装置,即使用者可能同时具备免持的耳机/麦克风以及本发明的辅助 启动装置1210。

此外,上述的辅助启动装置1210的形体可以是使用者随手可及的用品, 例如戒指、手表、耳环、项链、眼镜等装饰品,即各种随身可携式物品,或 者是安装构件,例如为配置于方向盘上的行车配件,不限于上述。也就是说, 辅助启动装置1210为“生活化”的装置,通过内部系统的设置,让使用者能 够轻易地触碰到触发模块1214,以开启语音系统。举例来说,当辅助启动 装置1210的形体为戒指时,使用者可轻易地移动手指来按压戒指的触发模 块1214使其被触发。另一方面,当辅助启动装置1210的形体为配置于行车 配件的装置时,使用者亦能够在行车期间轻易地触发行车配件装置的触发模 块1214。此外,相较于配戴耳机/麦克风进行听/通话的不舒适感,使用本发 明的辅助启动装置1210可以将移动终端装置1220中的语音系统开启,甚至 进而开启扩音功能(后将详述),使得使用者在不需配戴耳机/麦克风,仍可直 接通过移动终端装置1220进行听/通话。另外,对于使用者而言,这些“生 活化”的辅助启动装置1210为原本就会配戴或使用的物品,故在使用上不会 有不习惯或是不舒适感的问题,即不需要花时间适应。举例来说,当使用者 在厨房做菜时,需要拨打放置于客厅的移动电话时,假设其配戴具有戒指、 项链或手表形体的本发明的辅助启动装置1210,就可以轻触戒指、项链或 手表以开启语音系统以询问友人食谱细节。虽然目前部份具有启动功能的耳 机/麦克风亦可以达到上述的目的,但是在每次做菜的过程中,并非每次都 需要拨打电话请教友人,故对于使用者来说,随时配戴耳机/麦克风做菜, 以备随时操控移动终端装置可说是相当的不方便。

在其他实施例中,辅助启动装置1210还可配置有无线充电电池1216, 用以驱动第一无线传输模块1212。进一步而言,无线充电电池1216包括电 池单元12162以及无线充电模块12164,其中无线充电模块12164耦接于电 池单元12162。在此,无线充电模块12164可接收来自一无线供电装置(未 绘示)所供应的能量,并将此能量转换为电力来对电池单元12162充电。如 此一来,辅助启动装置1210的第一无线传输模块1212可便利地通过无线充 电电池1216来进行充电。

另一方面,移动终端装置1220例如为移动电话(Cell phone)、个人数 字助理(Personal Digital Assistant,PDA)手机、智能型手机(Smart phone), 或是安装有通讯软件的掌上型计算机(Pocket PC)、平板型计算机(Tablet  PC)或笔记型计算机等等。移动终端装置1220可以是任何具备通讯功能的 可携式(Portable)移动装置,在此并不限制其范围。此外,移动终端装置 1220可使用Android操作系统、Microsoft操作系统、Android操作系统、Linux 操作系统等等,不限于上述。

移动终端装置1220包括第二无线传输模块1222,第二无线传输模块 1222能与辅助启动装置1210的第一无线传输模块1212相匹配,并采用相 对应的无线通讯协议(例如无线相容认证、全球互通微波存取、蓝芽、超宽 频通讯协议或射频识别等通讯协议),藉以与第一无线传输模块1212建立 无线连结。值得注意的是,在此所述的“第一”无线传输模块1212、“第二” 无线传输模块1222是用以说明无线传输模块配置于不同的装置,并非用以 限定本发明。

在其他实施例中,移动终端装置1220还包括语音系统1221,此语音系 统1221耦接于第二无线传输模块1222,故使用者触发辅助启动装置1210 的触发模块1214后,能通过第一无线传输模块1212与第二无线传输模块 1222无线地启动语音系统1221。在一实施例中,此语音系统1221可包括语 音取样模块1224、语音合成模块1226以及语音输出接口1227。语音取样模 块1224用以接收来自使用者的语音信号,此语音取样模块1224例如为麦克 风(Microphone)等接收音讯的装置。语音合成模块1226可查询一语音合成数 据库,而此语音合成数据库例如是记录有文字以及其对应的语音的信息,使 得语音合成模块1226能够找出对应于特定文字讯息的语音,以将文字讯息 进行语音合成。之后,语音合成模块1226可将合成的语音通过语音输出接 口1227输出,藉以播放予使用者。上述的语音输出接口1227例如为喇叭或 耳机等。

另外,移动终端装置1220还可配置有通讯模块1228。通讯模块1228 例如是能传递与接收无线讯号的元件,如射频收发器。进一步而言,通讯模 块1228能够让使用者通过移动终端装置1220接听或拨打电话或使用电信业 者所提供的其他服务。在本实施例中,通讯模块1228可通过网际网路接收 来自伺服器1230的应答信息,并依据此应答信息建立移动终端装置1220与 至少一电子装置之间的通话连线,其中所述电子装置例如为另一移动终端装 置(未绘示)。

伺服器1230例如为网路伺服器或云端伺服器等,其具有语音理解模块 1232。在本实施例中,语音理解模块1232包括语音识别模块12322以及语 音处理模块12324,其中语音处理模块12324耦接于语音识别模块12322。 在此,语音识别模块12322会接收从语音取样模块1224传来的语音信号, 以将语音信号转换成多个分段语义(例如关键字或字句等)。语音处理模块 12324则可依据这些分段语义而解析出这些分段语义所代表的意指(例如意 图、时间、地点等),进而判断出上述语音信号中所表示的意思。此外,语 音处理模块12324还会根据所解析的结果产生对应的应答信息。在本实施例 中,语音理解模块1232可由一个或数个逻辑门组合而成的硬件电路来实作, 亦可以是以计算机程序码来实作。值得一提的是,在另一实施例中,语音理 解模块1232可配置于移动终端装置1320中,如图13所示的语音操控系统 1300。上述伺服器1230的语音理解模块1232的操作,可如图1A的自然语 言理解系统100、图5A/7A/7B的自然语言对话系统500/700/700’。

以下即结合上述语音操控系统1200来说明语音操控的方法。图14是依 照本发明一实施例所绘示的语音操控方法的流程图。请同时参照图12及图 14,于步骤S1402中,辅助启动装置1210发送无线传输信号至移动终端装 置1220。详细的说明是,当辅助启动装置1210的第一无线传输模块1212 因接收到一触发信号被触发时,此辅助启动装置1210会发送无线传输信号 至移动终端装置1220。具体而言,当辅助启动装置1210中的触发模块1214 被使用者按压时,此时触发模块1214会因触发信号被触发,而使第一无线 传输模块1212发送无线传输信号至移动终端装置1220的第二无线传输模块 1222,藉以使得第一无线传输模块1212通过无线通讯协议与第二无线传输 模块1222连结。上述的辅助启动装置1210仅用于开启移动终端装置1220 中的语音系统,并不具有听/通话的功能,故内部的电路设计可简化,成本 也较低。换言之,相对于一般移动终端装置1220所附加的免持耳机/麦克风 而言,辅助启动装置1210是另一装置,即使用者可能同时具备免持的耳机/ 麦克风以及本发明的辅助启动装置1210。

值得一提的是,上述的辅助启动装置1210的形体可以是使用者随手可 及的用品,例如戒指、手表、耳环、项链、眼镜等各种随身可携式物品,或 者是安装构件,例如为配置于方向盘上的行车配件,不限于上述。也就是说, 辅助启动装置1210为“生活化”的装置,通过内部系统的设置,让使用者能 够轻易地触碰到触发模块1214,以开启语音系统1221。因此,使用本发明 的辅助启动装置1210可以将移动终端装置1220中的语音系统1221开启, 甚至进而开启扩音功能(后将详述),使得使用者在不需配戴耳机/麦克风,仍 可直接通过移动终端装置1220进行听/通话。此外,对于使用者而言,这些 “生活化”的辅助启动装置1210为原本就会配戴或使用的物品,故在使用上 不会有不习惯或是不舒适感的问题。

此外,第一无线传输模块1212与第二无线传输模块1222皆可处于睡眠 模式或工作模式。其中,睡眠模式指的是无线传输模块为关闭状态,亦即无 线传输模块不会接收/侦测无线传输信号,而无法与其它无线传输模块连结。 工作模式指的是无线传输模块为开启状态,亦即无线传输模块可不断地侦测 无线传输信号,或随时发送无线传输信号,而能够与其它无线传输模块连结。 在此,当触发模块1214被触发时,倘若第一无线传输模块1212处于睡眠模 式,则触发模块1214会唤醒第一无线传输模块1212,使第一无线传输模块 1212进入工作模式,并使第一无线传输模块1212发送无线传输信号至第二 无线传输模块1222,而让第一无线传输模块1212通过无线通讯协议与移动 终端装置1220的第二无线传输模块1222连结。

另一方面,为了避免第一无线传输模块1212持续维持在工作模式而消 耗过多的电力,在第一无线传输模块1212进入工作模式后的预设时间(例 如为5分钟)内,倘若触发模块1214未再被触发,则第一无线传输模块1212 会自工作模式进入睡眠模式,并停止与移动终端装置1220的第二无线传输 模块1220连结。

之后,于步骤S1404中,移动终端装置1220的第二无线传输模块1222 会接收无线传输信号,以启动语音系统1221。接着,于步骤S1406,当第二 无线传输模块1222侦测到无线传输信号时,移动终端装置1220可启动语音 系统1221,而语音系统的1221取样模块1224可开始接收语音信号,例如 「今天温度几度?」、「打电话给老王。」、「请查询电话号码。」等等。

于步骤S1408,语音取样模块1224会将上述语音信号传送至伺服器1230 中的语音理解模块1232,以通过语音理解模块1232解析语音信号以及产生 应答信息。进一步而言,语音理解模块1232中的语音识别模块12322会接 收来自语音取样模块1224的语音信号,并将语音信号分割成多个分段语义, 而语音处理模块12324则会对上述分段语义进行语音理解,以产生用以回应 语音信号的应答信息。

在本发明的另一实施例中,移动终端装置1220更可接收语音处理模块 12324所产生的应答信息,据以通过语音输出接口1227输出应答信息中的 内容或执行应答信息所下达的操作。于步骤S1410,移动终端装置1220的 语音合成模块1226会接收语音理解模块1232所产生的应答信息,并依据应 答信息中的内容(例如词汇或字句等)进行语音合成,而产生语音应答。并 且,于步骤S1412,语音输出接口1227会接收并输出此语音应答。

举例而言,当使用者按压辅助启动装置1210中的触发模块1214时,第 一无线传输模块1212则会发送无线传输信号至第二无线传输模块1222,使 得移动终端装置1220启动语音系统1221的语音取样模块1224。在此,假 设来自使用者的语音信号为一询问句,例如「今天温度几度?」,则语音取 样模块1224便会接收并将此语音信号传送至伺服器1230中的语音理解模块 1232进行解析,且语音理解模块1232可将解析所产生的应答信息传送回移 动终端装置1220。假设语音理解模块1232所产生的应答信息中的内容为 「30℃」,则语音合成模块1226会将此「30℃」的讯息合成为语音应答, 且语音输出接口1227能将此语音应播报给使用者。

在另一实施例中,假设来自使用者的语音信号为一命令句,例如「打电 话给老王。」,则语音理解模块1232中可识别出此命令句为「拨电话给老 王的请求」。此外,语音理解模块1232会再产生新的应答信息,例如「请 确认是否拨给老王」,并将此新的应答信息传送至移动终端装置1220。在 此,语音合成模块1226会将此新的应答信息合成为语音应答,并通过语音 输出接口1227播报于使用者。更进一步地说,当使用者的应答为「是」的 类的肯定答案时,类似地,语音取样模块1224可接收并传送此语音信号至 伺服器1230,以让语音理解模块1232进行解析。语音理解模块1232解析 结束后,便会在应答信息记录有一拨号指令信息,并传送至移动终端装置 1220。此时,通讯模块1228则会依据电话数据库所记录的联络人信息,查 询出「老王」的电话号码,以建立移动终端装置1220与另一电子装置之间 的通话连线,亦即拨号给「老王」。

在其他实施例中,除上述的语音操控系统1200外,亦可利用语音操控 系统1300或其他类似的系统,进行上述的操作方法,并不以上述的实施例 为限。

综上所述,在本实施例的语音操控系统与方法中,辅助启动装置能够无 线地开启移动终端装置的语音功能。而且,此辅助启动装置的形体可以是使 用者随手可及的“生活化”的用品,例如戒指、手表、耳环、项链、眼镜等 装饰品,即各种随身可携式物品,或者是安装构件,例如为配置于方向盘上 的行车配件,不限于上述。如此一来,相较于目前另外配戴免持耳机/麦克 风的不舒适感,使用本发明的辅助启动装置1210来开启移动终端装置1220 中的语音系统将更为便利。

值得注意的是,上述具有语音理解模块的伺服器1230可能为网路伺服 器或云端伺服器,而云端伺服器可能会涉及到使用者的隐私权的问题。例如, 使用者需上传完整的通讯录至云端伺服器,才能完成如拨打电话、发简讯等 与通讯录相关的操作。即使云端伺服器采用加密连线,并且即用即传不保存, 还是难以消除使用者的担优。据此,以下提供另一种语音操控的方法及其对 应的语音交互系统,移动终端装置可在不上传完整通讯录的情况下,与云端 伺服器来执行语音交互服务。为了使本发明的内容更为明了,以下特举实施 例作为本发明确实能够据以实施的范例。

虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的 技术人员在不脱离本发明的精神和范围的前提下,可作些许的更动与润饰, 故本发明的保护范围是以本发明的权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号