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

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

【发明内容】

[0006]本发明提供一种检索方法以及检索系统,其对结构化数据库进行全文检索,而使全文检索所获得的搜寻结果是非常有意义的结构化的数据。
[0007]本发明又提供一种自然语言理解系统,藉由对结构化数据库进行全文检索来辅助判断用户的请求信息所表示的意图。
[0008]本发明提出一种检索系统,其包括:结构化数据库以及搜寻引擎。结构化数据库储存具有多个记录。搜寻引擎对结构化数据库进行全文检索,其中结构化数据库每个记录内部的所包含的数值数据相互间具有关联性,且数值数据共同用以表达来自用户的请求信息对该记录的意图。该搜寻引擎用以对该结构化数据库进行一全文检索,其中在该数值数据被匹配时,对应于该数值数据的指引数据被输出以确认该请求信息的意图。
[0009]本发明提出一种自然语言理解系统,其包括:自然语言处理器、知识辅助理解模块以及检索系统。自然语言处理器将用户的请求信息,分析成至少一可能意图语法数据,每一可能意图语法数据包括至少一关键字及意图数据。耦接至自然语言处理器的知识辅助理解模块用以求得至少一可能意图语法数据中的确定意图语法数据,以表达用户的请求信息的意图。前述检索系统包括结构化数据库以及搜寻引擎。结构化数据库储存多个记录。搜寻引擎对结构化数据库进行全文检索。知识辅助理解模块传送关键字给检索系统,藉由检索系统的回应,以辅助求得确定意图语法数据。
[0010]本发明提出一种检索方法,此方法首先提供结构化数据库,此结构化数据库储存具有多个记录。而后,对结构化数据库进行全文检索。
[0011]根据本发明的一实施例中,前述的每个记录包括了标题字段,此标题字段内包括至少一分字段,每一分字段包括指引字段以及数值字段,前述记录的指引字段储存指引数据,前述记录的数值字段储存数值数据。
[0012]根据本发明的一实施例中,前述的每个记录还包括内容字段,前述记录的内容字段储存前述记录的内容细节数据。
[0013]根据本发明的一实施例中,当前述记录的标题字段中储存有多个分字段的数据时,于各分字段的数据间储存第一特殊字符,用以分隔各分字段的数据,于指引字段与数值字段的数据间储存第二特殊字符,用以分隔指引字段与数值字段的数据。
[0014]根据本发明的一实施例中,标题字段中的分字段具有固定位数。
[0015]本发明提出一种检索系统,包括一结构化数据库,用以储存至少一记录,其中每个该记录包含至少一字段,其中该字段所储存的数据是共同用以描述该记录的属性;以及一搜寻引擎,用以依据一请求信息的一关键字对该结构化数据库进行一全文检索,其中在该结构化数据库的至少一该记录与该关键字产生匹配时,输出对应于该字段的一指引数据以确认该请求信息的意图。
[0016]本发明提出一种检索方法,包括:输入一关键字,其中该关键字是由一请求信息所产生;以及依据该关键字对一结构化数据库进行一全文检索,其中该结构化数据库储存至少一记录,其中每个该记录包含至少一字段,其中该字段所储存的数据是共同用以描述该记录的属性;其中在该结构化数据库的至少一该记录与该关键字产生匹配时,输出对应于该字段的一指引数据以确认该请求信息的意图。
[0017]基于上述,本发明藉由将用户的请求信息所包括的关键字,来对结构化数据库中具有特定数据结构的记录进行全文检索,以辅助判断出用户在请求信息中所表示的意图。
[0018]为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。
【专利附图】

