一種計(jì)算機(jī)語(yǔ)義工程系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)自然語(yǔ)言理解領(lǐng)域,具體涉及一種新的理論和方法的創(chuàng)新和基于該新理論和方法的應(yīng)用系統(tǒng)創(chuàng)建。
[0002]
【背景技術(shù)】
[0003]在計(jì)算機(jī)中文自然語(yǔ)言理解領(lǐng)域里,針對(duì)語(yǔ)義的研究往往稱為“語(yǔ)義識(shí)別”或“語(yǔ)義理解”,而不叫“語(yǔ)義工程”。因?yàn)檫@里的“語(yǔ)義”指得是人類語(yǔ)言中的語(yǔ)義,它由人類在生活中創(chuàng)建,計(jì)算機(jī)只有“識(shí)別”和“理解”的份。本發(fā)明申請(qǐng)保護(hù)的語(yǔ)義工程系統(tǒng)中的“語(yǔ)義”指得是計(jì)算機(jī)自己定義的語(yǔ)義。語(yǔ)義工程系統(tǒng)中的“工程”指得是計(jì)算機(jī)應(yīng)用工程的方法自己創(chuàng)建、積累、管理、維護(hù)和完善其語(yǔ)義體系。簡(jiǎn)言之,業(yè)內(nèi)的語(yǔ)義研究是讓計(jì)算機(jī)被動(dòng)地去理解人類的語(yǔ)義,而本發(fā)明的語(yǔ)義工程是讓計(jì)算機(jī)主動(dòng)地創(chuàng)建和維護(hù)自身的語(yǔ)義。
【發(fā)明內(nèi)容】
[0004]實(shí)際上,人類編寫的所有計(jì)算機(jī)程序都可以看作是計(jì)算機(jī)的一種簡(jiǎn)單的語(yǔ)義系統(tǒng)。它的語(yǔ)義模型體現(xiàn)在計(jì)算機(jī)程序代碼所隱含的規(guī)則中,語(yǔ)義實(shí)例存儲(chǔ)在各種程序變量或數(shù)據(jù)庫(kù)數(shù)據(jù)中,其語(yǔ)義應(yīng)用引擎就是程序本身的功能和可調(diào)用的功能函數(shù)。需要強(qiáng)調(diào)的是,對(duì)于計(jì)算機(jī)程序,無(wú)論是語(yǔ)義模型、語(yǔ)義實(shí)例,還是語(yǔ)義應(yīng)用引擎都是程序員輸入計(jì)算機(jī)并固化在計(jì)算機(jī)之中的,計(jì)算機(jī)只是按程式機(jī)械地、被動(dòng)地做出反應(yīng)。人工智能系統(tǒng)與計(jì)算機(jī)程序最大的不同在于計(jì)算機(jī)的語(yǔ)義和語(yǔ)義應(yīng)用引擎都可能由計(jì)算機(jī)自己創(chuàng)造和完善。但是,大多數(shù)傳統(tǒng)的人工智能研究依然沿用了程序員編程的方法,沒有區(qū)分語(yǔ)義創(chuàng)建和語(yǔ)義應(yīng)用引擎創(chuàng)建,而是緊耦合地把它們寫在一個(gè)程序里。所以,以往的人工智能系統(tǒng)異常復(fù)雜,而且通用性差。
[0005]本發(fā)明申請(qǐng)保護(hù)的首要?jiǎng)?chuàng)新就是把人工智能研究中的語(yǔ)義系統(tǒng)分解為語(yǔ)義創(chuàng)建系統(tǒng)和語(yǔ)義應(yīng)用引擎創(chuàng)建系統(tǒng)。就像人類可以把學(xué)習(xí)知識(shí)和學(xué)習(xí)技能分開一樣。二者可以分別取得突破。本發(fā)明的語(yǔ)義工程系統(tǒng)主要是完成計(jì)算機(jī)自己創(chuàng)建語(yǔ)義的部分,而把創(chuàng)建語(yǔ)義應(yīng)用引擎的部分做成開放的開發(fā)環(huán)境,供第三方程序員來(lái)創(chuàng)造。至于如何讓計(jì)算機(jī)自己創(chuàng)建語(yǔ)義應(yīng)用引擎將申請(qǐng)另外的發(fā)明專利給予公開。
[0006]在構(gòu)建計(jì)算機(jī)語(yǔ)義工程系統(tǒng)的語(yǔ)義模型時(shí),我曾經(jīng)嘗試了很多業(yè)內(nèi)已有的數(shù)學(xué)建模方法,包括基于本體論的OWL建模方法,但是都不理想。原因是沒有一個(gè)數(shù)學(xué)模型可以滿足圖靈機(jī)的完備性,即:可以讓計(jì)算機(jī)模擬世界上任意復(fù)雜的現(xiàn)象?;跀?shù)學(xué)算法的知識(shí)模型只能在特定的領(lǐng)域的小范圍內(nèi)適用,一旦面對(duì)大數(shù)據(jù)的復(fù)雜社會(huì)現(xiàn)象就會(huì)失效。在反復(fù)嘗試中我發(fā)現(xiàn),只有人類的自然語(yǔ)言可以描述任意復(fù)雜的社會(huì)現(xiàn)象。世界上一個(gè)民族、部落,無(wú)論多么落后,甚至一點(diǎn)都不懂?dāng)?shù)學(xué),但是,他們的語(yǔ)言體系都是完善的,人們從未感到因?yàn)檎Z(yǔ)言的缺陷而不能溝通。更重要的是,語(yǔ)言的規(guī)則一一語(yǔ)法,比數(shù)學(xué)算法要容易掌握得多。
[0007]本發(fā)明申請(qǐng)保護(hù)的第二項(xiàng)重要?jiǎng)?chuàng)新是用類自然語(yǔ)言描述模型代替數(shù)學(xué)算法模型來(lái)構(gòu)建語(yǔ)義工程系統(tǒng)的語(yǔ)義模型,以此增強(qiáng)語(yǔ)義工程系統(tǒng)的普適性。在搭建語(yǔ)義結(jié)構(gòu)時(shí)充分吸收了中國(guó)古老哲學(xué)《易經(jīng)》的思想,包括:動(dòng)與靜、陰與陽(yáng)、數(shù)碼符、時(shí)間序、空間序、周期律和全息律等等。同時(shí),采用自然語(yǔ)言語(yǔ)句作為語(yǔ)義表達(dá)式,采用自然語(yǔ)言語(yǔ)法作為語(yǔ)義模型的描述規(guī)則(作用類似數(shù)據(jù)庫(kù)的S Q L)。
[0008]計(jì)算機(jī)的“語(yǔ)義”是一個(gè)廣義的概念,不一定是人類語(yǔ)言的語(yǔ)義。我們可以讓語(yǔ)義工程系統(tǒng)針對(duì)任何特定的知識(shí)領(lǐng)域構(gòu)造計(jì)算機(jī)專用的“語(yǔ)義”,開發(fā)專用的語(yǔ)義應(yīng)用引擎。這也是目前很多人工智能系統(tǒng)采用的方法。這種方法的缺陷是沒有通用性。本發(fā)明為了增強(qiáng)系統(tǒng)的通用性和處理復(fù)雜大數(shù)據(jù)的能力,采用了類自然語(yǔ)言的描述模型作為計(jì)算機(jī)語(yǔ)義模型。故此,本發(fā)明的計(jì)算機(jī)語(yǔ)義工程系統(tǒng)特別適合中文自然語(yǔ)言理解的研究。為達(dá)此目標(biāo),本發(fā)明申請(qǐng)保護(hù)的第三項(xiàng)創(chuàng)新是讓計(jì)算機(jī)模擬人類的認(rèn)知過(guò)程,用計(jì)算機(jī)自身創(chuàng)造的“語(yǔ)義”去逼近人類在生活中創(chuàng)造的語(yǔ)義,從而實(shí)現(xiàn)中文自然語(yǔ)言的“語(yǔ)義理解”。
[0009]當(dāng)前業(yè)界很多計(jì)算機(jī)中文自然語(yǔ)言理解的研究放棄了原先模仿人類思維的研究方法,轉(zhuǎn)而采用大規(guī)模預(yù)料的統(tǒng)計(jì)方法,因而只能算是“中文信息處理”研究,即:從真實(shí)的中文文本信息中提煉一些有用的信息,遠(yuǎn)遠(yuǎn)達(dá)不到語(yǔ)義理解的程度。而本發(fā)明的語(yǔ)義工程系統(tǒng)有望逼近中文自然語(yǔ)言語(yǔ)義理解研究原定的目標(biāo)。
【發(fā)明內(nèi)容】
[0010]本發(fā)明提供了一種計(jì)算機(jī)語(yǔ)義工程系統(tǒng),主要用于中文自然語(yǔ)言語(yǔ)義理解的研究,同時(shí)可以作為各類計(jì)算機(jī)智能化應(yīng)用的基礎(chǔ)技術(shù)解決方案。
[0011]本發(fā)明的計(jì)算機(jī)語(yǔ)義工程系統(tǒng),其特征在于:其包括一個(gè)計(jì)算機(jī)根據(jù)外部輸入信息,應(yīng)用工程法創(chuàng)造、積累、管理和自我完善計(jì)算機(jī)語(yǔ)義的系統(tǒng)。這里“語(yǔ)義”的概念不是指人們常說(shuō)的人類語(yǔ)言的語(yǔ)義,而是指計(jì)算機(jī)自身定義的、機(jī)器可以理解的語(yǔ)義。計(jì)算機(jī)理解的范圍包括其感知的范圍加上其所有語(yǔ)義應(yīng)用引擎功能的集合。
[0012]這個(gè)語(yǔ)義工程系統(tǒng),其特征還在于:為了讓計(jì)算機(jī)產(chǎn)生的“語(yǔ)義”與人類自然語(yǔ)言的“語(yǔ)義”盡量靠近,該系統(tǒng)的實(shí)現(xiàn)采納了計(jì)算機(jī)認(rèn)知結(jié)構(gòu)模擬人類認(rèn)知結(jié)構(gòu)的方法,即:用類自然語(yǔ)言模型代替數(shù)學(xué)模型為計(jì)算機(jī)構(gòu)造語(yǔ)義模型,計(jì)算機(jī)語(yǔ)義模型的描述語(yǔ)言就是人類自然語(yǔ)言,計(jì)算機(jī)語(yǔ)義模型描述語(yǔ)言的規(guī)則就是人類自然語(yǔ)言的語(yǔ)法。其中,
“認(rèn)知結(jié)構(gòu)”包括一個(gè)將輸入信息映射為計(jì)算機(jī)語(yǔ)義的過(guò)程和一個(gè)根據(jù)這種映射關(guān)系和一系列理解規(guī)則做出行為響應(yīng)的過(guò)程。
[0013]該語(yǔ)義工程系統(tǒng)的原理和各子系統(tǒng)的總體框架參見附圖一。它包括動(dòng)態(tài)語(yǔ)義大辭典、語(yǔ)義映射引擎、數(shù)碼大腦(Cyber Brain)、語(yǔ)義模型庫(kù)及其建模工具、語(yǔ)義學(xué)習(xí)引擎、語(yǔ)義應(yīng)用引擎開發(fā)環(huán)境、以及規(guī)則維護(hù)工具。其中,
優(yōu)選的,包括:動(dòng)態(tài)語(yǔ)義大辭典、語(yǔ)義模型、數(shù)碼大腦(Cyber Brain)、語(yǔ)義映射引擎、語(yǔ)義學(xué)習(xí)引擎、以及語(yǔ)義應(yīng)用引擎開發(fā)環(huán)境。
[0014]動(dòng)態(tài)語(yǔ)義大辭典是語(yǔ)義識(shí)別的基礎(chǔ),與傳統(tǒng)電子辭典的主要區(qū)別在于:傳統(tǒng)辭典中每個(gè)詞的注釋部分往往是一段由語(yǔ)言專家手工輸入的文字,是固定不變的;而動(dòng)態(tài)語(yǔ)義大辭典中每個(gè)詞的注釋部分將根據(jù)語(yǔ)義模型庫(kù)和數(shù)碼大腦的不斷豐富和完善而動(dòng)態(tài)變化。
[0015]語(yǔ)義模型模擬人類知識(shí)結(jié)構(gòu),其吸收了中國(guó)古老哲學(xué)《易經(jīng)》結(jié)構(gòu)化、數(shù)字化、動(dòng)與靜結(jié)合的建模思想,構(gòu)造獨(dú)特的計(jì)算機(jī)語(yǔ)義結(jié)構(gòu)。它與業(yè)內(nèi)其他語(yǔ)義模型的主要區(qū)別在于:傳統(tǒng)語(yǔ)義模型都是某種數(shù)學(xué)算法模型,包括當(dāng)今最火的本體論模型;而語(yǔ)義工程系統(tǒng)的語(yǔ)義模型采用的是類語(yǔ)言描述模型,數(shù)學(xué)只是這種模型的推理工具。
[0016]數(shù)碼大腦(Cyber Brain)存儲(chǔ)和管理語(yǔ)義實(shí)例,與各類知識(shí)庫(kù)或數(shù)據(jù)庫(kù)的區(qū)別在于:傳統(tǒng)知識(shí)庫(kù)或數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)是固定的,其存儲(chǔ)過(guò)程只是庫(kù)中的數(shù)據(jù)或知識(shí)量在增減;而數(shù)碼大腦的存儲(chǔ)結(jié)構(gòu)將根據(jù)語(yǔ)義實(shí)例存儲(chǔ)的需要和語(yǔ)義學(xué)習(xí)引擎的反饋而動(dòng)態(tài)地優(yōu)化。所以它不是“庫(kù)”,而是“腦”。
[0017]語(yǔ)義映射引擎完成語(yǔ)義識(shí)別和映射過(guò)程,是語(yǔ)義工程系統(tǒng)的基礎(chǔ)模塊,它決定了中文自然語(yǔ)言文本信息能否順利地轉(zhuǎn)化為語(yǔ)義工程系統(tǒng)數(shù)碼大腦中的語(yǔ)義實(shí)例。
[0018]語(yǔ)義學(xué)習(xí)引擎執(zhí)行語(yǔ)義工程,從海量的碎片化語(yǔ)義實(shí)例中提煉完整的語(yǔ)義實(shí)例,創(chuàng)建新的語(yǔ)義模型,不斷充實(shí)語(yǔ)義模型庫(kù)和改進(jìn)數(shù)碼大腦的存儲(chǔ)結(jié)構(gòu)。它是語(yǔ)義工程系統(tǒng)走向?qū)嵱没年P(guān)鍵模塊。
[0019]語(yǔ)義應(yīng)用引擎開發(fā)環(huán)境將兌現(xiàn)計(jì)算機(jī)創(chuàng)建的所有語(yǔ)義的價(jià)值。它與其它人工智能系統(tǒng)的類似模塊的主要區(qū)別在于:其它人工智能系統(tǒng)針對(duì)一套知識(shí)模型往往只提供一個(gè)具體的語(yǔ)義應(yīng)用引擎,完成某特定種類的行為;語(yǔ)義工程系統(tǒng)可以在一套語(yǔ)義模型中按不同顆粒度的語(yǔ)義組來(lái)設(shè)計(jì)不同的語(yǔ)義應(yīng)用引擎,最小的顆粒度可以是一個(gè)語(yǔ)義元。因此,語(yǔ)義工程系統(tǒng)將語(yǔ)義應(yīng)用引擎的創(chuàng)建設(shè)計(jì)為一個(gè)開放系統(tǒng),即:語(yǔ)義應(yīng)用引擎開發(fā)環(huán)境,供第三方利用數(shù)碼大腦開發(fā)各種不同的語(yǔ)義應(yīng)用引擎,實(shí)現(xiàn)語(yǔ)義工程系統(tǒng)語(yǔ)義價(jià)值的最大化。
[0020]圖1是計(jì)算機(jī)語(yǔ)義工程系統(tǒng)的原理框架圖。(參考說(shuō)明書附圖)
計(jì)算機(jī)的“語(yǔ)義”是一個(gè)廣義的概念,不一定是人類語(yǔ)言的語(yǔ)義。但是,能夠讓計(jì)算機(jī)逼近人類語(yǔ)言語(yǔ)義的理解是本發(fā)明的最高目標(biāo)。所以,接下來(lái)以中文自然語(yǔ)言語(yǔ)義理解為例,說(shuō)明本發(fā)明計(jì)算機(jī)語(yǔ)義工程系統(tǒng)的實(shí)現(xiàn)邏輯。
[0021]1)本發(fā)明的語(yǔ)義工程系統(tǒng)針對(duì)的大數(shù)據(jù)操作對(duì)象是互聯(lián)網(wǎng)海量的真實(shí)中文文本。系統(tǒng)輸入以文章為語(yǔ)義組,文章中的每一句話為一個(gè)完整的語(yǔ)義元,代表著某個(gè)語(yǔ)義模型中的一個(gè)碎片。一篇文章至少涉及一個(gè)語(yǔ)義模型,通常涉及很多語(yǔ)義模型。系統(tǒng)輸入一次處理一句話,即:語(yǔ)句標(biāo)點(diǎn)符號(hào)之間不間斷的字符串。不間斷字符串首先進(jìn)入的是語(yǔ)義映射引擎。該引擎調(diào)用動(dòng)態(tài)語(yǔ)義大辭典對(duì)輸入的字符串進(jìn)行切詞,并根據(jù)動(dòng)態(tài)語(yǔ)義大辭典對(duì)每一個(gè)詞的注釋(即:該詞在各種已知的語(yǔ)義模型中的用法)對(duì)切分出的詞進(jìn)行消歧、語(yǔ)義要素標(biāo)注,并識(shí)別出每一句話中的所有語(yǔ)義表達(dá)式。
[0022]2)每一個(gè)語(yǔ)義表達(dá)式背后都對(duì)應(yīng)著一個(gè)或多個(gè)語(yǔ)義模型。語(yǔ)義映射引擎根據(jù)識(shí)別出的語(yǔ)義表達(dá)式推導(dǎo)出應(yīng)該調(diào)用的語(yǔ)義模型或語(yǔ)義模型的實(shí)例。如果這些語(yǔ)義模型或語(yǔ)義模型的實(shí)例在語(yǔ)義模型庫(kù)中被定義過(guò)或在數(shù)碼大腦中被實(shí)例化過(guò),則語(yǔ)義映射引擎將把它們直接調(diào)出;如果其中某些語(yǔ)義模型在系統(tǒng)中不存在,則語(yǔ)義映射引擎將從語(yǔ)義表達(dá)式中獲取語(yǔ)義模型信息(因?yàn)轭愖匀徽Z(yǔ)言是語(yǔ)義模型的描述語(yǔ)言),并根據(jù)基于語(yǔ)義表達(dá)式創(chuàng)建