自然語言處理是什麼?以及它的應用
自然語言處理的定義
自然語言處理 (NLP) 是人工智慧的分支領域。
使用機器學習技術來處理及解讀文字和資料。
自然語言辨識和自然語言產生均為 NLP 的類型。
自然語言處理及其對交流影響的 8 個常見範例
- 電子郵件篩選器
- Gmail 的電子郵件根據內容分類主要、社交或促銷
- 智慧助理
- Apple 的 Siri 和 Amazon 的 Alexa根據了解使用者的話並根據背景資訊供相關答案
- 搜尋結果
- Google搜尋引擎中的搜尋中的 NLP 將模糊查詢與相對實體相關聯會預測哪些熱門搜尋,並在查詢時顯示,且會檢視整個圖片並識別搜尋的內容,而不是確切的搜尋字詞。
- 預測文字
- 智慧手機鍵盤根據使用者輸入的內容、要修飾的單字或建議相關內容來預測要說的內容,根據使用者的個人語言偏好進行設定。
- 語言翻譯
- 線上翻譯人員可以更準確翻譯語言並顯示語法正確的結果。嘗試與操持另一種語言的人交流時,這相當實用。不僅如此,現在,將另一種語言翻譯成您操持的語言時,工具也可以根據輸入的文字識別該語言並進行翻譯
- 數位通話
- 資料分析
- 資料視覺化提供自然語言介面,自然語言功能已整合到資料分析工作流程中。
- 文字分析
- NLP 的工具通常會搜尋與客戶的互動,例如社交媒體評論或回顧,甚至搜尋品牌名稱提及的情況來檢視所說的內容。
圖片來源
- NLP 的工具通常會搜尋與客戶的互動,例如社交媒體評論或回顧,甚至搜尋品牌名稱提及的情況來檢視所說的內容。
如何理解一種語言?
詞彙是語言的最小單位,但中文中詞」和「詞」之間沒有邊界。
- 組合型歧義:在句法結構上就能解是哪些組合是對的
- 小紅帽 =>小紅/帽 小/紅帽 || 小/紅/帽 小紅帽
- 真歧義:「語言」層和「知識」層兩個維度各自解讀
- 美國會派出特使來採訪 => 「美國」|| 「美國國會」
- 銀河帝國會派出特使來採訪
- 交集型歧義:「語言」層和「語境」兩個維度各自解讀
- 我幫爸媽買了一個超值保險套餐
- 你在做一次試試看
歧義是語境線索的不足而導致句子無法得到適宜解釋的現象,具有兩種以上的詮釋或意義
語言學概論的概論的概論
=> 人類大腦結構功能一致的
=> 人類都具有一樣的語言處理機制
=> 人類母語語言學習習得機制允許參數的改變
=> 所有語言的差異都來自參數的差異
=> 參數的變化是有限的
=> 可以寫出程式!
語言學家已分析了某些語言結構的邏輯
因此基於這些存在的語言學知識來教電腦歸納出語言的特性
小節語:
語言有內部結構;語言內部結構可以用規則處理;語言規則的數量有限
要先教電腦學會「斷詞」和「理解詞的意思」,第二步則是分析句子,包含語法及語義的自動解析。
中文的詞沒有邊界,若誤解「詞的意思」與「句法結構」,會寫出這般造句練習。資料來源│網路趣聞
如何教電腦學會一種語言?
電腦可以認識所有「詞」嗎?
語言的詞彙組合無窮無盡,不可能將所有詞都收進資料庫中訓練電腦,通常未知詞可分為幾種類型:可能是人名、可能是複合詞、或可能是專有名詞。
(中文斷詞系統的處理步驟。 資料來源│〈未知詞擷取作法〉,作者:馬偉雲)
「複合詞」,舉不勝舉的未知詞來源
目前斷詞系統中的複合詞主要是針對「名詞複合詞」,但其實我們也在「動詞複合詞」上也累積了不少研究。舉一個實例來說明,例如「開聊」和「聊開」:
(「開」的複合動詞結構舉例。 資料來源│〈現代漢語複合動詞之詞首詞尾研究〉,作者:邱智銘、駱季青、陳克健)
(語言學家會把這樣子的斷詞標注清楚,供電腦進行機器學習。經過不同語句的大量標注,電腦最後會自己學會利用「才能」的上下文做判斷。 資料來源│馬偉雲說明)
電腦理解句子
將每個詞彙集結成片語,再把每個片語標記上它所扮演的語義角色
語義角色數量不一,一般有下列語義角色:[2][3]
施事(Agent):有意識的、主動的動作實施者。一般為有生命的人或物。(他吃飯。)
感事/經驗者(Experiencer):感官、情緒的被動接收者。(他害怕狗。)
刺激(Stimulus):感官、情緒的主動喚起者。(我非常害怕昆蟲。)
主事(Theme):性質、狀態或變化性事件的主體。(鍋里的水開了。)
受事/客事(Patient):承受動作並被改變狀態者。(今晚吃雞。)
工具(Instrument):用於執行動作的客體。(他用菜刀剁肉。)
不可抗力(Force/Natural case):無意識地、消極的動作實施者。(洪水摧毀了村莊。)
處所(Location):動作發生的地點。(他在廚房炒菜。)
終點(Direction/Goal):動作的終點或指向。如(他去學校。)
領事(Recipient):與表示所有權變化的動詞有關的一種特殊類型的目標。(我送給她一束花。)
起點(Source/Origin):動作的起點或來源。(他從家里動身了。)
時間(Time):動作發生的時間。(我今天跑了20公里。)
益事(Beneficiary):因動作而受益者。(她為我付出了很多。)
手段(Manner):採取動作的方式。(她打電話報了警。)
動機(Purpose):動作執行的主觀動機。(他為了保險金殺了人。)
致事(Cause):動作發生的客觀原因。(飢餓使他疲憊。)
系事(Cause):動作發生的客觀原因。(我有兩個孩子。/ 我屬於第二中隊。/ 他是醫生。)
難解問題-曖昧不清的指代詞
指代消解主要是找回原先被替換過的字詞,為了避免重要的字詞因指代的因素而造成權重計算降低的問題。
CKIP CoreNLP
介紹:基本上句子自動剖析利用語法規律和斷詞後的文本做比對,找出可能的短語結構,由於存在歧義的短語結構,因此,如何利用結構出現的機率及檢測結構中詞與詞之間搭配的合理性成為解決結構歧義的方法。
系統實作
-句法抽取
-結構剖析
下集待續
https://aiacademy.tw/what-is-nlp-natural-language-processing/
https://br19920702.medium.com/中研院開源nlp套件-ckiptagger-繁中不結巴-7822fc4efbf
https://clay-atlas.com/blog/2019/09/24/python-chinese-tutorial-ckiptagger/
https://leemeng.tw/shortest-path-to-the-nlp-world-a-gentle-guide-of-natural-language-processing-and-deep-learning-for-everyone.html