夏 茂,劉播陽,張 政,陳智超,孔明明*
(1.重慶市無線電監(jiān)測站,重慶 404100;2.國家無線電監(jiān)測中心檢測中心,北京 100037;3.西華大學(xué)無線電管理技術(shù)研究中心,四川 成都 610039)
調(diào)頻廣播是現(xiàn)代社會重要的信息傳播方式之一,通過收聽調(diào)頻廣播,可以獲取實(shí)時(shí)路況信息和相關(guān)資訊。近年來,隨著無線電技術(shù)普及和設(shè)備成本的降低,一方面,調(diào)頻廣播臺站數(shù)量驟增,頻譜監(jiān)管工作量陡增、監(jiān)管難度加大;另一方面,未經(jīng)授權(quán)私自架設(shè)電臺進(jìn)行廣播的行為(俗稱“黑廣播”)屢禁不止。黑廣播不僅影響社會和諧穩(wěn)定,還可能干擾航空、無線電、導(dǎo)航等業(yè)務(wù),具有很大安全隱患。調(diào)頻廣播自動識別是解決這一問題的關(guān)鍵。
當(dāng)前,調(diào)頻廣播識別主要有人工監(jiān)聽[1]、基于語音識別技術(shù)的方法[2-5]、基于頻譜監(jiān)測的方法[6-14]等。其中,人工監(jiān)聽方法依賴于技術(shù)人員監(jiān)聽播放內(nèi)容,該方法識別正確率高,但需要大量技術(shù)人員參與,工作量大且效率低?;谡Z音識別技術(shù)的方法利用調(diào)頻廣播的音頻數(shù)據(jù)識別其性質(zhì),即合法廣播和“黑廣播”,噪聲等因素會影響識別的正確率。基于頻譜監(jiān)測的方法通過信號頻譜特征來判斷是否屬于已知類信號,該方法可達(dá)到一定的識別精度,但是對于廣播內(nèi)容的分類達(dá)不到預(yù)期效果?;谛盘枏?qiáng)度定位廣播的方法[15-16]通過選擇合適的測向信號,交叉定位,可有效找到信號源,但需配備移動監(jiān)測車和經(jīng)驗(yàn)豐富的操作人員。
本文以語音識別技術(shù)為基礎(chǔ),采用基于凝聚式文本層次聚類的方法自動識別廣播的屬性和類別,設(shè)計(jì)了調(diào)頻廣播自動識別系統(tǒng)架構(gòu),提出了適合該研究對象的聚類收斂判定條件并進(jìn)行了實(shí)驗(yàn)驗(yàn)證。采用本文方法得到的廣播屬性及其主題類別的自動識別結(jié)果可向不同業(yè)務(wù)主管部門精準(zhǔn)推送。
基于凝聚式層次聚類的調(diào)頻廣播自動識別包括廣播內(nèi)容主題和關(guān)鍵詞提取、識別驗(yàn)證和語料庫更新3 個(gè)主要過程,如圖1 所示。
圖1 調(diào)頻廣播自動識別技術(shù)的流程圖
1)主題和關(guān)鍵詞提取。對于獲取的黑廣播與正常廣播語音數(shù)據(jù)運(yùn)用語音轉(zhuǎn)寫技術(shù)將音頻轉(zhuǎn)寫成文本,對文本進(jìn)行分析處理,計(jì)算特征項(xiàng)權(quán)重、構(gòu)建空間向量并計(jì)算文本之間的歐式距離,然后運(yùn)用凝聚式層次聚類法將文本空間向量劃分為多個(gè)類別,最后運(yùn)用詞頻分析將各類別內(nèi)高頻關(guān)鍵詞分別構(gòu)建為黑廣播與正常廣播的初始語料庫。
2)識別驗(yàn)證。運(yùn)用語音轉(zhuǎn)寫將待驗(yàn)證廣播音頻轉(zhuǎn)換成文本,提取每個(gè)文本的關(guān)鍵詞,判斷關(guān)鍵詞包含在哪個(gè)類別內(nèi),從而將音頻歸入對應(yīng)的類別中,同時(shí)將未匹配的文本移入更新過程。
3)語料庫更新。將無法匹配的正常廣播文本、黑廣播文本分別和初始正常廣播、黑廣播訓(xùn)練樣本重新進(jìn)行聚類和主題與關(guān)鍵詞提取,更新初始語料庫作為新語料庫。
實(shí)現(xiàn)主題和關(guān)鍵詞提取以及語料庫更新的關(guān)鍵在于音頻數(shù)據(jù)轉(zhuǎn)寫文本的處理和類別劃分。
1.2.1 語音轉(zhuǎn)寫技術(shù)
基于深度全序列卷積神經(jīng)網(wǎng)絡(luò)的語音轉(zhuǎn)寫(long form ASR)技術(shù)是目前較成熟的語音轉(zhuǎn)寫技術(shù),該技術(shù)可將長段音頻轉(zhuǎn)換成文本。本文利用python 程序調(diào)用科大訊飛API 實(shí)現(xiàn)語音轉(zhuǎn)寫,調(diào)用程序主要包括預(yù)處理、文件分片上傳、合并文件、查詢處理進(jìn)度、獲取結(jié)果5 個(gè)步驟。語音轉(zhuǎn)寫完畢后會輸出音頻對應(yīng)的完整文本數(shù)據(jù),保存在相應(yīng)的txt 文件中。本文使用的音頻數(shù)據(jù)直接從實(shí)際的監(jiān)測設(shè)備中獲取。
1.2.2 文本預(yù)處理
對廣播文本數(shù)據(jù)進(jìn)行預(yù)處理主要包括數(shù)據(jù)清洗、中文分詞、去停用詞和構(gòu)建向量空間模型4 個(gè)步驟。其中:數(shù)據(jù)清洗主要是利用正則表達(dá)式去除中文以外的文字及符號;中文分詞主要原理是先基于前綴詞典實(shí)現(xiàn)高效的詞圖掃描,生成句子中漢字所有可能成詞情況的有向無環(huán)圖(DAG),然后利用動態(tài)規(guī)劃查找最大概率路徑,找出最大切分組合;去停用詞主要是通過構(gòu)建停用詞表,將無法表現(xiàn)文本特征的詞語刪除;向量空間模型(VSM)是最簡單有效的文本表示模型[18],其主要思想是將文本變成一個(gè)由特征項(xiàng)權(quán)重構(gòu)成的多維向量,特征項(xiàng)可以是字、詞等VSM 中不可再分割的最小語言單元。
一個(gè)文檔F可以看成是由n個(gè)特征項(xiàng)(t1,t2,t3,···,tn)組成,其中ti是文檔中第i個(gè)特征項(xiàng)(n≥i≥1),對每一個(gè)特征項(xiàng)都賦一個(gè)權(quán)重wi,此時(shí)文檔F的形式化為
其中wi為ti的權(quán)重,因此t1,···,tn可以看作是一個(gè)n維坐標(biāo)系,w1,···,wn可以看作是對應(yīng)的坐標(biāo)值并構(gòu)成n維空間的一個(gè)n維向量,本文稱為文檔F的向量空間模型。
1.2.3 計(jì)算特征項(xiàng)的權(quán)重
TF-IDF 算法[19]是向量空間模型中最經(jīng)典的用來衡量特征項(xiàng)重要性的計(jì)算方法。如果以詞為特征項(xiàng),則特征詞對應(yīng)的權(quán)重由2 個(gè)因素決定,即TF(term frequency)和IDF (inverse document frequency)。TF 表示為
式中:tfi,j代表文本Fj中特征詞ti出現(xiàn)的次數(shù);分子ni,j是該特征詞在文件中出現(xiàn)的次數(shù);分母∑nk,j指在文檔Fj中所有詞的出現(xiàn)次數(shù)之和,字母k表示所有文檔的個(gè)數(shù)。
IDF 的計(jì)算公式為
式中:分子|D|表示文檔總數(shù),分母是指所有文檔中出現(xiàn)了特征詞ti的文檔數(shù)量。但若特征詞ti不在語料庫中就會導(dǎo)致分母為零,因此一般將此公式的分母更換為1+|{d∈D:t∈d}|。詞語的重要性隨著它在一個(gè)文檔中出現(xiàn)的次數(shù)增加而增加,但也會隨著它在總文檔中出現(xiàn)的頻率增加而減少。一個(gè)詞在文檔中的重要程度(權(quán)重w)就是TF 值與IDF 值的乘積,即
層次聚類算法屬于無監(jiān)督學(xué)習(xí)的一種聚類算法,分為2 種聚類方式:凝聚式層次聚類(AHC)和分裂式層次聚類(DHC)。凝聚式層次聚類的思想是:首先將每個(gè)數(shù)據(jù)單獨(dú)成簇,之后按照相似性度量標(biāo)準(zhǔn)將相似性最高的數(shù)據(jù)先進(jìn)行合并,依照數(shù)據(jù)相似度從高到低的順序依次合并成簇,簇間的相似度隨著簇的合并而降低,直到達(dá)到給定的相似度閾值才會停止。本文采用凝聚式層次聚類法來對調(diào)頻廣播文本數(shù)據(jù)進(jìn)行聚類,具體方法如下。
首先將原始樣本(F1,F2,F3,···,Fn)中每個(gè)樣本自成一類,原始的類中心為(C1,C2,C3,···,Cn),然后根據(jù)相似性度量標(biāo)準(zhǔn)將類中心最近的2 個(gè)文本合并,根據(jù)聚類收斂的條件不斷重復(fù)這一過程直至所有可合并的類合并完成。本文采用的相似性度量標(biāo)準(zhǔn)為歐式距離法,為
式中:Fi、Fj分別表示文本集合中第i個(gè)和第j個(gè)文本;wm,i、wm,j分別表示文本Fi和Fj的第m個(gè)特征項(xiàng)的權(quán)重;n表示文本特征項(xiàng)的數(shù)目。通過式(5)可計(jì)算出在數(shù)據(jù)集中文本Fi與文本Fj的距離,并將距離最近的2 個(gè)文本合為一個(gè)類。
本文并沒有使用設(shè)定閾值的方法終止聚類,而是通過研究分析,給出了一種新的聚類收斂的判定條件,即每次合并成一類之前要進(jìn)行判斷:分別統(tǒng)計(jì)合并前這2 類中文本詞頻前10 的關(guān)鍵詞,記為關(guān)鍵詞Top10,這2 類關(guān)鍵詞Top10 的集合分別記為
層次聚類法的優(yōu)點(diǎn)是不需要事先設(shè)定初始的聚類中心和聚類個(gè)數(shù),因此不會因選取聚類中心和種類的不同導(dǎo)致實(shí)驗(yàn)結(jié)果產(chǎn)生差異。其缺點(diǎn)在于時(shí)間復(fù)雜度T(n)和空間復(fù)雜度S(n)高,從而使得算法運(yùn)算過程較慢,因此在樣本量大時(shí)需要做相應(yīng)的優(yōu)化。
利用設(shè)備在某一地區(qū)24 h 監(jiān)聽不同頻點(diǎn)的廣播語音,收集音頻數(shù)據(jù),其頻點(diǎn)包含97.2、100.8、90.8、98.3、96、106.1 MHz 等,每個(gè)頻點(diǎn)至少包含10 個(gè)音頻文件。其中有92 個(gè)黑廣播音頻文件,50 個(gè)正常廣播音頻文件,每個(gè)音頻時(shí)長約10 min,部分采集到的音頻數(shù)據(jù)如表1 所示。無臺標(biāo)的是黑廣播數(shù)據(jù)。臺標(biāo)的識別是根據(jù)在自定義詞典中加入了常見臺標(biāo)名稱,再通過正則表達(dá)式從切分的詞語中提取出來。
表1 采集到的音頻數(shù)據(jù)
調(diào)用科大訊飛接口將采集到的語音數(shù)據(jù)轉(zhuǎn)化為文本文件,格式為txt,部分結(jié)果如表2 所示。
表2 音頻轉(zhuǎn)換成的文本文件
以2019 年11 月8 日凌晨,頻點(diǎn)為90.8 MHz的文本為例,該文本部分內(nèi)容如表3 所示。
表3 文本文件內(nèi)容示例
對轉(zhuǎn)化成文檔的黑廣播數(shù)據(jù)進(jìn)行凝聚式層次聚類:首先利用公式(1)—(4)計(jì)算每篇文檔的特征詞及其權(quán)重(保留3 位小數(shù)),部分?jǐn)?shù)據(jù)如表4 所示;利用距離公式(5)計(jì)算黑廣播文檔之間的距離,部分?jǐn)?shù)據(jù)如表5 所示;從與第1—92 篇文檔中選取1 篇與其距離最小的文檔構(gòu)成簇進(jìn)行合并,合并前考慮聚類收斂的判定條件,若兩簇內(nèi)Top10 關(guān)鍵詞重復(fù)個(gè)數(shù)大于1 則繼續(xù)合并,否則跳過此次合并開始下一組合并。層次聚類部分合并過程中重復(fù)的關(guān)鍵詞及按照收斂條件合并次數(shù)如表6、表7 所示。其中:不考慮收斂條件時(shí),黑廣播和正常廣播分別需要合并91、49 次完成聚類;在滿足收斂條件下,黑廣播合并成功83 次,失敗9 次,共聚成3 類,正常廣播合并成功39 次,失敗11 次,共聚成6 類。
表4 特征詞及權(quán)重
表5 文檔距離
表6 黑廣播凝聚式層次聚類判定過程
表7 正常廣播凝聚式層次聚類判定過程
廣播語音樣本的凝聚式層次聚類樹狀圖,如圖2—3 所示。橫坐標(biāo)表示參與聚類的各文檔,縱坐標(biāo)表示歐式距離,文檔(類)的距離越近相似程度越高。為了提取每一類的主題,聚類完成后根據(jù)詞頻從每一類中提取關(guān)鍵詞Top10,根據(jù)關(guān)鍵詞對各類主題進(jìn)行人工標(biāo)注,最后將黑廣播與正常廣播的關(guān)鍵詞Top10 分別放入語料庫,形成的語料庫如表8、表9 所示。
圖2 黑廣播層次聚類樹狀圖
圖3 正常廣播層次聚類樹狀圖
表8 黑廣播各類的關(guān)鍵詞語料庫
在訓(xùn)練黑廣播語料庫時(shí),未添加自定義詞典時(shí)訓(xùn)練出的黑廣播分詞詞語效果為“玻璃體”“渾濁”“兩個(gè)”“療程”,在添加了“玻璃體渾濁”與“兩個(gè)療程”這樣的詞在自定義詞典之后,效果為“玻璃體渾濁”“兩個(gè)療程”。用此種方法可以在分詞的時(shí)候,將所有正常廣播的臺標(biāo)和整點(diǎn)報(bào)時(shí)放入自定義添加詞典中,之后可以利用正則表達(dá)式提取出臺標(biāo)、報(bào)時(shí)。使用Re 庫提取手機(jī)號和座機(jī)號的正則表達(dá)式為:
tel_number=re.findall("1d{10}",str_object_list)
表9 正常廣播各類的關(guān)鍵詞語料庫
tel_number_A=re.findall("d{10}",str_object_list)
本實(shí)驗(yàn)提取到的電話號碼有1704****4472、1718****927、400****589。對于同一類txt 文件進(jìn)行歸類存儲,再分別對每一類提取其關(guān)鍵詞,提取到的關(guān)鍵詞如表8、表9 所示。將加入正則表達(dá)式的結(jié)果,用wordcloud(圖像處理庫)和matplotlib(圖像展示庫)對其處理,關(guān)鍵詞、黑廣播手機(jī)號、臺標(biāo)、整點(diǎn)報(bào)時(shí)制成詞云圖展示的結(jié)果,如圖4 所示。
圖4 關(guān)鍵詞展示
實(shí)驗(yàn)建立了黑廣播與正常廣播語料庫后,驗(yàn)證實(shí)驗(yàn)的目的是檢驗(yàn)新采集的廣播數(shù)據(jù)在無人干預(yù)的情況下是否能夠自動識別廣播的屬性及類別。
首先將獲取的音頻數(shù)據(jù)轉(zhuǎn)為文本,其中頻率為98.3、90.8、88.5、89.6、99.3 MHz 的音頻文件分別有27、22、25、29、33 個(gè),中華之聲-兩岸熱新聞音頻文件10 個(gè),經(jīng)濟(jì)之聲-財(cái)經(jīng)夜讀音頻文件8 個(gè),中國交通廣播-汽車風(fēng)云音頻文件10 個(gè),中華之聲-兩岸熱新聞音頻文件10 個(gè),每個(gè)時(shí)長約10 min。轉(zhuǎn)成的部分音頻數(shù)據(jù)如表10 所示。然后檢驗(yàn)特征詞是否被包含在廣播語料庫中,部分特征詞如表11 所示。測試結(jié)果如表12 所示。
對184 個(gè)樣本進(jìn)行檢測,其結(jié)果顯示,與人工標(biāo)注屬性一致的有167 個(gè),未識別廣播屬性的樣本11 個(gè),錯誤6 個(gè)。計(jì)算其正確率和屬性綜合評價(jià)指標(biāo)。其中綜合評價(jià)指標(biāo)(F)包括精確率(P)、召回率(R)。
表10 需要被識別的廣播文本數(shù)據(jù)信息
表11 對應(yīng)廣播文本數(shù)據(jù)得到的特征詞
表12 測試結(jié)果
式中:TP、EP和 FN分別為檢測正確的樣本、檢測錯誤的樣本和未能檢測的樣本。
綜合評價(jià)指標(biāo)的計(jì)算公式為
當(dāng)α=1時(shí),就是最常見評價(jià)指標(biāo)
綜合評價(jià)指標(biāo)F1綜合了精確率P和召回率R,因此,用綜合評價(jià)指標(biāo)F1來評價(jià)實(shí)驗(yàn)。F1越大則表示實(shí)驗(yàn)結(jié)果越好。
不同主題的廣播,若播放內(nèi)容經(jīng)上述方法識別出存在違規(guī)則可向相關(guān)部門推送,例如:類別為治療男性疾病的廣播可向醫(yī)療監(jiān)督管理機(jī)構(gòu)推送;類別為新聞的廣播可向宣傳部推送;類別為交通安全的廣播可向公安推送;類別為經(jīng)濟(jì)類的廣播可向銀行業(yè)監(jiān)督管理機(jī)構(gòu)推送。
對未識別出廣播屬性的樣本經(jīng)過人工標(biāo)注屬性后加入訓(xùn)練的文本庫中重新進(jìn)行語料庫的訓(xùn)練(與原始語料庫的提取主題和關(guān)鍵詞方式相同),經(jīng)過訓(xùn)練后的新語料庫如表13、表14 所示。
表13 更新后的黑廣播關(guān)鍵詞語料庫
在更新了語料庫之后,對樣本進(jìn)行重新測試,其中與人工標(biāo)注屬性一致的有179 個(gè),未識別廣播屬性的樣本3 個(gè),錯誤2 個(gè);類別標(biāo)注正確162 個(gè),錯誤22 個(gè)。
表14 更新后的正常廣播關(guān)鍵詞語料庫
相比語料庫更新之前,實(shí)驗(yàn)結(jié)果正確率上升了6.52%,綜合評價(jià)指標(biāo)上升了0.045 3。
本文綜合運(yùn)用了語音文本識別、數(shù)據(jù)預(yù)處理、層次聚類、數(shù)據(jù)可視化等技術(shù),通過對廣播語音文本的聚類實(shí)現(xiàn)了語料庫的構(gòu)建、更新,并進(jìn)行了識別效果的驗(yàn)證實(shí)驗(yàn)。結(jié)果表明,基于凝聚式層次聚類的方法可有效地識別調(diào)頻廣播的屬性和類別,在實(shí)際監(jiān)管工作中可將廣播音頻數(shù)據(jù)相關(guān)主題推送到對應(yīng)的醫(yī)療、市場、食品藥品、輿論等監(jiān)督管理機(jī)構(gòu)。