?

基于BERT的語音又本二分類方法

2022-05-30 17:33宋冠諭程登張森劉威丁曉雯
計算機應用文摘·觸控 2022年18期

宋冠諭 程登 張森 劉威 丁曉雯

關鍵詞:二分類;腳本標注;BERT預訓練模型;邏輯回歸

1引言

隨著智能語音系統的不斷發展,用戶可以享受到越來越多的語音服務,包括語音點歌、語音控制家居、語音查詢天氣等,而語音系統中用戶說法的不斷更新也讓用戶感受到自己彷佛在與真人對話一般——有問必答。關于用戶說法庫的管理方式,目前的語音系統大多是通過更新后臺的說法話術及相應詞庫來實現用戶說法庫的迭代。

在互聯網新詞噴涌而出的當下,面對每日數以萬計的用戶交互數據,通過傳統方式刷新的用戶說法庫并不能及時滿足用戶需求,從而導致用戶體驗下降。因此,為了提高用戶說法庫的刷新效率,便需要通過搭建算法模型,對收集的語音日志進行二分類,將無意義的文本數據剔除,僅留下有利于后續優化用戶說法的文本數據,讓服務方對輸入的用戶說法快速反應,做出針對性的話術優化,及時有效地更新用戶說法庫,為用戶提供更人性化、更精準的語音交互服務。

2文本分類概述

文本分類是指用計算機對文本集(或其他實體或物件)按照一定的分類體系或標準進行自動分類標記。它從原始文本數據中提取相關特征,并通過訓練文本數據和文本特征之間的關系模型,最終構建可預測類別標簽的分類模型。

文本分類任務應用廣泛,根據任務類型可以劃分為二分類、三分類以及多分類,涉及的任務包括問答、垃圾郵件檢測、情感分析、新聞分類、用戶意圖分類、內容審核等。文本數據可以來自不同的來源,如網絡數據、電子郵件、聊天、社交媒體、票據、保險索賠、用戶評論、客戶服務的問題和答案等。

如今,人們通過發明各種各樣的方法來使文本分類過程自動化,以產生結果更可靠、判定更少主觀的結果,并通過從文本中定位所需信息,可以用來幫助提高信息檢索效率并緩解信息過載的問題。谷歌公司AI團隊在2018年發布了預訓練語言表示模型-BERT, Bidirectional Encoder Representationsfrom Transformers模型[1],并刷新了11項自然語言處理任務的精度,引起了人們的廣泛重視。與其他語言表征模型不同的是,BERT的設計目的是通過對標記的文本上進行預訓練,調節各個層的參數,學習上下文表示[2]。通過大規模通用語料和預訓練任務學習通用的語言表示,該預訓練模型可以為下游自然語言處理任務提供豐富的語言表示信息[3]。而Adhkari A等首次將BERT用于文本分類,通過對BERT模型進行微調以獲取分類結果,并證實BERT在文本分類中依然可以取得較好的結果。

3二分類思路

3.1二分類框架

本文對收集的脫敏合法語音文本數據先進行數據預處理,包括篩除空值、數據去重及腳本標注等步驟,得到樣本數據后進行人工標注,并通過BERT預訓練模型完成中文文本語句的處理,提取特征信息并構建數據集。將數據集按一定比例劃分為訓練集和測試集后,傳遞至邏輯回歸模型進行模型訓練測試,最后將二分類測試結果與人工標注環節的內容進行對比分析。具體的二分類框架如圖1所示。

3.2數據預處理

本文用于二分類分析的脫敏合法文本數據來源于某語音數據平臺,共計10000條文本數據。再對收集的文本數據進行數據清洗,清除文本中的空值并去重后,本文針對用戶在使用特定語音服務的需求,如語音點歌、語音控制家居等具有定向性名詞的服務,需要將清洗后的文本數據做進一步的處理,避免此類服務數據參與后續的模型訓練測試中。

在篩除具有定向性名詞的文本數據過程中,由于語音文本的特殊性,即用戶通過”我想聽”“幫我打開”等句式發起特定請求時,這類文本基本趨向于“代詞+動詞+動詞”或“動詞+代詞+動詞”結構,且結構中存在“代詞”等于“我”這一特性。因此,本文基于Python第三方庫Jieba編寫腳本程序,通過抓取上述結構來對文本數據進行標注,并提取標注的文本數據中“代詞+動詞+動詞”或“動詞+代詞+動詞”結構后接的文本信息,作為歌曲名、應用名等語音系統詞庫的更新語料。

在完成腳本標注的步驟后,本文對剩余的文本進行人工標注,用于后續驗證二分類方法的測試結果。針對文本信息“有/無意義”類別的區分,本文基于語音業務使用場景,將句式結構完整、語義明晰等語音文本則劃分至“有意義”的范疇中,而識別錯誤、缺詞斷句等語音文本劃分至“無意義”的范疇中。在完成上述處理之后,數據預處理工作告一段落。

