自然語言處理
Natural Language Processing,簡稱NLP,主要是讓電腦能夠妥善處理文字、語言,最終讓電腦可以理解字自然語言。其中,語音辨識、自動分詞、語法分析、資訊檢索、文字校對、翻譯等等皆屬於自然語言處理的範疇。目前的發展遇到的幾個難點是,單詞的邊界界定,意即取用能讓給定的上下文最為通順且在文法上無誤的一種最佳組合,也就是斷詞。在英文中,我們可以用空白字元當作斷詞的分割依據,但是中文並沒有詞與詞之間的邊界,因此漢語的自然語言處理又比拉丁語系更加困難。另外,再與法的模糊性上面也很難處哩,自然語言的語法通常是模稜兩可的,我們必須仰賴詞句中的前後文才可以選擇出最佳的語意,但是機器並不懂語意,因此只能透過建立多顆剖析樹方式
找出適合的語句,稱為語法剖析(Parse)。而辭意的分歧也是目前遇到的難題之一,同樣一個詞有可能具有多種意義,我們必須想辦法讓機器可以從中選出使句子最為通順的解釋。
發展趨勢
當前自然語言處理的發展,主要是透過機率與統計的方法來解決上述問題,尤其是針對字數很多的句子,或特別容易模糊的語詞,這部分又牽扯到人工智慧與機器學習,透過不同的演算法使機器在各種狀況下盡量判讀出通順的語句。
應用方向
有了自然語言處理技術,許多研究議題便出現了,例如網路意見探勘、之試圖譜、機器翻譯、社會媒體分析、資訊檢索等等,甚至是其他領域也可以和自然語言處理研究做結合而衍生出更多的應用,例如,企業可以透過自然語言處理技術來分依社群媒體的資料,再加上社會網絡分析,可以得知自己的產品在哪不同族群的評價,進而對產品或銷售模式提出修改,也可以了解目前趨勢而設計適合的產品,提升自己的競爭力。
斷詞索引工具介紹
先前提到斷詞是自然語言處理中相當重要的一環,在資訊界也有許多團體或個人發展出了不同的斷詞套件,貓大將在此篇文章介紹其中幾種比較熱門的斷詞及索引工具。
1. Apache Lucene
Lucene是一套基於Java的全文檢索系統,當然,要全文檢索也就包含了段詞加索引囉,是由Doug Cutting開發,在2001年成為Apache基金會下的一個子項目,支援中英文的全文檢索套。
2. CKIP
是由中研院發展出的斷詞工具,使用者只要輸入文章,系統就會做未知詞擷取以及包含未知詞的斷詞標記動作。
3. Jieba
是由中國大陸中國開發的Python Based 的開源中文斷詞程式,支援繁體分詞也支援自定義辭典,主要功能有分詞、關鍵字提取、詞性標註等等。
在資訊爆炸的今天,以往的巨量資料大部分是拿數據型資料做分析,例如銷售及顧客資料分析出啤酒與尿布的關聯,數據型分析已經日趨成熟,接下來將會是非結構化資料,也就是自然語言處理以及機器學習的時代,相信在不久的將來,電腦與人類的真實對話將會出現在你我眼前。