6. 自然語言處理自然語言處理(英語:Natural Language Processing,縮寫作 NLP)是人工智慧和語言學領域的分支學科。此領域探討如何處理及運用自然語言;自然語言處理包括多方面和步驟,基本有認知、理解、生成等部分。自然語言認知和理解是讓電腦把輸入的語言變成有意思的符號和關係,然後根據目的再處理。自然語言生成系統則是把計算機數據轉化為自然語言。 用途 在許多情況下,學者們需要通過許多不同的資料庫來確定新的研究方向,以識別研究差距並確定迄今為止尚未研究的領域。檢查所有電子資料庫很麻煩,而且經常會遺漏重要的部分。通過使用網路抓取和自然語言處理來縮短識別研究差距所需的時間。在Google學術搜尋上索引的出版物的標題, 自然語言處理標記化(Tokenization)從最高頻率到最低頻率對搭配進行排序。因此,自然語言處理標記化(Tokenization)確定了標題中未提及的關鍵字集,並將最初的想法確定為研究空白 。 任務和限制 理論上,NLP是一種很吸引人的人機互動方式。早期的語言處理系統如SHRDLU,當它們處於一個有限的「積木世界」,運用有限的詞彙表對談時,工作得相當好。這使得研究員們對此系統相當樂觀,然而,當把這個系統拓展到充滿了現實世界的含糊與不確定性的環境中時,他們很快喪失了信心。由於理解(understanding)自然語言,需要關於外在世界的廣泛知識以及運用操作這些知識的能力,自然語言認知,同時也被視為一個人工智慧完備(AI-complete)的問題。同時,在自然語言處理中,"理解"的定義也變成一個主要的問題。 實際問題 一些NLP面臨的問題實例: - 句子「我們把香蕉給猴子,因為(牠們)餓了」和「我們把香蕉給猴子,因為(它們)熟透了」有同樣的結構。但是代詞「它們」在第一句中指的是「猴子」,在第二句中指的是「香蕉」。如果不了解猴子和香蕉的屬性,無法區分。(簡體中文和英文的它/it沒有區分,但在正體中文裡「牠」和「它」是有區別的,只是代詞在中文裡常常被省略,因此需區別屬性並且標示出來)
不少的中文相關笑話即是利用類似結構的中文造句而成,此類笑話通常帶有「中文博大精深」之類的詞彙,敘述多以老外參加考試為背景。例子如下: “ | 某老外苦學漢語10年,到東方參加漢語考試。試題為「請解釋下列句子」: 阿呆給長官送紅包時,兩個人的對話頗有意思。 長官:「你這是什麼意思?」 阿呆:「沒什麼意思,意思意思。」 長官「你這就不夠意思了。」 阿呆:「小意思,小意思。」 長官:「你這人真有意思。」 阿呆:「其實也沒有別的意思。」 長官:「那我就不好意思了。」 阿呆:「是我不好意思。」老外淚流滿面,交白卷回國了。
自然語言處理研究的難點
單詞的邊界界定- 在口語中,詞與詞之間通常是連貫的,而界定字詞邊界通常使用的辦法是取用能讓給定的上下文最為通順且在文法上無誤的一種最佳組合。在書寫上,漢語也沒有詞與詞之間的邊界。
詞義的消歧- 許多字詞不單只有一個意思,因而我們必須選出使句意最為通順的解釋。
句法的模糊性- 自然語言的文法通常是模稜兩可的,針對一個句子通常可能會剖析(Parse)出多棵剖析樹(Parse Tree),而我們必須要仰賴語意及前後文的資訊才能在其中選擇一棵最為適合的剖析樹。
有瑕疵的或不規範的輸入- 例如語音處理時遇到外國口音或地方口音,或者在文字的處理中處理拼寫,語法或者光學字元識別(OCR)的錯誤。
語言行為與計劃- 句子常常並不只是字面上的意思;例如,「你能把鹽遞過來嗎」,一個好的回答應當是動手把鹽遞過去;在大多數上下文環境中,「能」將是糟糕的回答,雖說回答「不」或者「太遠了我拿不到」也是可以接受的。再者,如果一門課程去年沒開設,對於提問「這門課程去年有多少學生沒通過?」回答「去年沒開這門課」要比回答「沒人沒通過」好。
當前自然語言處理研究的發展趨勢
第一,傳統的基於句法-語意規則的理性主義方法過於複雜,隨著語料庫建設和語料庫語言學的崛起,大規模真實文字的機器學習處理成為自然語言處理的主要選擇。 第二,統計數學方法越來越受到重視,自然語言處理中越來越多地使用機器自動學習的方法來取得語言知識。 第三,淺層處理與深層處理並重,統計與規則方法並重,形成混合式的系統。 第四,自然語言處理中越來越重視詞彙的作用,出現了強烈的「詞彙主義」的傾向。詞彙知識庫的建造成為了普遍關注的問題。 統計自然語言處理 統計自然語言處理運用了推測學、機率、統計的方法來解決上述,尤其是針對容易高度模糊的長串句子,當套用實際文法進行分析產生出成千上萬筆可能性時所引發之難題。處理這些高度模糊句子所採用消歧的方法通常運用到語料庫(Corpus)以及馬可夫模型(Markov models)。統計自然語言處理的技術主要由同樣自人工智慧下與學習行為相關的子領域:機器學習及資料採掘所演進而成。
|
|
|