文字分析初探與常見的字詞表示方式 - Adam's Analysis

文章推薦指數: 80 %
投票人數:10人

不過以目前主流或多數的情境來講,中文的分析多半最小單位還是以詞彙為基準進行分析,而至於多少個字數或句子當作一筆文本分析資料,就依照實際的情況而有 ... 0 文字分析初探與常見的字詞表示方式 Apr3 WrittenByAdam 文字的訊息無所不在。

人與人之間的溝通便主要是仰賴文字進行溝通,文字被用於作為訊息傳遞的一個主要媒介和工具。

以日常生活來講,每天上班都會接觸到工作的郵件、新聞媒體的文章、社群平台的po文、電子商務平台的留言...等。

這些文章或留言等等都會帶給我們某種訊息,是十分有價值的資訊。

透過分析這些文字訊息,可以找出未被發現的問題點或機會。

尤其是像旅遊平台,就會希望透過留言知道遊客在意的問題點會是什麼?進而改善服務內容;餐飲平台也可以透過留言,改善商品和服務品質。

然而這些文字如何被分析?就會是一個很有意思的議題。

文字如何被分析?以比較直觀地想法來看,就是把文章直接點出來看看內容、提及了什麼資訊,用哪些字來描述等等。

這樣子的分析方式也是日常中主要的分析與獲取訊息的方式,但以這樣子的方式進行分析,主要是針對特定文章進行分析。

如果是一次要分析10篇文章呢?還可以用一樣的方式進行分析。

但如果是100篇?10000篇文章呢?直接用看的方式,勢必只能打人海戰術吧?亦或許看到第10幾篇的時候,就已經忘記了前幾篇文章在提及些什麼。

所以我們勢必要找到一種量化文字的方式,對量化後的文字進行統計與分析,從統計中的結果來推敲大量文字中潛藏的訊息是什麼。

關於文字分析的細粒度有關於文字分析的「粒度」也是很多人會討論的話題之一。

文字根據不同的結構、字數多寡等因素,可以有許多不同的分析單位如文章、再小規模一點為段落、段落由句子組成、句子由詞彙所構築、而詞彙的最小單位為字...。

根據不同的情境,在試圖從文字中探索資訊的過程,多半會以一篇一篇文章為一個大單位,例如要評估文章的主題;有時則會以段落為一個單位進行分析,評估不同段落間的關鍵字等等。

再往下來看,一般文字的最小單位為字,在大一點字可以組成詞。

以一般的情境上來講,我們理解文字的方式多半是以詞彙為最小單位進行理解,也就是說,看一篇文章或句子,主要提及到哪些關鍵詞彙,我們可以大概知道這段文字主要在表述什麼訊息。

現今隨著科技技術的進步,有賴於運算速度的增加以及深度學習技術的進展,也有不少人開始以字為最小單位進行分析與應用,也取得了不錯的成果。

不過以目前主流或多數的情境來講,中文的分析多半最小單位還是以詞彙為基準進行分析,而至於多少個字數或句子當作一筆文本分析資料,就依照實際的情況而有所不同了。

常見的文字量化方式說量化這個詞又稍微有點不親切,其實就是透過某一種數學的方式把文字轉化成數字,讓電腦可以進行分析與計算,進而幫助我們從文字中探索訊息。

常見的文字轉換方式大概可以分成5種,接下來就會針對這5種做個簡單的介紹:看某字詞有沒有出現(Binarywordfrequency)看字詞出現了幾次(Wordfrequency)看字詞在該篇文章以及所有文章中出現的頻率如何(TF-IDF)評估不同字詞間前後出現的可能性(Wordembedding)將字詞出現的頻率與前後同時出現的可能性進行加權(TF-IDFweightedwordvector)Binarywordfrequency第一種方法是5個方法裡面最簡單的方法,就是在一堆文章當中,看哪些詞彙有出現。

以這篇標題「文字分析初探」這六個字來看,可以拆分為文字、分析、初探等三個詞,跟其他句子的字詞作比較,有出現的字詞就以1表示,沒有出現的就以0表示: 像是量化這個詞沒有出現在這個句子中,就以0表示。

如此一來原本的「文字分析初探」就可以轉化為「1,1,1,0」的數字組。

2.Wordfrequency第二種方法呢,與第一種方法很類似,就是看每個字詞出現了幾次,就以出現次數來表示;假設句子變成「文字文字分析分析分析初探」,文字出現了兩次,分析出現了三次,原本的數字組就會變成: 一樣就可以把原本的文字轉換成數字組進行統計分析。

3.TF-IDF第三種開始就比較複雜一點點,TF-IDF翻成中文叫做詞頻—逆文件詞頻演算法。

詳細的計算過程與數學式子這邊就不進行介紹,有興趣的朋友可以在Google上面找到很多詳細的說明。

TF-IDF的概念是計算特定字詞在該文章中的出現頻率,去乘以在所有歷史文件中這個詞出現的頻率,考慮了該文章中的出現機率與在所有歷史文件中出現的機率,計算出來的數字則用來代表該字詞在文章中的重要性。

假設我們原本的句子的重點是在文字與分析這兩個詞上,這兩個詞計算出來的數字就會比其他字詞還要大一些。

以字詞的代表性或重要性來表述該篇句子。

4.Wordembedding第四種方法就比較玄一點了。

Wordembedding又稱詞向量,或是詞嵌入,透過讓機器去學習的方式,計算字詞前後出現的機率,將文字轉換成特定的數字;例如計算「分析」這個詞接在「文字」後面的機率大小,用數學的方式將該字詞轉換成不同的數字組合,這種字詞表示方式可能不只用一個數字來表示一個字詞,是一個可以調整的參數,以三個數字來表示的話範例會長成下表這樣(數值僅隨意舉例): 現今詞向量的也被應用的相當廣泛,隨著深度學習技術的進展,而計算出這種詞向量的方式也越來越多元化,如果有機會的話後續再針對這塊多做介紹。

5.TF-IDFweightedwordvector第五種則是第三種與第四種方法的綜合體。

簡單的概念是把第三種方法計算出來的結果,與第四種方法相乘,算出一組新的數字。

第三種方法考量了字詞的重要性,第四種方法在轉換的過程中則著重於字詞的前後關係;第五種方法則是綜合第三與第四種方法,讓文字的表示上多給予了一些權重(下方數字僅隨意示例)。

實際上在使用時也可以去設計更複雜的權重計算方式,根據不同的使用與分析情境,只要找到合適的計算權重就好。

總結現今針對文字進行分析的應用仍不如針對數字進行分析來的廣泛,一部分的因素來自於這些處理文字的手法有些許的技術門檻,而這些分析的技術也尚未廣為人知。

透過這些文字轉換的方式,將文字進行轉換之後,可以進一步的使用於各種文字應用的層面上,像是幫文章分類主題、找出關鍵字、上Tag、做文章總結、建立問答系統...等。

或許有人會想問說,這麼多種文字轉換的方式,要使用哪一種方式進行轉換?這點可能得傷心地告訴大家casebycase,依照使用的情境有所不同;但以多數文字分析的情境來看,計算文字的詞頻通常就可以獲取到不少有用的訊息。

有關於文字如何進行處理與轉換,就簡單介紹到這邊啦。

Adam



請為這篇文章評分?