CN103761242A - 检索方法、检索系统以及自然语言理解系统 - Google Patents

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

Info

Publication number
CN103761242A
CN103761242A CN201310690513.5A CN201310690513A CN103761242A CN 103761242 A CN103761242 A CN 103761242A CN 201310690513 A CN201310690513 A CN 201310690513A CN 103761242 A CN103761242 A CN 103761242A
Authority
CN
China
Prior art keywords
field
data
record
user
natural language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310690513.5A
Other languages
English (en)
Other versions
CN103761242B (zh
Inventor
张国峰
朱逸斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN201310690513.5A priority Critical patent/CN103761242B/zh
Priority to TW102149041A priority patent/TWI578175B/zh
Priority to US14/144,557 priority patent/US9646000B2/en
Publication of CN103761242A publication Critical patent/CN103761242A/zh
Priority to US15/462,926 priority patent/US9715524B1/en
Application granted granted Critical
Publication of CN103761242B publication Critical patent/CN103761242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

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

Description

检索方法、检索系统以及自然语言理解系统
技术领域
本发明涉及一种检索技术,特别是涉及一种对结构化数据库进行全文检索的检索方法、检索系统以及自然语言理解系统。
背景技术
在计算机的自然语言理解(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 DigitalAssistant,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-friendlyinterface)的目的。
图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-frequencyidentification,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)、平板型计算机(TabletPC)或笔记型计算机等等。移动终端装置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可能为网路伺服器或云端伺服器,而云端伺服器可能会涉及到使用者的隐私权的问题。例如,使用者需上传完整的通讯录至云端伺服器,才能完成如拨打电话、发简讯等与通讯录相关的操作。即使云端伺服器采用加密连线,并且即用即传不保存,还是难以消除使用者的担优。据此,以下提供另一种语音操控的方法及其对应的语音交互系统,移动终端装置可在不上传完整通讯录的情况下,与云端伺服器来执行语音交互服务。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下,可作些许的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。

Claims (57)

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所述的检索方法,其中每个该记录的该标题字段的最后一个分字段之后储存一第三特殊字符,当搜寻引擎在全文检索时发现该第三特殊字符时,即对该记录的下一个记录进行全文检索。
CN201310690513.5A 2012-12-31 2013-12-13 检索方法、检索系统以及自然语言理解系统 Active CN103761242B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310690513.5A CN103761242B (zh) 2012-12-31 2013-12-13 检索方法、检索系统以及自然语言理解系统
TW102149041A TWI578175B (zh) 2012-12-31 2013-12-30 檢索方法、檢索系統以及自然語言理解系統
US14/144,557 US9646000B2 (en) 2012-12-31 2013-12-31 Search method, search system, and natural language comprehension system
US15/462,926 US9715524B1 (en) 2012-12-31 2017-03-20 Natural language comprehension system

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
CN201210593064.8 2012-12-31
CN2012105930648A CN103049567A (zh) 2012-12-31 2012-12-31 检索方法、检索系统以及自然语言理解系统
CN2012105930648 2012-12-31
CN2013101845443A CN103218463A (zh) 2012-12-31 2013-05-17 检索方法、检索系统以及自然语言理解系统
CN2013101845443 2013-05-17
CN201310184544.3 2013-05-17
CN201310690513.5A CN103761242B (zh) 2012-12-31 2013-12-13 检索方法、检索系统以及自然语言理解系统

Publications (2)

Publication Number Publication Date
CN103761242A true CN103761242A (zh) 2014-04-30
CN103761242B CN103761242B (zh) 2017-11-10

Family

ID=48062207

Family Applications (3)

Application Number Title Priority Date Filing Date
CN2012105930648A Pending CN103049567A (zh) 2012-12-31 2012-12-31 检索方法、检索系统以及自然语言理解系统
CN2013101845443A Pending CN103218463A (zh) 2012-12-31 2013-05-17 检索方法、检索系统以及自然语言理解系统
CN201310690513.5A Active CN103761242B (zh) 2012-12-31 2013-12-13 检索方法、检索系统以及自然语言理解系统

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN2012105930648A Pending CN103049567A (zh) 2012-12-31 2012-12-31 检索方法、检索系统以及自然语言理解系统
CN2013101845443A Pending CN103218463A (zh) 2012-12-31 2013-05-17 检索方法、检索系统以及自然语言理解系统

