什麼是自然語言?
「自然語言通常是指一種自然地隨文化演化的語言。英語、漢語、日語為自然語言的例子,而世界語則為人造語言,即是一種由人蓄 意為某些特定目的而創造的語言。 不過,有時所有人類使用的語言(包括上述自然地隨文化演化的語言,以及人造語言) 都會被視為「自然」語言,以相對於如 程式語言等為計算機而設的「人造」語言。這一種用法可見於自然語言處理一詞中。自然語言是人類交流和思維的主要工具。 自然語言是人類智慧型的結晶,自然語 言處理是人工智慧中最為困難的問題之一,而對自然語言處理的研究也是充滿魅力和挑戰的。 」
什麼是泛型?
「泛型是程式語言的一種特性。允許程式設計師在強型別程式語言中編寫**時定義一些可變部分,那些部分在使用前必須作出 指明。各種程式語言和其編譯器、執行環境對泛型的支援均不一樣。將型別引數化以達到**復用提高軟體開發工作效率的一種資料型別。泛型類是引用型別, 是堆物件,主要是引入了型別引數這個概念。」
「程式語言,programming language。用於書寫電腦程式的語言。語言的基礎是一組記號和一組規則。根據規則由記號構成的記號串的總體就是語言。在程式語言中,這些記號 串就是程式。程式語言有3個 方面的因素,即語法、語義和語用。語法表示程式的結構或形式,亦即表示構成語言的各個記號之間的組合規律,但不涉及這些記 號的特定含義,也不涉及使用 者。語義表示程式的含義,亦即表示按照各種方法所表示的各個記號的特定含義,但不涉及使用者。語用表示程式與使用者的關係。 」
比如這麼一段程式,就實現了泛型。
class test
} 泛型不是自然語言裡的概念,那麼它們之間有關係嗎?
有關係。因為泛型是物件導向裡的概念,而物件導向是一種對現實世界理解和抽象的方法,自然語言也是對現實世界的一種理解,所以它們之間是有關係的。
比如說c#裡的list,它是乙個泛型類,把它翻譯成中文就是列表。
list;
t是佔位型別
list就像是乙個容器,可以向裡面放任何型別。
建立乙個list是這樣listlist = new list();
如果有乙個學生型別,那麼可以這樣list《學生》 list ;
如果用中文表示,可以這樣宣告 列表《學生》list,
去掉符號就是 學生列表list
「學生列表」這是符合自然語言的偏正短語。
這樣就證明了自然語言是支援泛型。最大的不同是型別名稱和佔位型別的前後位置不同,在程式語言是列表《學生》,在自然語言中是學生列表。
自然語言也支援兩個泛型引數的泛型類。
比如dictionary,根據它的功能用準確點的稱呼「鍵值表」。
比如宣告乙個dictionary《姓名,學生》,
就是宣告乙個姓名學生鍵值表。
「姓名學生鍵值表」這也是符合漢語語法的短語。
所以自然語言是支援程式語言中的泛型的。
自然語言處理
自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...
自然語言處理
前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...
自然語言處理
一 字串操作 去空格及特殊符號 s hello,world 預設把左右空格去掉 print s.strip print s.lstrip hello,print s.rstrip 查詢字元 0 為未找到 sstr1 strchr sstr2 tr 找到返回目標子串開始下標 npos sstr1.in...