N知識處理語言 - N Knowledge Manipulate Language
「N語言」的全稱為「N Knowledge Manipulate
Language」,即為「N知識處理語言」,在相關文件當中,我們一律採用「N語言」作為標準詞彙。
「N語言」為法則基礎的語言(Rule-Based
Language),專門設計用來處理「擬人智能技術」當中的「知識處理」,利用「法則庫」的替換,「N語言」理論上可以混合任何「程式語言」及「人類自
然語言」來進行「知識處理」。
「N語言」的內定規則是「N知識規則」,「N知識規則」可以指定所使用的「人類自然語言」,內定的人類自然語言是英文,不同的語言均可以指定出含
意空間、賦意域、法則庫及行動反應鏈。亦即,使用英文、俄語或中文等等語言,均可以進行「知識處理」或「程式設計」。
「N語言」的構思及細節與所有的傳統程式語言完全不相同,專門為「擬人智能」時代訂製,全新打造的新種類程式語言。
例如:英文當中的「Who the hell are you?」這個問句,在N語言當中,實際上是真的可以執行的語法。
Push answer into Variable YOURNAME from question: Who the hell are
you?
這一整句在N語言當中是真的可以執行的,但是,機器不同,環境設定不同,實際的執行項目就不一樣,這是N語言相對其他程式語言特殊的地方,實際執
行項目是一個被稱為「行動列表」的序列,不同的映射,實際執行不同內容。
「N語言」的最大特徵就是以「人腦直覺思考模式」作為設計基礎原則,是一種以「含意→行動」為基礎的程式設計方式。「N語言」設計師通常必須「解
釋」各種理由,讓機器主動「自主行動」。
與其他程式語言混用
改變所使用的法則庫,通用的語法如下:
Rule set C
在一個原訂為*.c檔(或*.n檔案)當中,使用者可以使用:
/*#!Rule set C */
來指定為C語言規則,強迫N語言編譯器使用C語言。
Rule set C++
在一個原訂為*.cpp檔(或*.n檔案)當中,使用者可以使用:
/*#!Rule set C++ */
//#!Rule set C++
來指定為C++語言規則,強迫N語言編譯器使用C++語言。
Rule set bash
在一個原訂為*.sh檔(或*.n檔案)當中,使用者可以使用:
#!Rule set bash
來指定為bash腳本規則,強迫N語言編譯器使用bash腳本。
Rule set FORTRAN
在一個原訂為*.f檔(或*.n檔案)當中,使用者可以使用:
!#!Rule set FORTRAN
來指定為FORTRAN語言規則,強迫N語言編譯器使用FORTRAN語言。
N知識規則
Rule set N
則將規則設置為「N知識規則」。
Rule language 1819.
或
Rule language English.
或
規則 語言 英文(中文規則下的語法,必須單行)
或
英文語言規則(必須單行)
切換成中文則如下:
Rule language 4871
Rule language Chinese Traditional
規則 語言 中文 正體
規則 語言 中文 繁體
繁體中文語言規則
正體中文語言規則
同時使用多種人類自然語言的語法
Rule language addition 7523 priority 2
Rule language addition Chinese Simplified priority 2
規則 語言 附加 中文 簡體 優先權 第二
附加簡體中文語言規則第二優先權
請記住,N語言當中是允許失效語法的,失效語法會直接被忽略掉,跳到下一個可執行的語法。
N語言的自我修改功能
例如一個about.n檔案中,about.n的N語言程式,可以自己修改about.n的內容,編譯的方式分成直譯階段、行動碼階段、JIT編
譯階段及執行碼階段,每一個階段都是可以執行的程式。
使用人類自然語言、自我修正的功能,都只有「N知識規則」才允許,被混合的程式語言本身是不允許自我修改程序的。
特有的法則庫
中文語言方程
Rule set CLF
如此即可設定中文語言方程表達式。
例如:「天龍人」組合字。
Assign OpDragonJunkie equals CLF ( 5 , 亻 , CLF ( 9 , 天 , 龍 ) )
Append OpDragonJunkie with CLF ( 9 , 王 , 八 )
這樣,就可以透過中文語言方程表達式,「天龍人王八」兩個漢字到OpDragonJunkie,其中「天龍人」是個自由組字的漢字。
諺文構字式
Rule set KLF
如此即可設定諺文構字表達式。