自然語言處理

出自維基百科,自由嘅百科全書
跳去導覽 跳去搵嘢
用家:「喂,Alexa,今日天氣點?我應該著咩衫出街?」
虛擬助理 Alexa:「今日嘅氣溫最高會去到成攝氏 26° 咁高,著短袖嘅裇衫就啱嗮。」

自然語言處理粵拼zi6 jin4 jyu5 jin4 cyu2 lei5英文natural language processingNLP)係人工智能(AI)同語言學嘅一個綜合領域,包含咗一系列用嚟教電腦處理同運算語言文字嘅技術,並且用呢啲技術嚟發展出有用嘅電腦系統[1]

NLP 嘅過程大致如下[1][2]

  • 人類平時講嘢用嘅語言係所謂嘅自然語言-英文、廣東話上海話等都係自然語言(相對於例如程式語言等唔係攞嚟講嘢用嘅語言);
  • NLP 嘅數據來源可以分做兩大類-前者指事先錄低嘅人講嘢嘅聲,而後者就係以文字形式呈現嘅語言,來源可以係網頁同各種嘅文件以及數據庫,例如好多 NLP 程式開始嗰陣都會有陳述式教部電腦由邊個邊個網頁嘅 HTML 嗰度攞要處理嗰段字;
  • 攞到要處理嘅數據做 input 之後,個 NLP 程式要有啲特定嘅演算法嚟處理段字,最後得出某啲 outputoutput 係乜就視用途而定-有啲程式目的係要翻譯段字,所以 input 係一段字,而 output 係一段用目標語言寫、意思等同 input 嗰段字嘅字[3]

喺廿一世紀初,NLP 俾 AI 研究者視為 AI 其中一個最重要嘅領域,例如好出名嘅 Google 翻譯就用咗 NLP 上嘅技術嚟做翻譯[4],而且 NLP 方面嘅技術仲可以攞嚟做傾偈機械人等嘅休閒用途[5]

定位[編輯]

兩個大人喺度用自然語言嚟傾偈。
內文:人工智能自然語言
睇埋:運算語言學同埋統計學

自然語言處理係一種人工智能(AI)技術,專門教電腦處理自然語言(natural language)。喺語言學上,自然語言係指一啲响人類當中自然噉發展出嚟嘅語言,簡單講即係好似英文廣東話等日常講嘢會用嘅語言[註 1]。自然語言有好多重要嘅特徵[6]

  • 歧義(ambiguity):自然語言同電腦處理開嘅形式語言(formal language)好唔同:形式語言係指啲由人特登整出嚟、隻隻符號都有固定意思嘅語言,好似係程式語言或者數學語言呀噉,而相比之下,自然語言就成日都出現「一隻字有幾個唔同嘅可能意思」嘅情況(例子可以睇一字多意嘅問題),甚至隻字根本冇明確意思
  • 反話:自然語言入面可以有反話呢樣嘢;想像一個人聽佢朋友彈結他,聽完佢就話「嘩,你彈得好好喎」-呢句嘢嘅真實意思受制於講嗰個人嘅表情同第啲身體語言影響,例如如果個人講嗰陣個表情係完全唔興奮嘅話,佢好有可能係講緊反話;由呢啲噉嘅例子可以睇得出,判斷一句嘢嘅意思嗰時唔可以齋靠字面解[7]
  • 語言演變:一隻自然語言嘅語義文法等嘅特性會隨時間而演變,例子可以睇潮流用語(啲人作新嘅字或者詞)嘅現象;噉亦表示,自然語言實會有不確定性喺入面,而要模擬自然語言,就要用到涉及機率嘅做法,會用類似以下噉嘅符號
    ;日常用語講,呢串嘢意思係「串字()係 words 嘅機率」[註 2]

... 呀噉。呢啲特徵會對「應該用咩方法應付自然語言」有具體嘅影響:廿世紀電腦要求用家俾嘅命令有極高嘅精確性(唔可以有歧義或者含糊)-喺一大串 01 裏面多咗或者少咗個 0 都會搞到部機做嘅運算錯嗮甚至輕機,更加唔好話會識得考慮對方講嘢嗰陣啲身體語言(理解反話嗰時必要諗嘅嘢)或者語言演變[8]。NLP 就係喺廿世紀後半橛至廿一世紀初興起嘅 AI 技術,專門諗點樣用特製嘅演算法嚟教電腦處理自然語言[1]

