將自然語言翻譯成計算機語言的方法、語義分析器及人機對話系統的製作方法
2023-07-05 18:20:21 1
將自然語言翻譯成計算機語言的方法、語義分析器及人機對話系統的製作方法
【專利摘要】本發明涉及計算機領域,具體說是將自然語言翻譯成計算機語言的方法、語義分析器及人機對話系統,其包括將自然語言輸入計算機,計算機提取語法成分、邏輯聯接詞和邏輯語義,並將其分別翻譯成字符串代碼、指令代碼和二進位代碼,然後將代碼拼接成計算機可識別的程序語言。本發明按照電腦程式的映射、拼接方法對各語法成分進行技術處理,從而將任何自然語言翻譯成計算機可識別的程序語言,解決了計算機對自然語言理解的技術難題,為開發深層智能化電子產品奠定了技術基礎,可以實現人與計算機的對話和交談。
【專利說明】將自然語言翻譯成計算機語言的方法、語義分析器及人機對話系統
【技術領域】
[0001]本發明涉及計算機領域,具體說是將一種將自然語言翻譯成計算機語言的方法、利用該方法製成的語義分析器及人機對話系統。
【背景技術】
[0002]人類日常生活中用於傳遞信息和進行交流的語言,是自然語言,包括口頭語言即語音,和書面語言即文字兩種基本形式。自然語言是人類在改造客觀世界的過程中產生的,並隨著人類社會和客觀世界的變化而不斷發展。人類自然語言中所涉及的每一概念總是與客觀世界中的某一具體事物或事件相對應,由於客觀世界中的任一具體事物或事件的存在形式總是一個特定的唯一對象,所以人類自然語言中的概念或詞語所及的任一特定事物或事件也必然是唯一的對象。
[0003]當今社會已進入到了一個科技日新月異的時代。其中,一個最明顯的標誌是高科技信息產品大量湧入消費市場。它們為人們的工作,生活,交流,學習和通信帶來了很大的便利和享受。另一方面,高科技信息產品的普及也為高科技信息產品自身的提升帶來很大挑戰。其中一大挑戰是基於自然語言的人機對話。要實現基於自然語言的人機對話,有兩大問題需要解決。一是把語音信號轉換成文字符號;二是把文字符號轉換成計算機可識別的程序語言。目前,第一個問題已得到較好解決,它就是人們通常所說的語音識別技術。但是,當今的語音識別技術沒有解決計算機對自然語言文字的理解這個問題。比如,現有的人機對話系統和信息搜索產品都使用查表算法。從根本上說,它們都沒有解決機器對自然語言文字的識別和理解。這一缺陷導致很多高科技產品,無法實現一些非常有用的功能。
[0004]目前,世界上沒有一臺電腦能懂得人們日常用的自然語言,也就是說,人們還無法通過自然語言去告訴電腦要去做什麼,或回答人們的提問。展望未來,在日本等國家的推動下,家用機器人將成為普及率很高的消費品之一。為了實現這個商業目標,目前急待要解決的一大技術難題是怎麼將自然語言翻譯成計算機語言。
[0005]由於將自然語言翻譯成計算機語言是一個技術難題,目前市場上出現的人機對話裝置均不能實現深層智能化應用需求的自然語言識別和理解功能,如根據人的自然語言作出響應、通過語音信號所表達的語義直接完成具體操作等。
【發明內容】
[0006]針對計算機無法對自然語言識別的技術問題,本發明的目的在於提供一種將自然語言翻譯成計算機語言的方法。
[0007]本發明解決上述技術問題採用的技術方案為:一種將自然語言翻譯成計算機語言的方法,其包括以下步驟:
[0008]( I)將自然語言輸入計算機;
[0009](2)計算機利用詞庫和自然語言分詞規則識別提取自然語言文字中的語法成分、邏輯聯結詞和邏輯語義,並基於信息管理庫將語法成分翻譯成表示計算機面向對象語言中的基本元素名稱的字符串代碼、將邏輯聯結詞翻譯成表示程序控制的程序轉移指令代碼、將邏輯語義翻譯成表示肯定和否定的二進位代碼;
[0010](3)將所述字符串代碼、程序轉移指令代碼和二進位代碼拼接成計算機可識別的
程序語言。
[0011]進一步地,步驟(2)中計算機識別和提取自然語言文字中的主語、謂語、定語、賓語、狀語和補語六種語法成分,並將其對應為計算機面向對象語言中的對象、函數、屬性和參數四種基本元素,其中主語翻譯為表示對象名稱的字符串代碼,謂語翻譯為表示函數名稱的字符串代碼,定語翻譯為表示屬性或參數名稱的字符串代碼,賓語、狀語和補語翻譯為表示參數名稱的字符串代碼。
[0012]進一步地,步驟(2)中所述邏輯聯結詞包括與、或、條件三種,分別對應與、或、條件三種邏輯關係,並將其分別翻譯成順序轉移指令代碼、選擇轉移指令代碼和條件轉移指令代碼。
[0013]進一步地,步驟(2)中所述邏輯語義是指主語和謂語中表示肯定和否定的兩種語義,當主語和謂語中出現如沒、不、非和無等否定詞時,為否定邏輯語義,否則為肯定邏輯語義,並將其編碼為二進位代碼,否定為0,肯定為I。
[0014]進一步地,所述詞庫存儲單詞、詞組及與單詞和詞組對應的詞性。
[0015]上述技術方案根據語法規則對自然語言進行語法成分的劃分,按照電腦程式的映射、拼接方法對各語法成分進行技術處理,從而將任何自然語言翻譯成計算機可識別的程序語言,實現了計算機對自然語言的識別和理解,為開發深層智能化電子產品奠定了技術基礎。
[0016]本發明還提供一種語義分析器,該語義分析器按照上述方法製成,其可通過軟體或硬體形式表現,以達到將自然語言翻譯為計算機語言可識別的程序語言的目的。
[0017]針對現有電子產品不能實現深層智能化的技術問題,本發明提供一種包含上述語義分析器的人機對話系統,還包括:
[0018]語音轉換器,將自然語言的語音實時轉換成文字;
[0019]編譯執行器:調用類庫,動態編譯所述語義分析器的程序語言,並執行,完成功能操作。
[0020]進一步地,還包括控制顯示器或播放器,所述功能操作為根據語義要求動態生成對應的資源調用信息;控制顯示器或播放器接收資源調用信息,根據調用信息顯示或播放資源庫內對應的資源。
[0021]進一步地,所述信息管理庫存儲詞庫、類庫和資源庫之間的對應關係;所述資源庫存儲與文字對應的信息資源;所述類庫存儲功能類的類文件。
[0022]進一步地,信息資源包括文本、圖片、視頻和動漫資源。
[0023]上述方案通過人機對話系統實現人與計算機之間的對話和交談,計算機可對人的自然語言作出響應,並可通過語音信號所表達的語義直接完成具體操作。因而,該系統可廣泛應用於未來語義網際網路、物聯網、機器人控制以及人工智慧和簡化計算機硬體系統的各種前沿領域中。【專利附圖】
【附圖說明】
[0024]圖1是本發明的方法的流程圖;
[0025]圖2是本發明人機對話系統的結構框圖。
【具體實施方式】
[0026]下面結合圖1對本發明的方法作進一步的詳細說明:
[0027]本發明的方法包括以下步驟:
[0028](I)將自然語言輸入計算機;自然語言包括語音和文字,如果輸入的是語音,則須轉換成文字。
[0029](2)計算機利用詞庫和自然語言分詞規則識別提取自然語言文字中的語法成分、邏輯聯結詞和邏輯語義,並基於信息管理庫分別將語法成分翻譯成表示計算機面向對象語言中的基本元素名稱的字符串代碼、將邏輯聯結詞翻譯成表示程序控制的程序轉移指令代碼、將邏輯語義翻譯成表示肯定和否定的二進位代碼;其中語法成分包括主語、謂語、賓語、定語、狀語和補語六種。本方案基於詞語詞性與語法成分之間的對應關係和語法成分的結構規律所採用的識別方法為:
[0030]語句中的第一個名詞或代詞是主語,主語前有名詞或者代詞作定語修飾的以結構助詞「的」作為識別標記;
[0031]語句中的最後一個動詞是謂語,謂語中沒有動詞的形容詞是謂語,謂語後有補語修飾的以結構助詞「得」作為識別標記,;
[0032]主語之前的成分是定語,定語的個數可以是零,也可以是一個或者多個;
`[0033]謂語之前的成分是狀語,狀語的個數可以是零,也可以是一個或者多個;
[0034]謂語之後的成分是賓語或補語,賓語的詞性是名詞或者代詞,賓語之前可有定語修飾,修飾賓語的定語以「的」字作為識別標記,補語以「得」字標記;
[0035]本申請並不限於上述識別規則,還可通過其他的規則提取語法成分。六種語法成分與表示計算機面向對象語言的對象、函數、屬性和參數四種基本元素名稱對應,具體為主語翻譯為對象名稱的符串代碼,謂語翻譯為函數名稱的字符串代碼,定語翻譯為屬性或參數名稱的字符串代碼;當定語修飾主語時,翻譯為屬性名稱的字符串代碼;當定語修飾賓語時,翻譯為類庫參數名稱的字符串代碼;賓語、狀語和補語翻譯為參數名稱的字符串代碼。
[0036]本方案基於自然語句之間的邏輯聯結規律,識別邏輯聯結詞,其中邏輯聯結詞包括與(合取)、或(析取)、條件(蘊涵)三種,分別對應與、或、條件三種邏輯關係,並將其分別翻譯成順序轉移指令代碼、選擇轉移指令代碼和條件轉移指令代碼,選擇轉移指令代碼又稱跳轉轉移指令代碼。其中:
[0037]與關係聯結詞有:並且…並且…(並列語義關係),不但…而且…(遞進語義關係),雖然…但是…(轉折語義關係)等;
[0038]或關係聯結詞有:或者…或者…(選擇語義關係),要麼…要麼…(擇一語義關係)等;
[0039]條件關係聯結詞有:如果…那麼…(條件語義關係),因為…所以…(因果語義關係)等;[0040]語句之間沒有聯結詞的默認為與邏輯關係,即順序轉移。
[0041]本方案基於數字邏輯規則,將邏輯語義編碼為二進位代碼,其中邏輯語義是指主語和謂語中表示肯定和否定的兩種語義,當主語和謂語中出現如沒、不、非和無等否定詞時,為否定邏輯語義,否則為肯定邏輯語義,並將其編碼為二進位代碼,否定為0,肯定為I。
[0042](3)將所述字符串代碼、程序轉移指令代碼和二進位代碼拼接成計算機可識別的
程序語言。
[0043]在上述技術方案中,詞庫存儲單詞、詞組及與單詞和詞組對應的詞性。詞庫分為公共詞庫、用戶詞庫。公共詞庫由開發方進行維護更新,所有用戶共享。每一個用戶擁有自己的詞庫,由管理員進行維護,用戶根據自己需求更新,僅供個人使用。
[0044]下面舉例說明上述實現過程:
[0045]如向計算機輸入文字「可愛的小猴子高興地吃桃子。大象摘蘋果。」這句話,根據語法規則「小猴子」、「大象」為主語,「買」、「摘」為謂語,「可愛的」為定語,「桃子」、「蘋果」為賓語,「高興地」為狀語。計算機首先利用詞庫中對應的詞語和詞性分別提取這些語法成分,然後將「小猴子」、「大象」分析為計算機語言中的對象,「買」、「摘」分析為函數,「可愛的」分析為屬性,「桃子」、「蘋果」、「高興地」分析為參數,並利用信息管理庫將「小猴子」、「大象」翻譯為對象名稱的字符串代碼,即JHd0albaefd7d3和JHb4f3cff3,將「買」、「摘」翻譯為函數的字符串代碼,即JHc2f2和JHd5aa,將「可愛的」翻譯為屬性名稱的字符串代碼,即JHbfC9b0aeb5c4,將「桃子」、「蘋果」、「高興地」翻譯為參數名稱的字符串代碼,即JHccd2d7d3、JHc6bbb9f b和JHb8dfd0cbb5d8 ;然後對上述文字進行邏輯連接詞分析,由於無邏輯聯結詞,默認為順序轉移,並翻譯成順序轉移指令代碼null ;再對上述文字進行邏輯語義分析,前一句主語中沒有出現否定詞,默認為肯定語義,並翻譯為對應的二進位代碼1,而謂語中也沒有出現否定詞,因此翻譯為I。後一句主語中沒有出現否定詞,默認為肯定語義,並翻譯為對應的二進位代碼1,而謂語中也沒有出現否定詞,因此翻譯為I ;接著將上述的字符串代碼、指令代碼和二進位代碼進行拼接,從而形成計算機可識別的程序語言,具體為:
[0046]
【權利要求】
1.將自然語言翻譯成計算機語言的方法,其包括以下步驟: (1)將自然語言輸入計算機; (2)計算機利用詞庫和分詞規則識別提取自然語言文字中的語法成分、邏輯聯結詞和邏輯語義,並基於信息管理庫將語法成分翻譯成表示計算機面向對象語言中的基本元素名稱的字符串代碼、將邏輯聯結詞翻譯成表示程序控制的程序轉移指令代碼、將邏輯語義翻譯成表示肯定和否定的二進位代碼; (3)將所述字符串代碼、程序轉移指令代碼和二進位代碼拼接成計算機可識別的程序;五古P口口 ο
2.根據權利要求1所述的方法,其特徵在於:步驟(2)中計算機識別和提取文字中的主語、謂語、定語、賓語、狀語和補語六種語法成分,並將其對應為計算機面向對象語言中的對象、函數、屬性和參數四種基本元素名稱,其中主語翻譯為表示對象名稱的字符串代碼,謂語翻譯為表示函數名稱的字符串代碼,定語翻譯為表示屬性或參數名稱的字符串代碼,賓語、狀語和補語翻譯為表示參數名稱的字符串代碼。
3.根據權利要求1所述的方法,其特徵在於:步驟(2)中所述邏輯聯結詞包括與、或、條件三種,分別對應與、或、條件三種邏輯關係,並將其分別翻譯成順序轉移指令代碼、選擇轉移指令代碼和條件轉移指令代碼。
4.根據權利要求2所述的方法,其特徵在於:步驟(2)中所述邏輯語義是指主語和謂語中表示肯定和否定的兩種語義。
5.根據權利要求1所述的方法,其特徵在於:所述詞庫存儲單詞、詞組及與單詞和詞組對應的詞性。
6.一種根據權利要求1至5中任一項所述方法製成的語義分析器,其特徵在於:所述語義分析器採用軟體或硬體形式。
7.一種包含權利要求6所述語義分析器的人機對話系統,其特徵在於:還包括: 語音轉換器,將自然語言的語音實時轉換成文字; 編譯執行器:調用類庫,動態編譯所述語義分析器的程序語言,並執行,完成功能操作。
8.根據權利要求7所述的人機對話系統,其特徵在於:還包括控制顯示器或播放器,所述功能操作為根據語義要求動態生成對應的資源調用信息;控制顯示器或播放器接收資源調用信息,根據調用信息顯示或播放資源庫內對應的資源。
9.根據權利要求8所述的人機對話系統,其特徵在於:所述信息管理庫存儲詞庫、類庫和資源庫之間的對應關係;所述資源庫存儲與文字對應的信息資源;所述類庫存儲功能類的類文件。
10.根據權利要求1所述的方法,其特徵在於:信息資源包括文本、圖片、視頻和動漫資源。
【文檔編號】G06F17/28GK103617159SQ201310657042
【公開日】2014年3月5日 申請日期:2013年12月6日 優先權日:2012年12月7日
【發明者】萬繼華 申請人:萬繼華