文字資料也能資料分析嗎?淺談自然語言處理|專家論點【維元】
在真實的世界中,資料往往沒有想像中的「乾淨可用」,而且包含個各種多元的樣態。資料可能存在有資料遺失(Incomplete / Missing data)、雜訊(Noise)、離異值(Outliner)等等的問題,這樣的資料會導致模型無法正常運算。因此,再進入分析演算法之前需要對資料進行處理跟調整,這個過程泛稱為資料前處理(Data Preprocessing)。
資料前處理的目的是將原始資料中轉成適合模型可以存取的資料,那什麼是「適合模型的資料」呢?簡單來說,「模型可以學習(Learniable)」的資料指的是能夠經由數學模型存取的資料格式,也就是數學上的「向量」或是「矩陣」的樣子。
實務上,除了「有問題的資料」之外,還有另外一種需要處理的資料是「無法進行數學運算」的資料,像是「字串」或是「非結構型」的資料。其中有一種非結構型的資料是文本型態的資料,這就是難以直接使用的樣子之一。
文本型態資料就是由一堆文字或字串所組成的資料,又稱為「自然語言處理」或是「文字探勘」,是人工智慧的分支。自然語言處理( NLP = Natural Language Processing )是人工智慧和語言學領域的分支學科。
此領域探討如何處理及運用自然語言,包括認知、理解、生成等部分。自然語言認知和理解是讓電腦把輸入的語言變成有意思的符號和關係,然後根據目的再處理。
自然語言生成系統則是把計算機數據轉化為自然語言。自然語言是計算語言科學,是語言學與計算機科學的混合學科。在語言學中,有同義詞、歧義性、情感傾向或反串語氣的議題需要挑戰;電腦計算也有編碼問題、斷詞問題或語意分析等等的問題。
自然語言的目的,就是要讓電腦「讀懂」自然語言文字,所謂的「讀懂」是指能夠被數學與程式中可以計算的格式。而文字探勘則是近一步從文本資料中找出關係的一種技術與方法。文章本身是一種非結構化的資料,無法直接被計算,透過一系列的拆解才能讓電腦可以讀懂人類的文字。
而實際上我們要如何讓電腦讀懂文字?可以分成三個步驟:斷詞 → 語意 → 解讀,其中:
- 利用「詞袋」模型與「詞向量」斷詞拆解單字
- 用文本分類與句子相似性,解析句子了解語意。
- 最後,分析文本重要性與命名實體識別解讀整句語句。
目前文字探勘的一種典型應用是「語言模型」,它是一種基於概率統計的模型,主要的目標是描述字 / 詞在句子中的概率。同時,語言模型是從大量的語料信息中訓練出的模型,它「學習」到的詞的概率是通用語義的信息,可以和很多實際應用相結合,尤其是在一些基於統計模型的領域,如語音識別、分詞、情感分析以及機器翻譯等領域,有著廣泛的應用。
另一種典型的應用是「機器翻譯」,屬於計算語言學的範疇,其研究藉由電腦程式將文字或演說從一種自然語言翻譯成另一種自然語言。簡單來說,機器翻譯是透過將一個自然語言的字辭,取代成另一個自然語言的字辭。藉由使用語料庫的技術,可達成更加複雜的自動翻譯,包含可更佳的處理不同的文法結構、辭彙辨識、慣用語的對應等。
嗨,我是維元,目前是一名資料科學與網頁開發的雙棲工程師。近期也擔任科技島社群的駐站專家,持續分享發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤資料科學家的工作日常 Facebook 粉專 或 Instagram 帳號,也會不定時的舉辦分享活動,一起來玩玩吧!
瀏覽 2,171 次