N-gram[編輯]

內文:N-gram

N-gram 嘅諗頭基於一個簡單嘅事實:

語言文字本質上就係一串串嘅符號,包括字母標點符號空格呀噉。

N-gram 係 NLP 最簡單嘅做法之一,一串 n-gram 指一串符號當中嘅一連 n 咁多個符號:例如想像有串 100 隻字符LLLRLRRRLL...,一個 3-gram 嘅演算法會考慮每串連續三個符號係乜嘢樣-LLL, LLR, LRL...,再按打前嗰兩個符號嘅規律計算下一個符號最有可能係乜;例如想像家陣手上串英文字係噉嘅樣[9][10]

I am fascinated by artificial intelligence.

喺呢段字入面,如果打前兩個字符係 fa,跟住嗰個符號係 s 嘅機率係 100% -喺串字入面,fa 出現咗一次,而喺嗰次當中跟尾嗰個字符係 s,所以如果淨係考慮上面段字嘅 3-gram 嘅話,「fa 後面係 s」嘅機率係 100%。現實應用嘅 n-gram 會用大量語料數據嚟做類似噉嘅估計,計出一隻語言啲字符(以至)之間嘅統計關係[註 3]。精確啲講,即係話一個 n-gram 模型定義上會用[11]

[註 4]

嘅數值預測 ,計算

[註 2]

N-gram 好基本(有好多進階嘅 NLP 應用都係 n-gram 搞唔掂嘅)。不過齋靠 n-gram 經已可以做到語言辨認(language identification)等比較簡單嘅 NLP 工作:想像家陣設計者攞住每隻已知嘅語言-英文、德文法文... 呀噉,同每隻呢啲語言都搵語料數據同佢建立咗個 3-gram 模型,知道啲 嘅數值,佢跟住就可以計[12]

用日常用語講,佢做嘅嘢係要攞英文嘅 3-gram 模型,計吓「如果呢段文字係英文,會出段噉嘅字符嘅機率」,然後攞德文嘅 3-gram 模型,計吓「如果呢段文字係德文,會出段噉嘅字符嘅機率」... 如此類推,跟住就(例如)揀「出到呢段字符嘅機率」最大嗰隻語言-最後做到辨認手上段字係咩語言[12]

數據來源[編輯]

內文:語料庫XML