【附图说明】
[0019]图1为根据本发明的一实施例的自然语言理解系统的方块图。[0020]图2为根据本发明的一实施例的自然语言处理器对用户的各种请求信息的分析结果的示意图。
[0021]图3A是根据本发明的一实施例的结构化数据库所储存的具有特定数据结构的多个记录的示意图。
[0022]图3B是根据本发明的另一实施例的结构化数据库所储存的具有特定数据结构的多个记录的示意图。
[0023]图3C是根据本发明的一实施例的指引数据储存装置所储存的指引数据的示意图。
[0024]图4A为根据本发明的一实施例的检索方法的流程图。
[0025]图4B为根据本发明的另一实施例的自然语言理解系统工作过程的流程图。
[0026]图5A是依照本发明一实施例所绘示的自然语言对话系统的方块图。
[0027]图5B是依照本发明一实施例所绘示的自然语言理解系统的方块图。
[0028]图5C是依照本发明另一实施例所绘示的自然语言对话系统的方块图。
[0029]图6是依照本发明一实施例所绘示的修正语音应答的方法流程图。
[0030]图7A是依照本发明一实施例所绘示的自然语言对话系统的方块图。
[0031]图7B是依照本发明另一实施例所绘示的自然语言对话系统的方块图。
[0032]图8A是依照本发明一实施例所绘示的自然语言对话方法流程图。
[0033]图SB是根据本发明的再一实施例的结构化数据库所储存的具有特定数据结构的多个记录的示意图。
[0034]图9为依据本发明一实施例的移动终端装置的系统示意图。
[0035]图10为依据本发明一实施例的信息系统的系统示意图。
[0036]图11为依据本发明一实施例的基于语音识别的选择方法的流程图。
[0037]图12是依照本发明一实施例所绘示的语音操控系统的方块图。
[0038]图13是依照本发明另一实施例所绘示的语音操控系统的方块图。
[0039]图14是依照本发明一实施例所绘示的语音操控方法的流程图。
[0040]附图符号说明
[0041]100、520、520’、720、720’:自然语言理解系统
[0042]102、503、503’、703、902、902’:请求信息
[0043]104:分析结果
[0044]106:可能意图语法数据
[0045]108、509、509,、711、904、904,:关键字
[0046]110:回应结果
[0047]112:意图数据
[0048]114:确定意图语法数据
[0049]116:分析结果输出模块
[0050]200:检索系统
[0051]220:结构化数据库
[0052]240:搜寻引擎
[0053]260:检索接口单元[0054]280:指引数据储存装置
[0055]300:自然语言处理器
[0056]302、832、834、836、838:记录
[0057]304:标题字段
[0058]306:内容字段
[0059]308:分字段
[0060]310:指引字段
[0061]312:数值字段
[0062]314:来源字段
[0063]316:热度字段
[0064]318,852,854:喜好字段
[0065]320,862,864:厌恶字段
[0066]400:知识辅助理解模块
[0067]500、500’、700、700’:自然语言对话系统
[0068]501、701:语首输入
[0069]507、507,、707:语音应答
[0070]510、710:语音取样模块
[0071]511、511’、711、906、906’:回报答案
[0072]513、513’、713:语音
[0073]522、722:语音识别模块
[0074]524、724:自然语言处理模块
[0075]526、726:语音合成模块
[0076]530,740:语音合成数据库
[0077]702:语音综合处理模块
[0078]715:用户喜好数据
[0079]717:用户喜好记录
[0080]730:特性数据库
[0081]872、874:字段
[0082]900、1010:移动终端装置
[0083]908>908>:候选列表
[0084]910、1011:语音接收单元
[0085]920、1013:数据处理单元
[0086]9:30、1015:显示单元
[0087]940:存储单元
[0088]1000:信息系统
[0089]1020:伺服器
[0090]SPl:第一语音
[0091]SP2:第二语音
[0092]1200、1300:语音操控系统[0093]1210:辅助启动装置
[0094]1212、1222:无线传输模块
[0095]1214:触发模块
[0096]1216:无线充电电池
[0097]12162:电池单元
[0098]12164:无线充电模块
[0099]1220、1320:移动终端装置
[0100]1221:语音系统
[0101]1224:语音取样模块
[0102]1226:语音合成模块
[0103]1227:语音输出接口
[0104]1228:通讯模块
[0105]1230:(云端)伺服器
[0106]1232:语音理解模块
[0107]12322:语音识别模块
[0108]12324:语音处理模块
[0109]S410?S450:根据本发明一实施例的检索方法的步骤
[0110]S510?S590:根据本发明一实施例的自然语言理解系统工作过程的步骤
[0111]S602、S604、S606、S608、S610、S612:修正语音应答的方法各步骤
[0112]S802?S890:根据本发明一实施例的自然语言对话方法各步骤
[0113]SllOO?S1190:依据本发明一实施例的基于语音识别的选择方法的各步骤
[0114]S1402?S1412:依据本发明一实施例的语音操控方法的各步骤
【具体实施方式】
[0115]由于现有运用固定词列表的实施方式只能提供僵化的输入规则,对于用户多变的输入语句的判断能力十分不足,所以常导致对用户的意图判断错误而找不到所需的信息、或是因为判断力不足而输出不必要的信息给用户等问题。此外,现有的搜寻引擎只能对用户提供分散、且相关不强的搜寻结果,于是用户还要花时间逐条检视才能过滤出所需信息,不仅浪费时间而且可能漏失所需信息。本发明即针对现有技术的前述问题提出一结构化数据的检索方法与系统,在结构化数据提供特定的字段来储存不同类型的数据元素,俾提供用户使用自然语音输入信息进行检索时,能快速且正确地判断用户的意图,进而提供所需信息予用户、或提供更精确讯息供其选取。
[0116]图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进行全文检索。
[0117]当用户对自然语言理解系统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所输出的信息,本发明对此不予以限制。
[0118]上述的分析结果输出模块116可视情况与其他模块相结合,例如在一实施例中可并入知识辅助理解模块400中、或是在另一实施例中分离于自然语言理解系统100而位于伺服器(例如包含自然语言理解系统100者)中,于是伺服器将直接接收意图语法数据114再进行处理。此外,自然语言理解系统100可将意图数据112储存在模块内部的储存装置中、在自然语言理解系统100中、伺服器中(例如包含自然语言理解系统100者)、或是在任何可供知识辅助理解模块400可以撷取到的储存器中,本发明对此并不加以限定。再者,自然语言理解系统100包括检索系统200、自然语言处理器300以及知识辅助理解模块400可以用硬件、软件、固件、或是上述方式的各种结合方式来构筑,本发明亦未对此进行限制。
[0119]前述自然语言理解系统100可以位于云端伺服器中,也可以位于区域网路中的伺服器,甚或是位于个人计算机、移动计算机装置(如笔记型计算机)或移动通讯装置(如手机)等。自然语言理解系统100或检索系统200中的各构件也不一定需设置在同一机器中,而可视实际需要分散在不同装置或系统通过各种不同的通讯协议来连结。例如,自然语言理解处理器300及知识辅助理解模块400可配置于同一智能型手机内,而检索系统200可配置在另一云端伺服器中;或者是,检索接口单元260、自然语言理解处理器300及知识辅助理解模块400可配置于同一笔记型计算机内,而搜寻引擎240及结构化数据库220可配置于区域网路中的另一伺服器中。此外,当自然语言理解系统100皆位于伺服器时(不论是云端伺服器或区域网路伺服器),可以将检索系统200、自然语言理解处理器300、以及知识辅助理解模块400配置不同的计算机主机中,并由伺服器主系统来统筹其相互间的讯息与数据的传送。当然,检索系统200、自然语言理解处理器300、以及知识辅助理解模块400亦可视实际需求而将其中两者或全部合并在一计算机主机中,本发明并不对这部分的配置进行限制。
[0120]在本发明的实施例中,用户可以用各种方式来向自然语言处理器300发出请求信息,例如用说话的语音输入或是文字描述等方式来发出请求信息。举例来说,若自然语言理解系统100是位于云端或区域网路中的伺服器(未显示)内,则用户可先藉由移动装置(例如手机、PDA、平板计算机或类似系统)来输入请求信息102,接着再通过电信系统业者来将请求信息102传送至伺服器中的自然语言理解系统100,来让自然语言处理器300进行请求信息102的分析,最后伺服器于确认用户意图后,再通过分析结果输出模块116将对应的分析结果104通过伺服器的处理后,将用户所请求的信息传回用户的移动装置。举例来说,请求信息102可以是用户希望藉由自然语言理解系统100来求得答案的问题(例如"明天上海的天气怎么样啊〃),而自然语言理解系统100在分析出用户的意图是查询上海明天的天气时,将通过分析结果输出模块116将所查询的天气数据作为输出结果104送给用户。此夕卜,若用户对自然语言理解系统100所下的指令为〃我要看让子弹飞〃、〃我想听一起走过的日子〃时,因为“让子弹飞”或“一起走过的日子”可能包含不同的领域,所以自然语言处理器300会将用户的请求信息102分析成一个或一个以上的可能意图语法数据106,此可能意图语法数据106包括有关键字108及意图数据112,然后再经由对检索系统220中的结构化数据240进行全文检索后,进而确认用户的意图。
[0121]进一步来说,当用户的请求信息102为〃明天上海的天气怎么样啊?〃时,自然语言处理器300经过分析后,可产生一个可能意图语法数据106:
[0122]//<queryweather>,〈city〉=上海,〈时间 >=明天"。
[0123]在一实施例中,如果自然语言理解系统100认为用户的意图已相当明确,便可以直接将用户的意图(亦即查询明天上海的天气)通过分析结果输出模块116输出分析结果104至伺服器,而伺服器可在查询到用户所指定的天气候传送给用户。又例如,当用户的请求信息102为〃我要看三国演义〃时,自然语言处理器300经过分析后,可产生出三个可能意图语法数据106:
[0124]〃〈readbook>,〈bookname〉=三国演义”;
[0125]〃〈watchTV>,〈TVname〉=三国演义〃;以及
[0126]〃〈watchfilm>,〈filmname〉=三国演义"。
[0127]这是因为可能意图语法数据106中的关键字108(亦即“三国演义”)可能属于不同的领域,亦即书籍(〈readbook〉)、电视剧(〈watchTV〉)、以及电影(〈readfilm〉)三个领域,所以一个请求信息102可分析成多个可能意图语法数据106,因此需要通过知识辅助理解模块400做进一步分析,来确认用户的意图。再举另一个例子来说,若用户输入"我要看让子弹飞〃时,因其中的〃让子弹飞〃有可能是电影名称或是书名称,所以也可能出现至少以下两个可能意图语法数据106:
[0128]〃〈readbook>,〈bookname〉=让子弹飞〃;以及
[0129]〃〈watchfilm>,〈filmname〉=让子弹飞";
[0130]其分别属于书籍与电影两个领域。上述的可能意图语法数据106随后需通过知识辅助理解模块400做进一步分析,并从中求得确定意图语法数据114,来表达用户的请求信息的明确意图。当知识辅助理解模块400分析可能意图语法数据106时,知识辅助理解模块400可通过检索接口 260传送关键字108 (例如上述的“三国演义”或“让子弹飞”)给检索系统200。检索系统200中的结构化数据库220储存了具有特定数据结构的多个记录,而搜寻引擎240能藉由检索接口单元260所接收的关键字108来对结构化数据库220进行全文检索,并将全文检索所获得的回应结果110回传给知识辅助理解模块400,随后知识辅助理解模块400便能藉由此回应结果110来求得确定意图语法数据114。至于对结构化数据库220进行全文检索以确定意图语法数据114的细节,将在后面通过图3A、图3B与相关段落做更详细的描述。
[0131]在本发明的概念中,自然语言理解系统100能先撷取用户的请求信息102中的关键字108,并藉由结构化数据库220的全文检索结果来判别关键字108的领域属性,例如上述输入“我要看三国演义”时,会产生分别属于书籍、电视剧、电影三个领域的可能意图语法数据106,随后再进一步分析并确认用户的明确意图。因此用户能够很轻松地以口语化方式来表达出其意图或信息,而不需要特别熟记特定用语,例如现有作法中关于固定词列表的特定用语。
[0132]图2为根据本发明的一实施例的自然语言处理器300对用户的各种请求信息的分析结果的示意图。
[0133]如图2所示,当用户的请求信息102为〃明天上海的天气怎么样啊〃时,自然语言处理器300经过分析后,可产生出可能意图语法数据106为:
[0134]//<queryweather>,〈city〉=上海,〈时间 >=明天”
[0135]其中意图数据112为〃〈queryweather>〃、而关键字108为〃上海〃与〃明天〃。由于经自然语言处理器300的分析后只取得一组意图语法数据106(查询天气<queryweather>),因此在一实施例中,知识辅助理解模块400可直接取出关键字108〃上海〃与〃明天〃作为分析结果104送往伺服器来查询天气的信息(例如查询明天上海天气概况、包含气象、气温…等信息),而不需要对结构化数据库220进行全文检索来判定用户意图(如果知识辅助理解 模块400在通过解析请求信息102所产生的可能意图语法数据106即可确认用户意图的话)。当然,在一实施例中,仍可对结构化数据库220进行全文检索做更精确的用户意图判定,本领域的技术人员可依据实际需求进行变更。
[0136]此外,当用户的请求信息102为〃我要看让子弹飞〃时,因为可产生出两个可能意图语法数据106:
[0137]〃〈readbook>,〈bookname〉=让子弹飞〃;以及
[0138]〃〈watchfilm>,〈filmname〉=让子弹飞";
[0139]与两个对应的意图数据112〃〈readbook>〃与〃〈watchfilm>〃、以及两个相同的关键字108〃让子弹飞〃,来表示其意图可能是看〃让子弹飞〃的书籍或是看〃让子弹飞〃的电影。为进一步确认用户的意图,将通过知识辅助理解模块400传送关键字108〃让子弹飞〃给检索接口单元260,接着搜寻引擎240藉由此关键字108〃让子弹飞〃来对结构化数据库220进行全文检索,以确认"让子弹飞"应该是书名称或是电影名称,藉以确认用户的意图。
[0140]再者,当用户的请求信息102为〃我想听一起走过的日子〃时,可产生出两个可能意图语法数据106:
[0141]"〈p I aymu s i c >,〈 s i nger >= — 起走过,〈songname〉=日子";//<playmusic>, <songname>= 一起走过的日子"
[0142]两个对应的相同的意图数据112〃〈playmusic>〃、以及两组对应的关键字108〃 一起走过〃与〃日子〃及〃 一起走过的日子〃,来分别表示其意图可能是听歌手〃 一起走过〃所唱的歌曲〃日子〃、或是听歌曲〃 一起走过的日子〃,此时知识辅助理解模块400可传送第一组关键字108〃 一起走过〃与〃日子〃以及第二组关键字〃 一起走过的日子〃给检索接口单元260,来确认是否有〃一起走过〃这位歌手所演唱的〃日子〃这首歌(第一组关键字所隐含的用户意图)、或是否有"一起走过的日子"这首歌(第二组关键字所隐含的用户意图),藉以确认用户的意图。然而,本发明并不限于在此所表示的各可能意图语法数据与意图数据所对应的格式与名称。
[0143]图3A是根据本发明的一实施例的结构化数据库220所储存的具有特定数据结构的多个记录的示意图。
[0144]一般而言,在一些现有的全文检索作法中,所获得的搜寻结果是非结构化的数据(例如通过google或百度所搜寻的结果),因其搜寻结果的各项信息是分散且不具关联的,所以用户必须再对各项信息逐一检视,因此造成实用性的限制。然而,在本发明的概念中,能藉由结构化数据库来有效增进检索的效率与正确性。因为本发明所揭示的结构化数据库中的每个记录内部所包含的数值数据相互间具有关联性,且这些数值数据共同用以表达该记录的属性。于是在搜寻引擎对结构化数据库进行一全文检索时,可在记录的数值数据与关键字产生匹配时,输出对应于该数值数据的指引数据,作为确认该请求信息的意图。这部分的实施细节将通过下列实例作更进一步的描述。
[0145]在本发明的实施例中,结构化数据库220所储存的每个记录302包括标题字段304及内容字段306,标题字段304内包括多个分字段308,各分字段包括指引字段310以及数值字段312,所述多个记录302的指引字段310用以储存指引数据,而所述多个记录302的数值字段312用以储存数值数据。在此以图3A所示的记录I来举例说明,记录I的标题字段304中的三个分字段308分别储存了:
[0146]^singerg uid:刘德华"、
[0147]^songnameguid:一起走过的日子〃;及
[0148]^songtypeguid:港台,粤语,流行";
[0149]各分字段308的指引字段310分别储存了指引数据"singerguid"、"songnameguid"及"songtypeguid〃、而其对应分字段308的数值字段312则分别储存了数值数据〃刘德华〃、〃 一起走过的日子〃及〃港台,粤语,流行〃。指引数据"singerguid"代表数值数据〃刘德华〃的领域种类为歌手名称(singer),指引数据"songnameguid"代表数值数据〃 一起走过的日子〃的领域种类为歌曲名称(song),指引数据"songtypeguid〃代表数值数据〃港台,粤语,流行〃的领域种类为歌曲类型(song type)。在此的各指引数据实际上可分别用不同的特定一串数字或字来表示,在本发明中不以此为限。记录I的内容字段306则是储存了 〃一起走过的日子〃这首歌的歌词内容或储存其他的数据(例如作曲/词者…等),然而各记录的内容字段306中的真实数据并非本发明所强调的重点,因此在图3A中仅示意性地来描述之。
[0150]前述的实施例中,每个记录包括标题字段304及内容字段306,且标题字段304内的分字段308包括指引字段310以及数值字段312,但非以限定本发明,某些实施例中也可以没有内容字段306,甚或是有些实施例中可以没有指引字段310。
[0151 ] 除此之外,在本发明的实施例中,于各分字段308的数据间储存有第一特殊字符来分隔各分字段308的数据,于指引字段310与该数值字段312的数据间储存有第二特殊字符来分隔指引字段与数值字段的数据。举例来说,如图3A所示,"singerguid"与〃刘德华〃之间、"songnameguid"与〃 一起走过的日子〃之间、以及"songtypeguid"与〃港台,粤语,流行〃之间是利用第二特殊字符〃:"来做分隔,而记录I的各分字段308间是利用第一特殊字符〃 I 〃来做分隔,然而本发明并不限于以〃:"或〃 I 〃来做为用以分隔的特殊字符。
[0152]另一方面,在本发明的实施例中,标题字段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中直接取出数值数据”刘德华”,此时还有32-3=29个字可供储存数值字段312的数值数据,算式中的3 (亦即1+1+1)代表被指引字段310的指引数据、第一特殊字符、第二特殊字符所分别占去的I个字),接着再进行所需的领域种类判断即可。于是,在目前所取出的数值数据比对完毕后(不论是否比对成功与否),可以再依据上述取出数值数据的方式取出下一个分字段308的数值数据(例如在记录I的第二个分字段308中直接取出数值数据“一起走过的日子”),来进行比对领域种类的比对。上述取出数值数据的方式可以从记录I开始进行比对,并在比对完记录I所有的数值数据后,再取出记录2的标题字段308中第一个分字段308的数值数据(例如“冯小刚”)进行比对。上述比对程序将持续进行,直到所有记录的数值数据都被比对过为止。
[0153]应注意的是,上述的分字段308的位数、以及指引字段310、第一特殊字符、第二特殊字符个使用的位数可依实际应用改变,本发明对此并未加以限制。前述利用比对来取出数值数据的方式只是一种实施例,但非用以限定本发明,另一实施例可以使用全文检索的方式(例如以“字符逐一比对”的方式)来进行。此外,上述跳过指引字段310、第二特殊字符、第一特殊字符的实作方式,可以使用位平移(例如除法)来达成,此部分的实施可以用硬件、软件、或两者结合的方式进行,本领域的技术人员可依实际需求而变更。在本发明的另一实施例中,标题字段304中的各分字段308可具有固定位数,分字段308中的指引字段310可具有另一固定位数,并且标题字段304中可不包括第一特殊字符以及第二特殊字符,由于各分字段308以及各指引字段310的位数为固定,所以可利用跳过特定位数的方式或是使用位平移(例如除法)的方式来直接取出各分字段308中的指引数据或数值数据。
[0154]应注意的是,由于前面已提到分字段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在发现这个特殊符号时亦知道已拜访至记录终点,这样的实施方式可以提供更多的位数来储存数值数据。
[0155]再举一个实例来说明比对产生匹配结果时,回传匹配记录110至知识辅助理解模块400做进一步处理的过程。对应于上述记录302的数据结构,在本发明的实施例中,当用户的请求信息102为〃我要看让子弹飞〃时,可产生出两个可能意图语法数据106:
[0156]〃〈readbook>,〈bookname〉=让子弹飞〃;与
[0157]〃〈watchfilm>,〈filmname〉=让子弹飞";
[0158]搜寻引擎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做进一步处理。
[0159]再举一个实例作更进一步的说明。当用户的请求信息102为〃我想听一起走过的日子〃时,可产生出两个可能意图语法数据106:[0160]//<playmusic>, <singer>= 一起走过,<songname>=日子";与
[0161]〃〈playmusic>,〈songname〉=一起走过的日子”;
[0162]搜寻引擎240便藉由检索接口单元260所接收的两组关键字108:
[0163]〃 一起走过〃与〃日子〃;以及
[0164]〃一起走过的日子〃
[0165]来对图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的意图为听歌曲〃 一起走过的日子"。
[0166]在本发明的另一实施例中,检索而得的回应结果110可以是与关键字108完全匹配的完全匹配记录、或是与关键字108部分匹配的部分匹配记录。举例来说,如果用户的请求信息102为〃我想听萧敬腾的背叛〃,同样地,自然语言处理器300经过分析后,产生出两个可能意图语法数据106:
[0167]〃〈playmusic>,〈singer〉=萧敬腾,〈songname〉=背叛〃;及"〈playmusic〉,〈songname〉=萧敬腾的背叛”;
[0168]并传送两组关键字108:
[0169]〃萧敬腾〃与〃背叛〃;以及
[0170]〃萧敬腾的背叛〃;
[0171]给检索接口单元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与记录I的匹配记录110时,记录7的输出优先顺序会大于记录6的输出优先顺序,因为记录7全部的数值数据〃萧敬腾〃与〃背叛〃都产生匹配结果,但记录6还包含〃杨宗纬〃与〃曹格〃未产生匹配结果。也就是说,结构化数据库220中所储存的记录对其请求信息102中的关键字108的匹配程度越高,越容易优先被输出,以便用户进行查阅或挑选对应的确定意图语法数据114。在另一实施例中,可直接输出优先顺序最高的记录所对应的匹配记录110,做为确定意图语法数据114之用。前述非以限定本发明,因为在另一实施例中可能采取只要搜寻到有匹配记录即输出的方式(例如,以"我想听萧敬腾的背叛"为请求信息102而言,当检索到记录6即产生匹配结果时,即输出记录6对应的指引数据做匹配记录110),而没有包含优先顺序的排序,以加快检索的速度。在另一实施例中,可对优先顺序最高的记录,直接执行其对应的处理方式并提供予用户。例如当优先顺序最高的为播放三国演义的电影时,可直接播放电影与用户。此外,若优先顺序最高的为萧敬腾演唱的背叛时,可直接将此歌曲播放与用户。应注意的是,本发明在此仅作说明,并非对此加以限定。
[0172]在本发明的再一实施例中,如果用户的请求信息102为〃我要听刘德华的背叛",则其可能意图语法数据106的其中之一为:
[0173]〃〈playmusic>,〈singer〉=刘德华,〈songname〉=背叛,,;
[0174]若检索接口单元260将关键字108"刘德华〃与〃背叛〃输入搜寻引擎240,并不会在图3A的数据库中找到任何的匹配结果。在本发明的又一实施例中,检索接口单元260可分别将关键字108〃刘德华〃以及〃背叛〃输入搜寻引擎240,并且分别对应求得〃刘德华〃是歌手名称(指引数据singerguid)以及〃背叛〃是歌曲名称(指引数据songnameguid,且歌手可能是曹格或是萧敬腾、杨宗纬与曹格合唱)。此时,自然语言理解系统100可进一步提醒用户:“背叛这首歌曲是否为萧敬腾所唱(依据记录7的匹配结果)?”,或者,“是否为萧敬腾、杨宗纬与曹格所合唱(依据记录6的匹配结果)?”。
[0175]在本发明的再一实施例中,结构化数据库220所储存记录可还包括有来源字段314及热度字段316。如图3B所示的数据库,其除了图3A的各项字段之外,还包含来源字段314热度字段316、喜好字段318与厌恶字段。各记录的来源字段314可用以储存此记录是出自哪一个结构化数据库的指示或指标(请注意在此图中仅显示结构化数据库220,而实际上可存在更多不同的结构化数据库)、或是哪一个用户、伺服器所提供的来源值。并且,自然语言理解系统100可根据用户在之前的请求讯息102中所透漏的喜好,来检索特定来源的结构化数据库(例如以请求信息102中的关键字108进行全文检索产生匹配时,便对该记录的热度值加一)。而各记录302的热度字段316用以储存此记录302的搜寻热度值或是热门程度值(例如该记录在特定时间里被单一用户、特定用户群组、所有用户的匹配次数或机率),以供知识辅助理解模块400判断用户意图时的参考,至于喜好字段318与厌恶字段的使用方式后文会再详述。详细而论,当用户的请求信息102为"我要看三国演义〃时,自然语言处理器300经过分析后,可产生出多个可能意图语法数据106:
[0176]〃〈readbook>,〈bookname〉=三国演义”;
[0177]〃〈watchTV>,〈TVname〉=三国演义〃;以及
[0178]〃〈watchfilm>,〈filmname〉=三国演义"。
[0179]若检索系统200在用户的请求信息102的历史记录中(例如利用通过热度字段316储存该笔记录302被某用户所点选的次数),统计出其大部份的请求为看电影(假设在结构化数据库中各只有一笔对应于三国演义书籍、电视剧、电影的记录,其中看电影的记录其热度字段316较其他两者为高),则检索系统200可针对储存电影记录的结构化数据库来做检索(此时来源字段314中的来源值,是记录储存电影记录的结构化数据库的代码),从而可优先判定〃〈watchf i lm>, <f i lmname>=三国演义〃为确定意图语法数据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的热度已逐渐降低,本发明对这部分亦不加以限制。
[0180] 再举另一个实例来说,在另一实施例中,由于用户可能在某段时间中特别喜欢看三国演义的电视剧,由于电视剧的长度可能很长而用户无法短时间看完,因此在短时间中可能重复点选(假设每匹配一次就将热度字段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等信息。这样一来,仅与用户个人的选择或意图相关的个人喜好相关信息就只储存在用户个人的移动通讯装置(例如手机、平板计算机、或是小笔电…等)中,而伺服器则储存与用户全体相关的信息,这样不仅可节省伺服器的储存空间,也保留用户个人喜好的隐密性。
[0181]明显的,本发明所揭示的结构化数据库中的每个记录内部所包含的数值数据相互间具有关联性(例如记录I中的数值数据“刘德华”、“一起走过的日子”、“港台,粤语,流行”都是用来描述记录I的特征),且这些数值数据(与对应的指引数据)共同用以表达来自用户的请求信息对该记录的意图(例如对“一起走过的日子”产生匹配结果时,表示用户的意图可能是对记录I的数据存取),于是在搜寻引擎对结构化数据库进行全文检索时,可在记录的数值数据被匹配时,输出对应于该数值数据的指引数据(例如输出“songnameguid”作为回应结果110),进而确认该请求信息的意图(例如在知识辅助理解模块400中进行比对)。
[0182]基于上述示范性实施例所揭示或教示的内容,图4A为根据本发明的一实施例的检索方法的流程图。请参阅图4A,本发明的实施例的检索方法包括以下步骤:
[0183]提供结构化数据库,且结构化数据库储存多个记录(步骤S410);
[0184]接收至少一关键字(步骤S420); [0185]藉由关键字来对多个记录的标题字段进行全文检索(步骤S430)。举例来说,将关键字108输入检索接口单元260来让搜寻引擎240对结构化数据库220所储存的多个记录302的标题字段304进行全文检索,至于检索方式可如对图3A或图3B所进行的检索方式、或是不变更其精神的方式来进行;
[0186]判断全文检索是否有匹配结果(步骤S440)。举例来说,藉由搜寻引擎240来判断此关键字108所对应的全文检索是否有匹配结果;以及
[0187]若有匹配结果,依序输出完全匹配记录及部分匹配记录(步骤S450)。举例来说,若结构化数据库220中有记录匹配此关键字108,则检索接口单元260依序输出匹配此关键字108的完全匹配记录及部分匹配记录中的指引数据(可通过对图3C的指引数据储存装置280而取得)作为回应结果110送往知识辅助理解系统400 (在另一实施例中,回应结果110可包含相关于匹配记录的其他信息,例如储存于热度字段316的数值,用以显示予用户作转往其他数据之用),其中完全匹配记录的优先顺序大于部分匹配记录的优先顺序。
[0188]另一方面,若未有匹配结果,则自然语言理解系统100可以直接通知用户匹配失败并结束流程、通知用户未发现匹配结果并要求做更进一步的输入、或是列举可能选项给用户做进一步选择(例如前述以"刘德华"与"背叛"做全文检索未产生匹配结果的例子)(步骤460)。
[0189]前述的流程步骤非以限定本发明,有些步骤是可以忽略或移除,例如,在本发明的另一实施例中,可藉由位于检索系统200外的匹配判断模块(未绘示于图中)来执行步骤S440 ;或是在本发明的另一实施例中,可忽略上述步骤S450,其依序输出完全匹配记录及部分匹配记录的动作可以藉由位于检索系统200外的匹配结果输出模块(未绘示于图中),来执行步骤S450中依序输出完全匹配记录及部分匹配记录的动作。
[0190]基于上述示范性实施例所揭示或教示的内容,图4B为根据本发明的另一实施例的自然语言理解系统100工作过程的流程图。请参阅图4B,本发明的另一实施例的自然语言理解系统100工作过程包括以下步骤:
[0191]接收请求信息(步骤S510)。举例来说,用户将具有语音内容或文字内容的请求信息102传送至自然语言理解系统100 ;
[0192]提供结构化数据库,且结构化数据库储存多个记录(步骤S520);
[0193]将请求信息语法化(步骤S530)。举例来说,自然语言处理器300分析用户的请求信息102后,进而转为对应的可能意图语法数据106 ;
[0194]辨别关键字的可能属性(步骤S540)。举例来说,知识辅助理解模块400辨别出可能意图语法数据106中的至少一关键字108的可能属性,例如,关键字108〃三国演义〃可能是书、电影及电视节目;
[0195]藉由关键字108来对多个记录的标题字段304进行全文检索(步骤S550)。举例来说,将关键字108输入检索接口单元260来让搜寻引擎240对结构化数据库220所储存的多个记录的标题字段304进行全文检索;
[0196]判断全文检索是否有匹配结果(步骤S560)。举例来说,藉由搜寻引擎240来判断此关键字108所对应的全文检索是否有匹配结果;
[0197]若有匹配结果,依序输出完全匹配记录及部分匹配记录(步骤S570)所对应的指引数据为回应结果110。举例来说,若结构化数据库220中有记录匹配此关键字108,则检索接口单元260依序输出匹配此关键字108的完全匹配记录及部分匹配记录所对应的指引数据为回应结果110,
[0198]其中完全匹配记录的优先顺序大于部分匹配记录的优先顺序;以及
[0199]依序输出对应的确定意图语法数据(步骤S580)。举例来说,知识辅助理解模块400藉由依序输出的完全匹配记录及部分匹配记录,藉以输出对应的确定意图语法数据114。
[0200]另一方面,若在步骤S560未产生匹配结果,亦可运用类似步骤S460的方式来处理,例如直接通知用户匹配失败并结束流程、通知用户未发现匹配结果并要求做更进一步的输入、或是列举可能选项给用户做进一步选择(例如前述以"刘德华"与"背叛"做全文检索未产生匹配结果的例子)(步骤S590)。
[0201 ] 前述的流程步骤非以限定本发明,有些步骤是可以忽略或移除。
[0202]综上所述,本发明藉由取出用户的请求信息所包括的关键字,并且针对结构化数据库中的具有特定数据结构的记录的标题字段(诸如具有图3A与图3B的结构)来进行全文检索,若产生匹配结果,便可判断出关键字所属的领域种类(与指引字段的数据做比对),藉以确定用户在请求信息所表示的意图。
[0203]接下来针对以上结构化数据库在语音识别上的应用做更多的说明。首先针对在自然语言对话系统中,可通过自然语言理解系统100以根据用户的语音输入来修正错误的语音应答,并进一步找出其他可能的答案来回报给用户的应用做说明。
[0204]如前所述,虽然现今的移动通讯装置已可提供自然语言对话功能,以让用户发出语音来和移动通讯装置沟通。然而在目前的语音对话系统,当用户的语音输入不明确时,由于同一句语音输入可能意指多个不同的意图或目的,故系统容易会输出不符合语音输入的语音应答。因此在很多对话情境中,用户难以得到符合其意图的语音应答。为此,本发明提出一种修正语音应答的方法以及自然语言对话系统,其中自然语言对话系统可根据用户的语音输入来修至错误的语音应答,并进一步找出其他可能的答案来回报给用户。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。
[0205]图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做解说)来达成根据用户的语音输入来修正错误的语音应答的目的。
[0206]前述自然语言对话系统500中的各构件可配置在同一机器中。举例而言,语音取样模块510与自然语言理解系统520例如是配置于同一电子装置。其中,电子装置可以是移动电话(Cell phone)、个人数字助理(Personal Digital Assistant, PDA)手机、智能型手机(Smart phone)等移动通讯装置、掌上型计算机(Pocket PC)、平板型计算机(TabletPC)、笔记型计算机、个人计算机、或是其他具备通讯功能或安装有通讯软件的电子装置,在此并不限制其范围。此外,上述电子装置可使用Android操作系统、Microsoft操作系统、Android操作系统、Linux操作系统等等,不限于此。当然,前述自然语言对话系统500中的各构件也不一定需设置在同一机器中,而可分散在不同装置或系统并通过各种不同的通讯协议来连结。举例而言,自然语言理解系统520可以位于云端伺服器中,也可以位于区域网路中的伺服器。此外,自然语言理解系统520中的各构件也可分散在不同的机器,例如自然语言理解系统520中的各构件可位于与语音取样模块510相同或不同的机器。[0207]在本实施例中,语音取样模块510用以接收语音输入,此语音取样模块510可以为麦克风(Microphone)等接收音讯的装置,而第一语音输入501/第二语音输入501’可以是来自用户的语音。
[0208]此外,本实施例的自然语言理解系统520可由一个或数个逻辑门组合而成的硬件电路来实作。或者,在本发明另一实施例中,自然语言理解系统520可以通过计算机程序码来实作。举例来说,自然语言理解系统520例如是由程序语言所撰写的程序码片段来实作于应用程序、操作系统或驱动程序等,而这些程序码片段储存在储存单元中,并藉由处理单元(图5A未显示)来执行的。为了使本领域的技术人员进一步了解本实施例的自然语言理解系统520,底下举实例来进行说明。然而,本发明在此仅为举例说明,并不以此为限,例如运用硬件、软件、固件、或是此三种实施方式的混合结合等方式,皆可运用来实施本发明。
[0209]图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本身的定义相关,因这部分属于本领域的技术人员所熟知的技术,故在此不予详述。
[0210]接下来列举实例来说明,若用户输入的是“我要看三国演义”的第一语音输入501话,语音识别模块522会接收从语音取样模块510传来的对第一语音输入501进行解析的第一请求信息503,然后取出例如是包含“三国演义”的第一关键字509。自然语言处理模块524则可再对这个第一关键字509 “三国演义”进行解析(例如通过图1A的检索系统200对结构化数据库220进行全文检索,并在取得回应结果110且对意图数据112比对后产生确定意图语法数据114,最后由分析结果输出模块116所送出的分析结果104),进而产生包含“三国演义”的三个意图选项的回报答案,并将其整合成一候选列表(假设每个意图选项只有一个回报答案,其分别归类于“看书”、“看电视剧”、以及“看电影”三个选项),接着再从候选列表的这三个回报答案中选出一个在热度字段316具有最高值(例如挑选图3B的记录10)做为第一回报答案511。在一实施例中,可以直接执行热度字段316具有最高值的所对应的方式(例如先前所提的直接播放萧敬腾所演唱的“背叛”予用户),本发明并不对此加以限制。
[0211]此外,自然语言处理模块524还可藉由解析后续所接收的第二语音输入501’(因为与先前的语音输入501运用同样的方式馈入语音取样模块510),而判断前次的第一回报答案511是否正确。因为第二语音输入501’是用户针对先前提供予用户的第一语音应答507所做的回应,其包含用户认为先前的第一语音应答507正确与否的信息。倘若在分析第二语音输入501’后是表示用户认为第一回报答案511不正确,自然语言处理模块524可选择上述候选列表中的其他回报答案做为第二回报答案511’,例如从候选列表中剔除第一回报答案511后,并在剩余的回报答案重新挑选一第二回报答案511’,再利用语音合成模块526找出对应于第二回报答案511’的第二语音513’,最后通过语音合成模块526将第二语音513’合成为第二语音应答507’播放予用户。
[0212]延续先前用户输入“我要看三国演义”的例子来说,若用户想要看三国演义的电视剧,所以先前输出予用户的图3B记录10的选项(因为是看“三国演义”的电影)就不是用户想要的,于是用户可能再输入“我要看三国演义电视剧”(用户明确指出想看的是电视剧)、或是“我不要看三国演义电影”(用户只否定目前选项)…等作为第二语音输入501’。于是第二语音输入501’将在解析而取得其第二请求信息503’ (或是第二关键字509’)后,会发现第二请求信息503’中的第二关键字509’将包含“电视剧”(用户有明确指示)或是“不要电影”(用户只否定目前选项),因此将判断第一回报答案511不符合用户的需求。是以,此时可以从候选列表再选出另一个回报答案做为第二回报答案511’并输出对应的第二语音应答507’,例如输出“我现在为您播放三国演义电视剧”的第二语音应答507’ (如果用户明确指出想观看三国演义 电视剧)、或是输出“您想要的是哪个选项”(如果用户只否定目前选项)的第二语音应答507’,并结合候选列表中其他的选项供用户选取(例如“挑选热度字段316数值次高的回报答案作为第二回报答案511’)。再者,在另一实施例中,若是用户所输入的第二语音输入501’包含“选择”的讯息,例如显示“观看三国演义书籍”、“观看三国演义电视剧”、以及“观看三国演义电影”三个选项给用户做选择时,用户可能输入“我要看电影”的第二语音输入501’时,将在分析第二语音输入501’的第二请求信息503’并发现用户的意图后(例如从第二关键字509’发现用户选择“观看电影”),于是第二语音输入501’将在解析而取得其第二请求信息503’后,输出“我现在为您播放三国演义电影”的第二语音应答507’(如果用户想观看三国演义电影)然后直接播放电影予用户。当然,若用户所输入的是“我要第三个选项”时(假设此时用户所选择的是阅读书籍),将执行第三选所对应的应用程序,亦即输出“您想要的是阅读三国演义书籍”的第二语音应答507’,并结合显示三国演义的电子书予用户的动作。
[0213]在本实施例中,前述自然语言理解系统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’的依据。
[0214]图6是依照本发明一实施例所绘示的修正第一语音应答507的方法流程图。在本实施例中的修正第一语音应答507的方法中,当用户认为目前所播放的第一语音应答507不符合其先前所输入的第一请求信息503时,会再输入第二语音输入501’并馈入语音取样模块510,随后再由自然语言理解系统520分析而得知先前播放予用户的第一语音应答507并不符合用户的意图时,自然语言理解系统520可再次输出第二语音应答507’,藉以修正原本的第一语音应答507。为了方便说明,在此仅举图5A的自然语言对话系统500为例,但本实施例的修正第一语音应答507的方法亦可适用于上述图5C的自然语言对话系统500’。
[0215]请同时参照图5A及图6,于步骤S602中,语音取样模块510会接收第一语音输入501 (亦同样馈入语音取样模块510)。其中,第一语音输入501例如是来自用户的语音,且第一语音输入501还可具有用户的第一请求信息503。具体而言,来自用户的第一语音输入501可以是询问句、命令句或其他请求信息等,例如「我要看三国演义」、「我要听忘情水的音乐」或 「今天温度几度」等等。
[0216]于步骤S604中,自然语言理解系统520会解析第一语音输入501中所包括的至少一个第一关键字509而获得候选列表,其中候选列表具有一个或多个回报答案。举例来说,当用户的第一语音输入501为「我要看三国演义」时,自然语言理解系统520经过分析后所获得的第一关键字509例如是「『三国演义』、『看』」。又例如,当用户的第一语音输入501为「我要听忘情水的歌」时,自然语言理解系统520经过分析后所获得的第一关键字509例如是「『忘情水』、『听』、『歌』」。
[0217]接后,自然语言理解系统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做全文检索而得到记录I为匹配结果时,“刘德华”与“港台,粤语,流行”两者即为其他数据)。因此从另一观点来看,当用户所输入的第一语音输入501具有多个第一关键字509时,则表示用户的第一请求信息503较明确,使得自然语言理解系统520较能查询到与第一请求信息503接近的搜寻结果O
[0218]举例来说,当第一关键字509为「三国演义」时(例如用户输入“我要看三国演义”的语音输入时),自然语言理解系统520分析后可能产生三个可能意图语法数据106 (如图1所示):
[0219]〃〈readbook>,〈bookname〉=三国演义”;
[0220]〃〈watchTV>,〈TVname〉=三国演义〃;以及
[0221]〃〈watchfilm>,〈filmname〉=三国演义"。
[0222]因此查讯到的搜寻结果是关于「...『三国演义』...『书籍』」(意图数据为〈readbook〉)、「...『三国演义』...『电视剧』」(意图数据为〈watchTV〉)、「...『三国演义』...『电影』」(意图数据为〈watchfilm〉)的记录(例如图3B的记录8、9、10),其中『电视剧』及『书籍』、『电影』分别列举对应的用户意图)。又例如,当第一关键字509为「『忘情水』、『音乐』」(例如用户输入“我要听忘情水的音乐”的语音输入)时,自然语言理解系统520分析后可能产生以下的可能意图语法数据:
[0223]〃〈playmusic>,〈songname〉=忘情水";
[0224]所查讯到的搜寻结果例如关于「...『忘情水』...『刘德华』」的记录(例如图3B的记录11)、「...『忘情水』...『李翊君』」的记录(例如图3B的记录12),其中『刘德华』及『李翊君』为对应于用户的意图数据。换言之,每一笔搜寻结果可包括第一关键字509以及相关于第一关键字509的意图数据,而自然语言理解系统520会依据所查询到的搜寻结果,将搜寻结果中所包括的数据转换成回报答案,并将回报答案记录于候选列表中,以供后续步骤使用。 [0225]于步骤S606中,自然语言理解系统520会自候选列表中选择至少一第一回报答案511,并依据第一回报答案511输出对应的第一语音应答507。在本实施例中,自然语言理解系统520可按照优先顺序排列候选列表中的回报答案,并依据优先顺序自候选列表中选出回报答案,据以输出第一语音应答507。
[0226]举例来说,当第一关键字509为「三国演义」时,假设自然语言理解系统520查询到很多笔关于「...『三国演义』...『书籍』」的记录(亦即以查询到的数据数量多寡做优先顺序,例如20笔关于书籍的记录),其次为「...『三国演义』...『音乐』」的记录(例如18笔),而关于「...『三国演义』...『电视剧』」的记录数量最少(例如10笔),则自然语言理解系统520会将「三国演义的书籍」做为第一回报答案(最优先选择的回报答案),「三国演义的音乐」做为第二回报答案(第二优先选择的回报答案),「三国演义的电视剧」做为第三回报答案(第三优先选择的回报答案)。当然,若相关于「三国演义的书籍」的第一回报答案不只一笔记录时,还可以依据应先顺序(例如被点选次数多寡或热度字段316的数值最高者)来挑选第一回报答案511,相关细节前面已提过,在此不予赘述。
[0227]接着,于步骤S608,语音取样模块510会接收第二语音输入501’,而自然语言理解系统520会解析此第二语音输入501’,并判断先前所选出的第一回报答案511是否正确。在此,语音取样模块510会对第二语音输入501’进行解析,以解析出第二语音输入501’所包括的第二关键字509’,其中此第二关键字509’例如是用户进一步提供的关键字(例如时间、意图、知识领域…等等)。并且,当第二语音输入501’中的第二关键字509’与第一回报答案511中所相关的意图数据不相符时,自然语言理解系统520会判断先前所选出的第一回报答案511为不正确。至于判断第二语音输入501’的第二请求信息503’包含的是“正确”或“否定”第一语音应答507的方式前面已提过,在此不予赘述。[0228]进一步而言,自然语言理解系统520所解析的第二语音输入501’可包括或不包括明确的第二关键字509’。举例来说,语音取样模块510例如是接收到来自用户所说的「我不是指三国演义的书籍」(情况A)、「我不是指三国演义的书籍,我是指三国演义的电视剧」(情况B)、「我是指三国演义的电视剧」(情况C)等等。上述情况A中的第二关键字509’例如为「『不是』、『三国演义』、『书籍』」,情况B中的关键字509例如为「『不是』、『三国演义』、『书籍』,『是』、『三国演义』、『电视剧』」,而情况C中的第二关键字509’例如为「『是』、『三国演义』、『电视剧』」。为了方便说明,上述仅列举情况A、B及C为例,但本实施例并不限于此。
[0229]接着,自然语言理解系统520会依据上述第二语音输入501’所包括的第二关键字509’,来判断第一回报答案511中相关的意图数据是否正确。也就是说,倘若断第一回报答案511为「三国演义的书籍」,而上述第二关键字509’为「『三国演义』、『电视剧』」,则自然语言理解系统520会判断第一回报答案511中相关的意图数据(即用户想看三国演义『书籍』)不符合来自用户第二语音输入501’的第二关键字509’(即用户想看三国演义『电视剧』),藉以判断第一回报答案511不正确。类似地,倘若判断回报答案为「三国演义的书籍」,而上述第二关键字509’为「『不是』、『三国演义』、『书籍』」,则自然语言理解系统520亦会判断出第一回报答案511不正确。
[0230]当自然语言理解系统520解析第二语音输入501之后,判断之前输出的第一语音应答501为正确时,则如步骤S610所示,自然语言理解系统520会做出对应于第二语音输入501’的回应。举例来说,假设来自用户的第二语音输入501’为「是的,是三国演义的书籍」,则自然语言理解系统520可以是输出「正在帮您开启三国演义的书籍」的第二语音应答507’。或者,自然语言理解系统520可在播放第二语音应答507’的同时,直接通过处理单元(未绘示)来载入三国演 义的书籍内容。
[0231]然而,当自然语言理解系统520解析第二语音输入501’之后,判断之前输出的第一语音应答507 (亦即回报答案511)不正确时,则如步骤S612所示,自然语言理解系统520会自候选列表中选择第一回报答案511之外的另一者,并依据所选择的结果输出第二语音应答507’。在此,倘若用户所提供的第二语音输入501’中不具有明确的第二关键字509’(如上述情况A的第二语音输入501’),则自然语言理解系统520可依据优先顺序从候选列表中选出第二优先选择的回报答案。或者,倘若用户所提供的第二语音输入501’中具有明确的第二关键字509’(如上述情况B及C的第二语音输入501’),则自然语言理解系统520可直接依据用户所指引的第二关键字509’,在从候选列表中选出对应的回报答案。
[0232]另一方面,倘若用户所提供的第二语音输入501’中具有明确的第二关键字509’(如上述情况B及C的第二语音输入),但自然语言理解系统520在候选列表中查无符合此第二关键字509的回报答案,则自然语言理解系统520会输出第三语音应答,例如「查无此书」或「我不知道」等。
[0233]为了使本领域的技术人员进一步了解本实施例的修正语音应答的方法以及自然语言对话系统,以下再举一实施例进行详细的说明。
[0234]首先,假设语音取样模块510接收的第一语音输入501为「我要看三国演义」(步骤S602),接着,自然语言理解系统520可解析出为「『看』、『三国演义』」的第一关键字509,并获得具有多个第一回报答案的候选列表,其中每一个回报答案具有相关的关键字与其他数据(其他数据可储存于图3A/3B的内容字段306中、或是各记录302的数值字段312的一部份)(步骤S604),如表一所示(假设搜寻结果中关于三国演义的书籍/电视剧/音乐/电影各只有一笔数据)。
[0235]表一
[0236]
【权利要求】
1.一种检索系统,包括: 一结构化数据库,用以储存具有一数据结构的多个记录;以及 一搜寻引擎,用以对该结构化数据库进行一全文检索, 其中该数据结构包括一标题字段,该标题字段内包括至少一分字段,每一分字段包括一指引字段以及一数值字段,这些记录的该指引字段储存一指引数据,这些记录的该数值字段储存一数值数据。
2.如权利要求1所述的检索系统,其中该数据结构还包括一内容字段,这些记录的该内容字段储存各这些记录的内容细节数据。
3.如权利要求1所述的检索系统,其中当这些记录的该标题字段中储存有多个该分字段的数据时,于各该分字段的数据间储存一第一特殊字符,用以分隔各该分字段的数据,于该指引字段与该数值字段的数据间储存一第二特殊字符,用以分隔该指引字段与该数值字段的数据。
4.如权利要求1所述的检索系统,其中该标题字段中的该分字段具有固定位数。
5.如权利要求1所述的检索系统,还包括一检索接口单元,耦接该搜寻引擎,用以接收至少一关键字来传送给该搜寻引擎,藉以让该搜寻引擎对这些记录的该标题字段进行该全文检索,以及反应该搜寻引擎的一匹配结果,输出这些记录中的至少一检索匹配记录。
6.如权利要求5所述的检索系统,其中该检索匹配记录为与该至少一关键字完全匹配的一全匹配记录或与该至少一关键字部分匹配的一部分匹配记录。
7.如权利要求6所述的检索系统,其中当该检索接口单元输出多个检索匹配记录时,其依序输出该全匹配记录及该部分匹配记录,其中该全匹配记录的优先顺序大于该部分匹配记录的优先顺序。`
8.如权利要求1所述的检索系统,其中每个该记录的大小皆等于一特定数值,且该搜寻引擎在搜寻该特定数值后,即对前往目前所搜寻的记录的下一个记录进行全文检索。
9.如权利要求1所述的检索系统,其中每个该记录的该标题字段的最后一个分字段之后储存一第三特殊字符,当搜寻引擎在全文检索时发现该第三特殊字符时,即对该记录的下一个记录进行全文检索。
10.一种自然语言理解系统,包括: 一自然语言处理器,用以将一用户的一请求信息,分析成至少一可能意图语法数据,每一可能意图语法数据包括至少一关键字及一意图数据; 一知识辅助理解模块,耦接该自然语言处理器,用以求得该至少一可能意图语法数据中的一确定意图语法数据,以表达该用户的该请求信息的意图;以及 一检索系统,包括: 一结构化数据库,用以储存具有一数据结构的多个记录;以及 一搜寻引擎,用以对该结构化数据库进行一全文检索,该数据结构包括一标题字段,该标题字段内包括至少一分字段,每一分字段包括一指引字段以及一数值字段,这些记录的该指引字段储存一指引数据,这些记录的该数值字段储存一数值数据; 其中,该知识辅助理解模块传送该关键字给该检索系统,藉由该检索系统的回应,以辅助求得该确定意图语法数据。
11.如权利要求10所述的自然语言理解系统,其中该数据结构还包括一内容字段,这些记录的该内容字段储存各这些记录的内容细节数据。
12.如权利要求10所述的自然语言理解系统,其中当这些记录的该标题字段中储存有多个该分字段的数据时,于各该分字段的数据间储存一第一特殊字符,用以分隔各该分字段的数据,于该指引字段与该数值字段的数据间储存一第二特殊字符,用以分隔该指引字段与该数值字段的数据。
13.如权利要求10所述的自然语言理解系统,其中该标题字段中的该分字段具有固定位数。
14.如权利要求10所述的自然语言理解系统,其中该检索系统还包括一检索接口单元,耦接该搜寻引擎以及该知识辅助理解模块,用以接收该关键字来传送给该搜寻引擎,藉以让该搜寻引擎对这些记录的该标题字段进行该全文检索,以及反应该搜寻引擎的一匹配结果,输出这些记录中的至少一检索匹配记录,该知识辅助理解模块藉由比对该至少一检索匹配记录中该标题字段所储存的该指引数据与该至少一可能意图语法数据所包括的该意图数据,从而判断出该用户的该请求信息的意图。
15.如权利要求14所述的自然语言理解系统,其中该检索匹配记录为与该关键字完全匹配的一全匹配记录或与该关键字部分匹配的一部分匹配记录。
16.如权利要求15所述的自然语言理解系统,其中当该检索接口单元输出多个检索匹配记录时,其依序输出该全匹配记录及该部分匹配记录,其中该全匹配记录的优先顺序大于该部分匹配记录的优先顺序。
17.如权利 要求10所述的自然语言理解系统,其中每个该记录的大小皆等于一特定数值,且该搜寻引擎在搜寻该特定数值后,即对前往目前所搜寻的记录的下一个记录进行全文检索。
18.如权利要求10所述的自然语言理解系统,其中每个该记录的该标题字段的最后一个分字段之后储存一第三特殊字符,当搜寻引擎在全文检索时发现该第三特殊字符时,即对该记录的下一个记录进行全文检索。
19.一种检索方法,包括: 提供一结构化数据库,该结构化数据库储存具有一数据结构的多个记录;以及 对该结构化数据库进行一全文检索, 其中该数据结构包括一标题字段,该标题字段内包括至少一分字段,每一分字段包括一指引字段以及一数值字段,这些记录的该指引字段储存一指引数据,这些记录的该数值字段储存一数值数据。
20.如权利要求19所述的检索方法,其中该数据结构还包括一内容字段,这些记录的该内容字段储存各这些记录的内容细节数据。
21.如权利要求19所述的检索方法,其中当这些记录的该标题字段中储存有多个该分字段的数据时,于各该分字段的数据间储存一第一特殊字符,用以分隔各该分字段的数据,于该指引字段与该数值字段的数据间储存一第二特殊字符,用以分隔该指引字段与该数值字段的数据。
22.如权利要求19所述的检索方法,其中该标题字段中的该分字段具有固定位数。
23.如权利要求19所述的检索方法,其中对该结构化数据库进行全文检索的步骤,还包括:接收至少一关键字; 藉由该关键字来对这些记录的该标题字段进行该全文检索;以及 若该全文检索有一匹配结果,输出这些记录中的至少一检索匹配记录。
24.如权利要求23所述的检索方法,其中该检索匹配记录为与该关键字完全匹配的一全匹配记录或与该关键字部分匹配的一部分匹配记录。
25.如权利要求24所述的检索方法,其中输出这些记录中的这些检索匹配记录的步骤,还包括: 依序输出该全匹配记录及该部分匹配记录, 其中该全匹配记录的优先顺序大于该部分匹配记录的优先顺序。
26.如权利要求19所述的检索方法,其中每个该记录的大小皆等于一特定数值,且该搜寻引擎在搜寻该特定数值后,即对前往目前所搜寻的记录的下一个记录进行全文检索。
27.如权利要求19所述的检索方法,其中每个该记录的该标题字段的最后一个分字段之后储存一第三特殊字符,当搜寻引擎在全文检索时发现该第三特殊字符时,即对该记录的下一个记录进行全文检索。
28.—种检索系统,包括: 一结构化数据库,用以储存至少一记录,其中每个该记录包含至少一字段,其中该字段所储存的数据是共同用以描述该记录的属性;以及 一搜寻引擎,用以依据一请求信息的一关键字对该结构化数据库进行一全文检索,其中在该结构化数据库的至少一该记录与该关键字产生匹配时,输出对应于该字段的一指引数据以确认该请求信息的意图。
29.如权利要求28所述的检索系统,其中该字段包括至少一分字段,每一分字段至少包括一数值字段,该数值字段储存一数值数据,其中该全文检索是依据该关键字与该数值数据进行匹配。
30.如权利要求29所述的检索系统,其中每个该数值字段对应于一指引字段,且当该关键字与该数值数据匹配时,输出该数值字段所对应的该指引字段所储存的指引数据以确认该请求信息的该意图。
31.如权利要求30所述的检索系统,其中当该请求信息的意图数据与该指引数据产生匹配时,即确认该指引数据所对应的该记录为该请求信息所意图者。
32.如权利要求29所述的检索系统,其中该关键字与该数值数据的该匹配,包含该关键字与该数值数据完全匹配的一全匹配记录或与该关键字与该数值数据部分匹配的一部分匹配记录。
33.如权利要求32所述的检索系统,其中确认该请求信息的该意图时,该全匹配记录的优先顺序大于该部分匹配记录的优先顺序。
34.如权利要求29所述的检索系统,其中当该记录储存有多个该分字段时,于各该分字段的数据间储存一第一特殊字符,用以分隔各该分字段的数据。
35.如权利要求34所述的检索系统,其中该分字段还包含一指引字段,且在该指引字段与该数值字段间储存一第二特殊字符,用以分隔该指引字段的指引数据与该数值字段的该数值数据。
36.如权利要求29所述的检索系统,其中该该分字段具有固定位数。
37.如权利要求28所述的检索系统,其中该字段包括一内容字段,用以储存对应的该记录的内容细节数据。
38.如权利要求28所述的检索系统,其中该请求信息是来自用户所输入的语音。
39.如权利要求37所述的检索系统,其中该语音是经由一移动通讯装置所输入。
40.如权利要求28所述的检索系统,还包含一检索接口单元,耦接该搜寻引擎,用以接收该关键字来传送给该搜寻引擎。
41.如权利要求28所述的检索系统,其中每个该记录的大小皆等于一特定数值,且该搜寻引擎在搜寻该特定数值后,即对前往目前所搜寻的记录的下一个记录进行全文检索。
42.如权利要求28所述的检索系统,其中每个该记录的该标题字段的最后一个分字段之后储存一第三特殊字符,当搜寻引擎在全文检索时发现该第三特殊字符时,即对该记录的下一个记录进行全文检索。
43.一种检索方法,包括: 输入一关键字,其中该关键字是由一请求信息所产生;以及 依据该关键字对一结构化数据库进行一全文检索,其中该结构化数据库储存至少一记录,其中每个该记录包含至少一字段,其中该字段所储存的数据是共同用以描述该记录的属性; 其中在该结构化数据库的至少一该记录与该关键字产生匹配时,输出对应于该字段的一指引数据以确认该请求信息的意图。
44.如权利要求43所述的检索方法,其中该字段包括至少一分字段,每一分字段至少包括一数值字段,该数值字段储存一数值数据,其中该全文检索是依据该关键字与该数值数据进行匹配。
45.如 权利要求44所述的检索方法,其中每个该数值字段对应于一指引字段,且当该关键字与该数值数据匹配时,输出该数值字段所对应的该指引字段所储存的指引数据以确认该请求信息的该意图。
46.如权利要求45所述的检索方法,其中当该请求信息的意图数据与该指引数据产生匹配时,即确认该指引数据所对应的该记录为该请求信息所意图者。
47.如权利要求44所述的检索方法,其中该关键字与该数值数据的该匹配,包含该关键字与该数值数据完全匹配的一全匹配记录或与该关键字与该数值数据部分匹配的一部分匹配记录。
48.如权利要求47所述的检索方法,其中确认该请求信息的该意图时,该全匹配记录的优先顺序大于该部分匹配记录的优先顺序。
49.如权利要求44所述的检索方法,其中当该记录储存有多个该分字段时,于各该分字段的数据间储存一第一特殊字符,用以分隔各该分字段的数据。
50.如权利要求49所述的检索方法,其中该分字段还包含一指引字段,且在该指引字段与该数值字段间储存一第二特殊字符,用以分隔该指引字段的指引数据与该数值字段的该数值数据。
51.如权利要求44所述的检索方法,其中该该分字段具有固定位数。
52.如权利要求43所述的检索方法,其中该字段包括一内容字段,用以储存对应的该记录的内容细节数据。
53.如权利要求43所述的检索方法,其中该请求信息是来自用户所输入的语音。
54.如权利要求53所述的检索方法,其中该语音是经由一移动通讯装置所输入。
55.如权利要求43所述的检索方法,还包含一检索接口单元,耦接该搜寻引擎,用以接收该关键字来传送给该搜寻引擎。
56.如权利要求43所述的检索方法,其中每个该记录的大小皆等于一特定数值,且该搜寻引擎在搜寻该特定数值后,即对前往目前所搜寻的记录的下一个记录进行全文检索。
57.如权利要求43所述的检索方法,其中每个该记录的该标题字段的最后一个分字段之后储存一第三特殊字符,当搜寻引擎在全文检索时发现该第三特殊字符时,即对该记录的下一个记录进行全文检索。`
【文档编号】G06F17/30GK103761242SQ201310690513
【公开日】2014年4月30日 申请日期:2013年12月13日 优先权日:2012年12月31日
【发明者】张国峰, 朱逸斐 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1