Country Status (2)

Country Link
US (2) US9646000B2 (zh)
CN (3) CN103049567A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363757A (zh) * 2018-02-01 2018-08-03 广东梦森信息科技有限公司 基于OpenCyc的自然语言识别算法与系统
CN109117435A (zh) * 2017-06-22 2019-01-01 索意互动(北京)信息技术有限公司 一种客户端、服务器、检索方法及其系统
CN109145092A (zh) * 2017-06-15 2019-01-04 阿里巴巴集团控股有限公司 一种数据库更新、智能问答管理方法、装置及其设备
CN111368697A (zh) * 2020-02-28 2020-07-03 中国建设银行股份有限公司 一种信息识别方法和装置
CN111552768A (zh) * 2020-03-26 2020-08-18 平安医疗健康管理股份有限公司 基于自然语言理解的信息搜索方法、装置、设备及可读存储介质
CN111612547A (zh) * 2020-05-27 2020-09-01 恩亿科(北京)数据科技有限公司 广告创意图片生成方法、装置、计算机设备及存储介质
CN113421565A (zh) * 2021-07-19 2021-09-21 北京百度网讯科技有限公司 搜索方法、装置、电子设备以及存储介质

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9955203B2 (en) 2013-09-24 2018-04-24 Ericsson Ab Recording device and method for efficient network personal video recorder manipulation through adaptive bit rate streaming
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
CN105279168B (zh) 2014-06-24 2019-04-23 华为技术有限公司 支持自然语言的数据查询方法、开放平台及用户终端
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9619555B2 (en) * 2014-10-02 2017-04-11 Shahbaz Anwar System and process for natural language processing and reporting
CN104601202B (zh) * 2014-12-23 2019-04-23 惠州Tcl移动通信有限公司 基于蓝牙技术实现文件搜索的方法、终端及蓝牙设备
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
CN106156110B (zh) * 2015-04-03 2019-07-30 科大讯飞股份有限公司 文本语义理解方法及系统
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
CN105245707A (zh) * 2015-09-28 2016-01-13 努比亚技术有限公司 一种移动终端及处理信息的方法
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
CN105701234A (zh) * 2016-02-19 2016-06-22 浪潮通用软件有限公司 一种基于c#全文检索的实现方法
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
JP6784084B2 (ja) * 2016-07-27 2020-11-11 富士通株式会社 符号化プログラム、符号化装置、符号化方法、及び検索方法
US10540513B2 (en) 2016-09-13 2020-01-21 Microsoft Technology Licensing, Llc Natural language processor extension transmission data protection
CN107818109A (zh) * 2016-09-13 2018-03-20 北京优朋普乐科技有限公司 一种显示电视节目检索结果的方法及装置
US10503767B2 (en) * 2016-09-13 2019-12-10 Microsoft Technology Licensing, Llc Computerized natural language query intent dispatching
US10296586B2 (en) * 2016-12-23 2019-05-21 Soundhound, Inc. Predicting human behavior by machine learning of natural language interpretations
CN108345610A (zh) * 2017-01-24 2018-07-31 北京搜狗科技发展有限公司 一种获取数据资源的方法和装置、用于获取数据资源的装置
CN106874467B (zh) * 2017-02-15 2019-12-06 百度在线网络技术(北京)有限公司 用于提供搜索结果的方法和装置
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
CN107547911B (zh) * 2017-08-31 2020-04-24 江西博瑞彤芸科技有限公司 一种节目信息搜索方法
US20190096397A1 (en) * 2017-09-22 2019-03-28 GM Global Technology Operations LLC Method and apparatus for providing feedback
CN107707745A (zh) * 2017-09-25 2018-02-16 百度在线网络技术(北京)有限公司 用于提取信息的方法和装置
KR102348124B1 (ko) * 2017-11-07 2022-01-07 현대자동차주식회사 차량의 기능 추천 장치 및 방법
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
CN110692040A (zh) 2018-05-07 2020-01-14 谷歌有限责任公司 在网络系统中激活远程设备
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
CN109241259B (zh) * 2018-08-24 2021-01-05 国网江苏省电力有限公司苏州供电分公司 基于er模型的自然语言查询方法、装置及系统
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10789266B2 (en) 2019-02-08 2020-09-29 Innovaccer Inc. System and method for extraction and conversion of electronic health information for training a computerized data model for algorithmic detection of non-linearity in a data
US11106934B2 (en) 2019-02-11 2021-08-31 Innovaccer Inc. Automatic visual display overlays of contextually related data from multiple applications
US10706045B1 (en) * 2019-02-11 2020-07-07 Innovaccer Inc. Natural language querying of a data lake using contextualized knowledge bases
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) * 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
CN110221971B (zh) * 2019-05-21 2023-01-24 口口相传(北京)网络技术有限公司 搜索引擎的测试方法及装置、电子设备、存储介质
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN110418181B (zh) * 2019-07-25 2021-09-28 腾讯科技(深圳)有限公司 对智能电视的业务处理方法、装置、智能设备及存储介质
KR20210047173A (ko) * 2019-10-21 2021-04-29 엘지전자 주식회사 오인식된 단어를 바로잡아 음성을 인식하는 인공 지능 장치 및 그 방법
US10789461B1 (en) 2019-10-24 2020-09-29 Innovaccer Inc. Automated systems and methods for textual extraction of relevant data elements from an electronic clinical document
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
EP4158855A1 (en) * 2020-06-02 2023-04-05 Liveperson, Inc. Systems and method for intent messaging
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
TWI799822B (zh) * 2021-03-26 2023-04-21 卓騰語言科技股份有限公司 自然語言對話意圖分析方法
CN113626715A (zh) * 2021-08-26 2021-11-09 北京字跳网络技术有限公司 查询结果显示方法、装置、介质和电子设备
CN115510074B (zh) * 2022-11-09 2023-03-03 成都了了科技有限公司 基于一张表的分布式数据管理及应用系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144162A1 (en) * 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent
CN1952928A (zh) * 2005-10-20 2007-04-25 梁威 建立自然语言知识库及其自动问答检索的计算机系统
CN101079074A (zh) * 2007-07-26 2007-11-28 杭州华三通信技术有限公司 一种数据存储与检索的方法及系统
CN101645085A (zh) * 2009-09-03 2010-02-10 北京用友移动商务科技有限公司 不规则字段存储方法和系统
US20120117057A1 (en) * 2010-11-05 2012-05-10 Verizon Patent And Licensing Inc. Searching recorded or viewed content

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US7318068B2 (en) * 2004-07-22 2008-01-08 International Business Machines Corporation Synchronization of application documentation across database instances
US20080155426A1 (en) * 2006-12-21 2008-06-26 Microsoft Corporation Visualization and navigation of search results
US7921309B1 (en) * 2007-05-21 2011-04-05 Amazon Technologies Systems and methods for determining and managing the power remaining in a handheld electronic device
US8634947B1 (en) * 2009-10-21 2014-01-21 Michael Merhej System and method for identifying digital files
US8650173B2 (en) * 2010-06-23 2014-02-11 Microsoft Corporation Placement of search results using user intent
US9355179B2 (en) * 2010-09-24 2016-05-31 Microsoft Technology Licensing, Llc Visual-cue refinement of user query results
US9129010B2 (en) * 2011-05-16 2015-09-08 Argo Data Resource Corporation System and method of partitioned lexicographic search
US20160217181A1 (en) * 2012-07-31 2016-07-28 Google Inc. Annotating Query Suggestions With Descriptions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144162A1 (en) * 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent
CN1952928A (zh) * 2005-10-20 2007-04-25 梁威 建立自然语言知识库及其自动问答检索的计算机系统
CN101079074A (zh) * 2007-07-26 2007-11-28 杭州华三通信技术有限公司 一种数据存储与检索的方法及系统
CN101645085A (zh) * 2009-09-03 2010-02-10 北京用友移动商务科技有限公司 不规则字段存储方法和系统
US20120117057A1 (en) * 2010-11-05 2012-05-10 Verizon Patent And Licensing Inc. Searching recorded or viewed content

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145092A (zh) * 2017-06-15 2019-01-04 阿里巴巴集团控股有限公司 一种数据库更新、智能问答管理方法、装置及其设备
CN109145092B (zh) * 2017-06-15 2022-05-17 阿里巴巴集团控股有限公司 一种数据库更新、智能问答管理方法、装置及其设备
CN109117435A (zh) * 2017-06-22 2019-01-01 索意互动(北京)信息技术有限公司 一种客户端、服务器、检索方法及其系统
CN108363757A (zh) * 2018-02-01 2018-08-03 广东梦森信息科技有限公司 基于OpenCyc的自然语言识别算法与系统
CN111368697A (zh) * 2020-02-28 2020-07-03 中国建设银行股份有限公司 一种信息识别方法和装置
CN111552768A (zh) * 2020-03-26 2020-08-18 平安医疗健康管理股份有限公司 基于自然语言理解的信息搜索方法、装置、设备及可读存储介质
CN111552768B (zh) * 2020-03-26 2022-07-19 深圳平安医疗健康科技服务有限公司 基于自然语言理解的信息搜索方法、装置、设备及可读存储介质
CN111612547A (zh) * 2020-05-27 2020-09-01 恩亿科(北京)数据科技有限公司 广告创意图片生成方法、装置、计算机设备及存储介质
CN111612547B (zh) * 2020-05-27 2023-11-03 恩亿科(北京)数据科技有限公司 广告创意图片生成方法、装置、计算机设备及存储介质
CN113421565A (zh) * 2021-07-19 2021-09-21 北京百度网讯科技有限公司 搜索方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN103761242B (zh) 2017-11-10
US9715524B1 (en) 2017-07-25
US20140188835A1 (en) 2014-07-03
CN103049567A (zh) 2013-04-17
US9646000B2 (en) 2017-05-09
US20170193038A1 (en) 2017-07-06
CN103218463A (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
CN103268315B (zh) 自然语言对话方法及其系统
CN103761242A (zh) 检索方法、检索系统以及自然语言理解系统
CN103279508A (zh) 修正语音应答的方法及自然语言对话系统
CN103280218A (zh) 基于语音识别的选择方法及其移动终端装置及信息系统
US20210173834A1 (en) Method and system for capturing and exploiting user intent in a conversational interaction based information retrieval system
CN104933113B (zh) 一种基于语义理解的表情输入方法和装置
US20100100371A1 (en) Method, System, and Apparatus for Message Generation
WO2017151400A1 (en) Interpreting and resolving conditional natural language queries
CN102968987A (zh) 一种语音识别方法及系统
CN107977238A (zh) 应用启动方法及装置
WO2017032084A1 (zh) 一种信息输出方法及装置
CN111563151B (zh) 一种信息采集的方法、会话配置的方法、装置及存储介质
CN116483980A (zh) 人机交互方法、装置及系统
CN112527983A (zh) 一种个性化政务人机自然交互服务系统
Sun et al. Understanding user’s cross-domain intentions in spoken dialog systems
TWI578175B (zh) 檢索方法、檢索系統以及自然語言理解系統
WO2024036616A1 (zh) 一种基于终端的问答方法及装置
CN117520552B (zh) 政策文本处理方法、装置、设备及存储介质
CN117520552A (zh) 政策文本处理方法、装置、设备及存储介质
CN117194620A (zh) 信息处理方法、装置、设备及存储介质
CN116414998A (zh) 一种资源反馈的方法、相关装置、设备以及存储介质
CN115312058A (zh) 文本显示方法、电子设备及装置
CN113032661A (zh) 一种信息交互方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant