一種基於卷積神經網絡的文本情感分類方法與流程
2023-05-02 16:19:41
本發明涉及文本分類技術領域,特別是涉及一種基於卷積神經網絡的文本情感分類方法。
背景技術:
21世紀的時代是信息的時代,隨著計算機技術、數據存貯技術日新月異的發展和改進,應用領域也得到了快速擴展,世界也隨著信息的大量湧入而發生著天翻地覆的變化,文本數據資源也在不斷的高速增長。對於許多用戶和企業來說面對如此大量的文本信息,從中獲取有意義的、相關性強、具有針對性的信息變得異常艱難。所以對文本信息進行分類是一個很有價值的問題。
情感傾向分析是自然語言處理中一個重要的分支,特別是在以提取文本的情感內容為目標的分類方法中,情感分類已經有很多有用的實踐,比如企業利用消費者對產品反饋的信息進行分析,或者根據評論中的好評或差評信息對自己的產品進行改進。
目前已有研究所採用的方法大多數採用支持向量機、最大熵以及隨機遊走等淺層學習方法,而這些方法無法捕獲到很多有關情感傾向性分析的語言現象特徵,還需要大量的人工標註與訓練。
技術實現要素:
本發明所要解決的技術問題是提供一種基於卷積神經網絡的文本情感分類方法,克服大量的人工標註和訓練。
本發明解決其技術問題所採用的技術方案是:提供一種基於卷積神經網絡的文本情感分類方法,包括以下步驟:
(1)搜集文本語料集,將文本裡的數據表示成一個句子;
(2)對搜集的文本語料集進行預處理,並將情感文本語料分為訓練集語料和測試集語料;
(3)對預處理後的文本預料集用word2vec工具訓練出詞向量模型並得到文本向量;
(4)將訓練集語料的文本向量輸入卷積神經網絡訓練出情感分類模型;
(5)將測試集語料的文本向量輸入卷積神經網絡,並用已經訓練好的情感分類模型進行情感類別分類並計算出情感分類的準確率。
所述步驟(2)中預處理的方式為去除文本語料集中的無關信息,隨機選取文本語料集的80%作為訓練集語料,20%作為測試集語料。
所述無關信息包括標點符號、多餘空格、重複無用的單字和特殊字符。
所述步驟(3)中用word2vec工具訓練時,出現次數超過五次的字會被加入字典中,對於沒有出現在字典中的字符的詞向量會被隨機初始化。
所述步驟(4)中包括以下子步驟:
(41)詞向量的串接:在包含n個以字為基本單位{r1,r2,…,rn}的句子x中,卷積層對每個大小為k的連續窗口進行矩陣向量操作,假定向量zn∈rdk是以句子中第n個基本單位為中心的前後各(k-1)/2個基本單位的詞向量的串接,其中d為句子中基本單位向量化表示後向量的長度,則向量zn=(rn-(k-1)/2…rn+(k-1)/2)t;
(42)句子的特徵向量表示:卷積層計算句子特徵向量rsent∈r的第i個元素的過程如下:其中,w∈rdk是卷積層的權重矩陣,b為偏移量,max[]為取最大值函數;
(43)計算情感標籤得分:表示句子x的全局特徵的向量被傳遞給包含兩個全連接層的神經網絡處理,計算句子屬於每個情感標籤τ∈t的得分其中,矩陣矩陣向量向量b3∈r|t|是模型需要學習的參數,激活函數h使用正切函數,隱藏層單元數目hlu為用戶指定的超參數,dlu為卷積單元和句子級的特徵向量大小相關,t為情感標籤即表示積極或消極;
(44)得到情感標籤:給定一個句子x,參數集合為θ的模型對每個情感標籤τ∈t計算一個得分sθ(x)τ,為了將這些得分轉換為給定句子的情感標籤和模型參數集θ的條件概率分布,將所有情感標籤τ∈t的得分進行softmax操作:其中,p為條件概率,對上式取對數得到使用隨機梯度下降算法最小化負似然函數其中,x表示訓練語料集d的一條句子,y表示該句子的情感標籤包括積極和消極兩種。
所述步驟(42)中用權重矩陣計算給定句子中每個基本單位字的窗口大小為k的局部信息,對句子中所有基本單位的窗口取最大值,就抽取了一個在窗口大小為k的條件下長度為clu的句子特徵向量,卷積窗口的大小不同,獲取的局部信息也不同;利用並行的多個卷積層,學習不同n—gram的信息;每個卷積層經過最大值化都會生成一個固定長度的句子特徵向量,將所有卷積層生成的句子特徵向量進行串接,得到一個新的句子特徵向量。
所述步驟(43)中在卷積層之後,加入了線性整流器relu層,將線性整流器relu作為激活函數,通過加入線性整流器relu層加速隨機梯度下降的收斂速度。
有益效果
由於採用了上述的技術方案,本發明與現有技術相比,具有以下的優點和積極效果:本發明運用深度學習的方法採用一個包含多個並行卷積層的卷積神經網絡,不同卷積層擁有大小不同的卷積核,可以獲取多個不同的特徵,卷積神經網絡具有自動進行特徵提取的功能,它可以從多個角度提取圖像的不同特徵,從而解決了如何有效地進行特徵提取的問題。本發明利用字級別的詞向量作為原始特徵可以學習到更加具體的特徵,採用無監督學習的方式提高了模型的準確率。本發明的方法實現方便,成本較低,適於大範圍推廣使用。
附圖說明
圖1是本發明的流程圖;
圖2是本發明中利用多個不同大小的卷積核抽取句子級別特徵示意圖。
具體實施方式
下面結合具體實施例,進一步闡述本發明。應理解,這些實施例僅用於說明本發明而不用於限制本發明的範圍。此外應理解,在閱讀了本發明講授的內容之後,本領域技術人員可以對本發明作各種改動或修改,這些等價形式同樣落於本申請所附權利要求書所限定的範圍。
本發明的實施方式涉及一種基於卷積神經網絡的文本情感分類方法,包括以下步驟:
(1)搜集網絡上的文本語料集,將文本裡的數據表示成一個句子;
(2)對搜集的文本語料集進行預處理,並將情感文本語料分為訓練集語料和測試集語料。預處理的方式為去除文本語料集中的無關信息,隨機選取文本語料集的80%作為訓練集語料,20%作為測試集語料。其中,無關信息包括標點符號、多餘空格、重複無用的單字和特殊字符。
(3)對預處理後的文本預料集用word2vec工具訓練出詞向量模型並得到文本向量,用word2vec工具訓練時,出現次數超過五次的字會被加入字典中,對於沒有出現在字典中的字符的詞向量會被隨機初始化。
(4)將訓練集語料的文本向量輸入卷積神經網絡訓練出情感分類模型。該步驟具體為:
(41)詞向量的串接:在包含n個以字為基本單位{r1,r2,...,rn}的句子x中,卷積層對每個大小為k的連續窗口進行矩陣向量操作,假定向量zn∈rdk是以句子中第n個基本單位為中心的前後各(k-1)/2個基本單位的詞向量的串接,其中d為句子中基本單位向量化表示後向量的長度,則向量zn=(rn-(k-1)/2…rn+(k-1)/2)t;
(42)句子的特徵向量表示:卷積層計算句子特徵向量rsent∈r的第i個元素的過程如下:其中,w∈rdk是卷積層的權重矩陣,b為偏移量,max[]為取最大值函數;
(43)計算情感標籤得分:表示句子x的全局特徵的向量被傳遞給包含兩個全連接層的神經網絡處理,計算句子屬於每個情感標籤τ∈t的得分其中,矩陣矩陣向量向量b3∈r|t|是模型需要學習的參數,激活函數h使用正切函數,隱藏層單元數目hlu為用戶指定的超參數,dlu為卷積單元和句子級的特徵向量大小相關,t為情感標籤即表示積極或消極;其中,激活函數可以選用線性整流器relu,通過加入線性整流器relu層加速隨機梯度下降的收斂速度。
(44)得到情感標籤:給定一個句子x,參數集合為θ的模型對每個情感標籤τ∈t計算一個得分sθ(x)τ,為了將這些得分轉換為給定句子的情感標籤和模型參數集θ的條件概率分布,將所有情感標籤τ∈t的得分進行softmax操作:其中,p為條件概率,對上式取對數得到使用隨機梯度下降算法最小化負似然函數其中,x表示訓練語料集d的一條句子,y表示該句子的情感標籤包括積極和消極兩種。
結合圖2,本實施方式中,用該權重矩陣計算給定句子中每個基本單位字的窗口的局部信息,對句子中所有基本單位的窗口取最大值,就抽取了一個在窗口大小為k的條件下的句子特徵向量,卷積窗口的大小不同,獲取的局部信息也不同。因此,利用並行的多個卷積層,學習不同的信息。每個卷積層經過最大池化操作後都會生成一個固定長度的句子特徵向量,將所有卷積層生成的句子特徵向量進行串接,得到一個新的句子特徵向量。
本發明採用預先建立的卷積神經網絡分類模型,對所採集的文本集進行處理,以得出文本的情感傾向;文本情感傾向包括積極和消極兩個類別,卷積神經網絡分類模型為對積極和消極兩個類別進行卷積神經網絡模型分類。
卷積神經網絡算法步驟如下:
步驟1、設定卷積神經網絡的初始參數,包括非線性的固定卷積層層數、各卷積層濾波器的個數及其初始值、各池化層的窗口大小、全連接層層數及每層神經元個數,構建基本的卷積神經網絡模型;
步驟2、設定模型中的訓練最小目標誤差、學習速率、訓練步數和最小批量數據個數;
步驟3、將數據導入輸入層,遞歸得到網絡的輸出;
步驟4、計算輸出誤差,並修改權值和參數大小。
步驟5、重複步驟1~步驟4,直至誤差在設定範圍內或超出訓練次數限制。
卷積神經網絡模型可以有效地利用反向傳播的性質修改權值,從而防止產生過擬合。本發明採用的卷積神經網絡可以從少量的樣本集中抓取到數據的本質特徵,也可以從大量未標註的文本中學習到先驗知識,避免依賴於具體任務的人工特徵設計,可以在一定程度上解決文本上下文信息有限的問題。
(5)將測試集語料的文本向量輸入卷積神經網絡,並用已經訓練好的情感分類模型進行情感類別分類並計算出情感分類的準確率。