要做 NLP,第一步通常係要攞啲語言性質嘅數據返嚟先。喺廿一世紀初嘅 NLP 界,語料庫(text corpus)係其中一種最常用最重要嘅數據來源。一個語料庫會係一嚿大型有結構嘅語言資源,一隻語言嘅語料庫會包含大量屬嗰隻語言嘅錄音文字。舉個例說明,國際英文語料庫(International Corpus of English,ICE)就係一個好出名嘅英文語料庫,ICE 搵勻嗮世界各地超過 20 個以英文做官方語言一部份嘅國家或者地區(包括香港),每個國家地區對應嘅英文語料都係儲咗當地啲人英文嘅錄音,仲有係當地啲人用英文寫嘅隨筆書信學術文新聞報道等嘅多種文字材料;到咗 2018 年,ICE 對包括嘅每個國家地區都最少有 1,500,000 字咁長嘅材料(大型[13][註 5]

呢幅圖描繪英國國家語料庫(British National Corpus,BNC)嘅結構-啲語料 90% 係文字,10% 係講嘢嘅語音,啲文字語料入面包括報紙研究期刊同埋虛構故仔呀噉。

之所以話語料庫「有結構」,意思係指語料庫通常都會特登設計到方便人用,例如:

  • 數據做好嗮啲事前處理(睇下面)
  • 大細:語料庫基本上就係為語言學同相關嘅研究提供語言樣本,而樣本通常係愈大愈好嘅;一個語料庫嘅大細通常會用入面啲語料嘅總字數嚟計,字數愈高個語料庫就算係愈大,(假設第啲因素不變)個語料庫愈大就愈有用[14];例如到咗 2020 年,牛津英文語料庫(Oxford English Corpus;一個描述廿一世紀初嘅英文嘅語料庫[15])總字數有成 21 字咁多[16]
  • 近期:語言係會隨時間而演變嘅,例如潮流用語等嘅現象就反映咗語言嘅演變;因為噉,如果一個語料庫啲數據唔夠近期,就會搞到研究者攞唔到最新嘅資訊,例如想像有位 AI 研究者想寫一隻曉同人傾偈嘅傾偈機械人,但佢用嘅語料庫數據唔夠新,冇近 10 年嘅數據,就會搞到隻機械人唔識用近 10 年嘅潮流用語-做唔到自然嘅傾談[17]。喺實際應用上,語料庫仲會同啲語料標明埋每件語料係源自咩年份嘅,方便用家判斷嗰件語料係咪啱用。
  • 廣泛:一般認為,語料庫最好能夠包含唔同類嘅語料,例如牛津英文語料庫國際英文語料庫都既會包含用英文寫嘅文字,又會包括啲人講嘢錄音;除此之外,唔同情境下寫字同講嘢都會唔同,例如新聞報導散文故仔學術文之間就有相當嘅差異,而啲人「喺正式場合講嘢」同「喺一般日常屋企人之間講嘢」又會好唔同,國際英文語料庫等嘅語料庫都有諗到呢一點,所以喺搵語料用嗰陣會包含唔同嘅料,會有新聞報導、虛構故仔同學術文等嘅多種唔同材料;而且仲會有埋搜尋器噉嘅功能,方便做 NLP 嘅人可以輕易噉摷自己想要嘅料嚟用[18]
  • 中繼資料(metadata):中繼資料係指「描繪數據嘅數據」,係語料庫不可或缺嘅一環;例如家陣有一份語料,份語料係篇隨筆,篇隨筆入面嘅字就係數據本身,而中繼資料就係指描述呢件數據嘅數據-包括係描述篇文嘅作者字數、出嘅年份同埋出處... 呀噉;中繼資料喺好多分析上都好有用,例如描述啲數據「係咩年份出」嘅中繼資料就可以幫手分析隻語言隨時間嘅變化[19]

... 呀噉。

事前處理[編輯]

睇埋:事前數據處理

喺實際攞啲語言數據嚟用之前,研究者通常都會或多或少噉對啲數據做啲處理,包括[20]

  • 文字分割(text segmentation):指將要處理嗰段字分割做若干嚿各自有意思嘅單位,方便做一步嘅分析,常見嘅有將段字切割做句子或者個別嘅呀噉;即係例如[21]
Input: San Pedro is a town on the southern part of the island of Ambergris Caye in the Belize District of the nation of Belize, in Central America. According to 2015 mid-year estimates, the town has a population of about 16, 444. Output: San Pedro is a town on the southern part of the island of Ambergris Caye in the 2.Belize District of the nation of Belize, in Central America. According to 2015 mid-year estimates, the town has a population of about 16, 444. It is the second-largest town in the Belize District and largest in the Belize Rural South constituency.(分割咗做唔同句子)
  • 記號化(tokenization):將句子分做個別嘅,通常係將每隻字變成一段字串,即係例如
Input:San Pedro is a town on the southern part of the island of Ambergris Caye in the Belize District of the nation of Belize, in Central America. According to 2015 mid-year estimates, the town has a population of about 16, 444. Output:'San Pedro' 'is' 'a' 'town' 'on' 'the' 'southern' 'part' 'of' 'the' 'island' 'of' 'Ambergris Caye' 'in' 'the' 'Belize' 'District' 'of' 'the' 'nation' 'of' 'Belize' ',' 'in' 'Central' 'America.' 'According' 'to' '2015' 'mid-year' 'estimates' ',' 'the' 'town' 'has' 'a' 'population' 'of' 'about' '16,444'
記號化通常仲會配合埋將每隻字按詞性分做名詞動詞形容詞等嘅類型(詞性標注[22]
  • 詞形還原(lemmatization):指教部電腦一個字喺唔同詞性下嘅唔同樣,等部電腦識得將呢啲唔同樣當做同一個字噉嚟分析;例如英文 wolfwolves 都係指,後者係眾數,做詞形還原就會教部電腦知 wolfwolves 係同一個字嘅唔同樣[23]
  • 停用詞(stop word):指做主要處理之前會攞走嘅字,例如喺英文當中 thea 呢啲字出現得好密,而呢啲字俾人指會干擾某啲 NLP 程式嘅運作,所以喺做完記號化詞形還原之後,一個 NLP 程式好多時就會郁手攞走啲停用詞[24]
  • 分析樹(parse tree):一種語言學分析上成日會用嘅樹狀數據;簡單講即係按文法將一串字串句法結構表述出嚟,例如好似 John hit the ball(阿莊打中咗個波)呢句簡單嘅英文句子噉,就可以畫做以下噉嘅分析樹[25]
ParseTree.svg
  • 命名實體識別(named-entity recognition,NER):指由段字串入面搵出邊啲字係表示有名實體(named entity;即係一件特定嘅物體,例如係某個特定嘅人或者某笪特定嘅地方呀噉)嘅,例如 John hit the ball 嗰句句子入面 John 就係一嚿有名實體。命名實體識別呢家嘢可以用到好多統計方法[26]
  • 詞性標注(part-of-speech tagging,POS tagging):同啲字串入嘅每隻標明佢係咩詞性,每隻字都標明嗮佢係名詞動詞形容詞定點;做到類似下面噉[27]
    原句:She sells seashells on the seashore.(佢喺海岸上面賣貝殼。),
    • 做咗詞性標注就會變成好似噉-
    She (pronoun) sells (verb) seashells (noun) on (in) the (det) seashore (noun).

應用[編輯]

自然語言處理用途好廣泛,包括咗以下呢啲:

資訊提取[編輯]

內文:資訊提取

資訊提取(information retrieval)係指一個 NLP 程式識攞「用家嘅問題」做 inputoutput 俾出一份答到條問題嘅文件;進階啲嘅 NLP 程式仲識打分畀每份摷到嘅文件嚟表示份文件同個問題有幾咁𪐀更,然之後按呢個分嚟排先後,畀最𪐀更嘅文件畀用家睇先;好似係 okapi BM25 噉,呢套函數會攞用家問嘅嘢()做 input,然後同每份文件()計個分數([28][29]

[註 6]
當中有:
入面嘅每隻關鍵字
入面出現得有幾密(相對於 嘅長度)
嘅長度(以字數計)
啲摷咗嘅文件嘅平均長度
參數,好多時冇做最佳化嘅話就設成 [30]
:摷咗嘅文件嘅數量
:摷咗嘅文件當中,有幾多份係有 喺裏面嘅

如果 係一隻常用字(例如英文入面嘅 in 或者 of 呀噉),噉佢嘅 分數理應會低( 數值細);所以 呢嚿嘢嘅存在係為咗阻止啲常用字干擾搜尋結果。

計完之後,就會每份文件得出個分數表示份文件對條問題嚟講幾有啦更,分數愈高表示愈有啦更,然後個搜尋器就可以按分數將啲摷到嘅文件列嗮出嚟,分數最高嘅行先。Okapi BM25 源於 1980 年代,到咗廿一世紀初經已廣泛噉俾搜尋器採用[28][29]。進階嘅演算法仲會考慮埋詞形還原以及同義詞等嘅好多問題,例如 PageRankHITS 演算法就會用到「個網頁有幾多高質網頁連過去」衡量摷到嘅網頁嘅「質素」,並且喺列出摷到嘅網頁嗰陣,將「質素」高啲嘅網頁排先[31][32]

Google 搜尋摷同一隻英文字(aspidomancy;一種偏門嘅占卜術)相關嘅網頁;個搜尋器攞用家想查嘅字(input)然後列嗮啲同隻字有關嘅網頁出嚟(output)。

機械翻譯[編輯]

內文:機械翻譯

機械翻譯(machine translation)係指要電腦自動噉做翻譯,可以好撈絞。舉個簡單嘅例子說明,想像家陣寫個程式出嚟做翻譯[33][34][35],而以下有兩句英文句子:

句子 1:The thriller movie is disturbing.
句子 2:The noises he makes are disturbing.

喺以上呢兩句句子裏面,講緊嘢嗰個人都用咗 disturbing 呢隻形容詞,但係呢隻字要譯做粵文嘅話起碼有兩個可能嘅意思(歧義[36]

  • 呢隻字就噉睇嘅話可以譯做「令人不安」噉解;
  • 但譯做「令人覺得佢煩」噉解又得;

對於呢隻字要點譯,要睇嗮成句句子先可以做決定:句子 1 用 disturbing 嚟形容一套驚慄片,而句子 2 就用 disturbing 嚟形容某個人所發出嘅噪音。一般會認為喺前者嘅情況當中,disturbing 比較可能係指「令人不安」,而喺後者嘅情況入面,呢隻字就比較可能係指「令人覺得佢煩」。而且「啲人傾向點用 disturbing 呢隻字」呢點有可能隨時間演變,所以做翻譯嗰陣又要諗埋句句子係幾時寫低嘅。一個做翻譯嘅 AI 程式一定要考慮嗮咁多因素先可以俾輸出[33][37]

一個簡體中文牌啲英文譯到鬼五馬六;好多廿世紀嘅人都低估咗翻譯呢家嘢有幾咁複雜-佢哋成日都諗住翻譯只不過係將啲字換做目標語言裏面「對應」嘅字,但事實表明,噉做通常會出令人啼笑皆非嘅輸出

拉雜應用[編輯]

一個充滿咗垃圾電郵嘅郵箱

除咗以上呢啲,NLP 仲可以攞嚟做:

  • 反垃圾電郵技術(anti-spam)係攞一封電郵inputoutput 俾出「封電郵係咪垃圾電郵」。反垃圾電郵技術可以想像成簡單嘅監督式學習,研究者可以俾隻 NLP 程式睇一大拃嘅正常電郵(0)同垃圾電郵(1),然後叫隻程式分析兩種電郵有咩分別-例如垃圾電郵好多時都係廣告,會成日出現「你可以買」或者「快啲去買」等嘅字詞,而且喺英文等嘅多種語文入面垃圾電郵亦成日會有成句都大階噉嘅情況,於是研究者可以用 n-gram 嚟分析兩種電郵,教隻程式計 封電郵係垃圾 封電郵入面出現咗「快啲去買」 等嘅好多個機率-最後決定 封電郵係垃圾 封電郵唔係垃圾 邊個數值大啲[38][39]
  • 語料庫語言學(corpus linguistics)泛指用語料庫嚟做語言學上嘅研究;語料庫語言學最簡單最常見嘅做法係數某啲嘢喺語料庫入面出現嘅頻率,例如家陣有語言學家想研究人點樣學英文嚟做第二語言,語言學家可以去英文語料庫度攞料,睇啲用英文做第二語言嘅人產生嘅語料(假設個語料庫有齊嗮必要嘅中繼資料,講明嗮每份語料嘅產生者嘅母語係乜),睇吓呢啲語料入面文法出錯嘅頻率會唔會受產生者嘅年紀(繼續假設個語料庫有呢啲中繼資料)影響。呢類噉嘅研究成日會用到 NLP 技術-例如啲語料字數好多時閒閒哋以百萬計,所以要數「每份語料入面有幾多次文法出錯」實要靠電腦程式幫手[40]

... 呀噉。

註釋[編輯]

  1. 「自然噉發展出嚟」呢點好重要:人造語言-即係例如奇幻作家為自己想像嘅世界作嘅語言-雖然都可以似日常講嘢用嘅語言,但因為唔係「自然噉發展出嚟」而唔俾人當係自然語言。
  2. 2.0 2.1 有關呢啲數學符號嘅詳情,可以睇概率論
  3. 不過要考慮語言演變:就算有串可能字符喺語料裏面出現咗 0 次,現實嘅 NLP 通常都會設佢嘅機率做一個極細嘅非 0 數值。
  4. 即係話 n-gram 係馬可夫鏈嘅一種。
  5. 不過都有人指出,以廿一世紀初嘅語料庫嚟講,1,500,000 字算係有啲細。
  6. 加總

睇埋[編輯]

文獻[編輯]

  • Bates, M. (1995). "Models of natural language understanding". Proceedings of the National Academy of Sciences of the United States of America. 92 (22): 9977-9982. doi:10.1073/pnas.92.22.9977. PMC 40721. PMID 7479812.
  • Bird, S., Klein, E., & Loper, E. (2009). Natural language processing with Python: analyzing text with the natural language toolkit. O'Reilly Media, Inc.
  • Coleman, J., & Coleman, J. S. (2005). Introducing speech and language processing. Cambridge university press.
  • Kurdi, M. Z. (2016). Natural language processing and computational linguistics: speech, morphology and syntax (Vol. 1). John Wiley & Sons.
  • Kurdi, M. Z. (2017). Natural language processing and computational linguistics 2: semantics, discourse and applications (Vol. 2). John Wiley & Sons.
  • McIntyre, N., & Lapata, M. (2009, August). Learning to tell tales: A data-driven approach to story generation (PDF). In Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP (pp. 217-225).
  • Nadkarni, P. M., Ohno-Machado, L., & Chapman, W. W. (2011). Natural language processing: an introduction. Journal of the American Medical Informatics Association, 18(5), 544-551.
  • Schütze, H., Manning, C. D., & Raghavan, P. (2008). Introduction to information retrieval (Vol. 39, pp. 234-265). Cambridge: Cambridge University Press. Official html and pdf versions available without charge.
  • Manning, C., & Schutze, H. (1999). Foundations of statistical natural language processing. MIT press.
  • Wu, T., Ma, W., Wen, S., Xia, X., Paris, C., Nepal, S., & Xiang, Y. (2021). Analysis of trending topics and text-based channels of information delivery in cybersecurity (PDF). ACM Transactions on Internet Technology (TOIT), 22(2), 1-27.

[編輯]

  1. 1.0 1.1 1.2 Collobert, R., Weston, J., Bottou, L., Karlen, M., Kavukcuoglu, K., & Kuksa, P. (2011). Natural language processing (almost) from scratch. Journal of machine learning research, 12(Aug), 2493-2537.
  2. Data analytics with human language data 互聯網檔案館歸檔,歸檔日期2019年12月9號,..
  3. Berger, A. L., Pietra, V. J. D., & Pietra, S. A. D. (1996). A maximum entropy approach to natural language processing. Computational linguistics, 22(1), 39-71.
  4. Groves, M., & Mundt, K. (2015). Friend or foe? Google Translate in language for academic purposes. English for Specific Purposes, 37, 112-121.
  5. Abdul-Kader, S. A., & Woods, J. C. (2015). Survey on chatbot design techniques in speech conversation systems. International Journal of Advanced Computer Science and Applications, 6(7).
  6. Lyons, John (1991). Natural Language and Universal Grammar. New York: Cambridge University Press. pp. 68-70.
  7. Rockwell, P. A. (2006). Sarcasm and Other Mixed Messages: The Ambiguous Ways People Use Language. Edwin Mellen Press.
  8. Kongthon, Alisa; Sangkeettrakarn, Chatchawal; Kongyoung, Sarawoot; Haruechaiyasak, Choochart (October 27–30, 2009). Implementing an online help desk system based on conversational agent. MEDES '09: The International Conference on Management of Emergent Digital EcoSystems. France: ACM.
  9. Brown, P. F., Desouza, P. V., Mercer, R. L., Pietra, V. J. D., & Lai, J. C. (1992). Class-based n-gram models of natural language. Computational linguistics, 18(4), 467-479.
  10. Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing. Stanford University. Ch. 3.
  11. Millington, I. (2019). AI for Games. CRC Press. p. 582-584.
  12. 12.0 12.1 Russell, S., & Norvig, P. (2002). Artificial intelligence: a Modern Approach. Pearson. Ch. 2.
  13. Kirk, J., & Nelson, G. (2018). The International Corpus of English project: A progress report (PDF). World Englishes, 37(4), 697-716.
  14. Hanke, T., Schulder, M., Konrad, R., & Jahn, E. (2020, May). Extending the Public DGS Corpus in size and depth. In Proceedings of the LREC2020 9th Workshop on the Representation and Processing of Sign Languages: Sign Language Resources in the Service of the Language Community, Technological Challenges and Application Perspectives (pp. 75-82).
  15. Culpeper, J. (2009). The metalanguage of impoliteness: using Sketch Engine to explore the Oxford English Corpus. na.
  16. "The Oxford English Corpus". Sketch Engine. Lexical Computing CZ s.r.o. Retrieved 27 October 2016.
  17. Renouf, A., & Kehoe, A. (2013). Filling the gaps: Using the WebCorp Linguist's Search Engine to supplement existing text resources. International Journal of Corpus Linguistics, 18(2), 167-198.
  18. International Corpus of English (ICE) Homepage.
  19. What is metadata and why do you need it?. Developing Linguistic Corpora: a Guide to Good Practice.
  20. Linguistic Knowledge in Natural Language Processing. Towards Data Science.
  21. Freddy Y. Y. Choi (2000). "Advances in domain independent linear text segmentation". Proceedings of the 1st Meeting of the North American Chapter of the Association for Computational Linguistics (ANLP-NAACL-00). pp. 26–33.
  22. Kroeger, Paul (2005). Analyzing Grammar: An Introduction. Cambridge: Cambridge University Press. p. 35.
  23. Müller, Thomas; Cotterell, Ryan; Fraser, Alexander; Schütze, Hinrich (2015). Joint Lemmatization and Morphological Tagging with LEMMING. 2015 Conference on Empirical Methods in Natural Language Processing. Lisbon: Association for Computational Linguistics. pp. 2268-2274.
  24. Rajaraman, A.; Ullman, J. D. (2011). "Data Mining" (PDF). Mining of Massive Datasets. pp. 1–17.
  25. Noam Chomsky (26 December 2014). Aspects of the Theory of Syntax. MIT Press.
  26. Nadeau, David; Sekine, Satoshi (2007). A survey of named entity recognition and classification (PDF). Lingvisticae Investigationes.
  27. NLP Guide: Identifying Part of Speech Tags using Conditional Random Fields. Medium.
  28. 28.0 28.1 Spärck Jones, K.; Walker, S.; Robertson, S. E. (2000). "A probabilistic model of information retrieval: Development and comparative experiments: Part 1". Information Processing & Management. 36 (6): 779-808.
  29. 29.0 29.1 Spärck Jones, K.; Walker, S.; Robertson, S. E. (2000). "A probabilistic model of information retrieval: Development and comparative experiments: Part 2". Information Processing & Management. 36 (6): 809-840.
  30. Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze. An Introduction to Information Retrieval, Cambridge University Press, 2009, p. 233.
  31. Altman, Alon; Moshe Tennenholtz (2005). "Ranking Systems: The PageRank Axioms". Proceedings of the 6th ACM conference on Electronic commerce (EC-05). Vancouver, BC.
  32. Kleinberg, Jon (December 1999). Hubs, Authorities, and Communities. Cornell University.
  33. 33.0 33.1 Brown, P. F., Cocke, J., Pietra, S. A. D., Pietra, V. J. D., Jelinek, F., Lafferty, J. D., ... & Roossin, P. S. (1990). A statistical approach to machine translation. Computational linguistics, 16(2), 79-85.
  34. Somers, H. (1999). Example-based machine translation. Machine translation, 14(2), 113-157.
  35. Machine Translation | SYSTRAN Technologies.
  36. Definition of 'disturbing'. Collins English Dictionary.
  37. Importance of Context in Translation.
  38. Xie, S., Wang, G., Lin, S., & Yu, P. S. (2012, August). Review spam detection via temporal pattern discovery. In Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 823-831).
  39. Firte, L., Lemnaru, C., & Potolea, R. (2010, August). Spam detection filter using KNN algorithm and resampling. In Proceedings of the 2010 IEEE 6th international conference on intelligent computer communication and processing (pp. 27-33). IEEE.
  40. Gries, S. T. (2009). What is corpus linguistics?[失咗效嘅鏈] (PDF). Language and linguistics compass, 3(5), 1225-1241.

[編輯]