3.3模型選擇

本文用于語音文本二分類的模型由兩部分組成:BERT預訓練模型中的BERT-base Chinese模型以及基本的邏輯回歸模型。其中,BERT-base Chinese模型為BERT預訓練模型中支持中文的單語言模型,盡管目前BERT模型的多語言模型可供研究維基百科上語料最大的前100種語言(包含中文),但根據谷歌AI團隊的測試驗證,對于中文而言,相較于MultilingualBERT-Base模型,Chinese-only BERT-Base模型訓練的中文模型的結果要好上3%。因此,考慮到本文分析的文本數據僅限中文,采用中文的單語言模型會產生更有針對性的結果。

在BERT-base Chinese模型完成文本處理后,本文選用邏輯回歸模型來接收處理結果。邏輯回歸模型雖然被稱為回歸模型,但實際上是分類模型,并常用于二分類任務中,其不僅可以預測出相關類別,還可得到近似概率的預測,可以滿足本文的中文文本二分類處理任務需求。

3.4模型參數處理

在將文本數據導人BERT-base Chinese預訓練模型之前,需要進行進一步的預處理,預訓練模型一般有三種輸入,分別是input_ids(表示輸入文本的tokenID)、token_type_ids(表示token屬于第一句還是第二句)、attention_mask(表示需要屏蔽的token)。

在數據預處理的過程中,本文是利用tokenizer這一可選的BERT數據預處理的格式化工具,將文本數據處理成BERT的輸人格式,即讓每一個句子都變成對應的ID列表。然而.由于每個句子本身的長度都不一致,為了便于后續的BERT模型處理,需要對轉換后的ID列表填充數據token 0,統一所有向量規格,生成輸入張量input_ids?;跀祿畛?,句子原本的編碼發生了改變,此時不能將輸入張量直接導人至預訓練模型中,需要生成attention—mask來告知預訓練模型來屏蔽填充的token 0。此外,本文處理的文本數據均為單句文本,不存在句對任務處理,故無須生成token_type_ids。

在完成上述預處理后,將input_ids和attention—mask輸入至預訓練模型中,以生成隱藏層來保留輸出結果。從輸出結果來看,基于BERT模型的設計原理,隱藏層實際上是除了每個單詞的token之外,還會在輸入的每一個序列開頭都插入特定的分類token([CLS])的三維張量,其中該分類token([CLS])對應的最后一個隱藏層輸出被用來起到聚集整個序列表征信息的作用。因此,在處理文本分類問題的任務時,本文會忽略第一個向量之外的其他內容(第一個向量和token([ CLS])相關),把每個句子的第一個向量提取出來,通過定義預訓練模型后接的神經網絡,根據BERT默認的隱藏單元數是768,表示二分類的輸出單元設定為2后,輸入到線性層映射為二維張量,并把這個二維張量作為邏輯回歸模型的輸入。

3.5模型訓練測試

在完成BERT-base Chinese預訓練模型的參數處理,獲得輸出結果的二維張量后,便可以將其作為輸入開始對邏輯回歸模型進行訓練。針對邏輯回歸模型,可以直接采用Scikit Leam庫的默認參數(C=1.0)進行訓練。對二維張量的數據集進行劃分,按照4:1的比例生成訓練集和測試集后投入邏輯回歸模型中進行訓練測試,最后得出模型的準確率為76.40-/0。

由于參數C是正則化系數的倒數,其值越大,正則項的權重越小,模型越容易過擬合。為了獲取更合適的正則化參數,本文將上述劃分的訓練集投入Scikit Leam庫中的網格搜索模型(Grid Search Model)進行搜索,最終得到C= 5.26的最佳搜索結果。將該參數重新投入邏輯回歸模型中進行訓練測試,得出模型的準確率為81 .2%。

在這個二分類任務中,后續還可以通過進一步微調BERT-base Chinese預訓練模型,定義優化器和損失函數來對模型進行不斷地優化迭代,提高最終模型的準確率。同時,由于在谷歌AI團隊發布的BERT-base Chinese模型中中文文本是以字為粒度進行切分,并沒有考慮中文需要分詞的特點,基于字粒度的模型訓練將損失不少的特征信息,因此為提高中文文本二分類模型的準確率,還需要深入研究中文分詞在BERT模型中的應用。

4結束語

語音文本的分類數據可以為平臺運維人員深入了解用戶的需求提供重要的參考信息,其關乎語音云平臺的服務質量。本文基于BERT中的BERT-baseChinese預訓練模型,進行了中文語音文本分類任務的研究測試,通過腳本標注來對數據進行預處理,并使用邏輯回歸模型進行訓練。實驗結果表明,基于二分類方法的模型準確率達到令人滿意的測試效果,并存在進一步優化提高的可能性。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合