国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop的維吾爾文文本分類

2018-08-17 03:00:34艾比布拉阿不拉哈力旦阿布都熱依木吳冰冰
關(guān)鍵詞:維吾爾文互信息組詞

艾比布拉·阿不拉,馬 振,哈力旦·阿布都熱依木,吳冰冰

(新疆大學(xué) 電氣工程學(xué)院,新疆 烏魯木齊 830047)

0 引 言

對(duì)于文本分類,已有不少這方面的研究,但是利用大數(shù)據(jù)的處理方式來進(jìn)行維吾爾文文本分類的研究還處于起步階段。文獻(xiàn)[1]提供了一種使用字符級(jí)卷積網(wǎng)絡(luò)進(jìn)行文本分類;文獻(xiàn)[2]設(shè)計(jì)了一種適用于文本聚類任務(wù)的特征選擇算法,提出詞條屬性的概念;文獻(xiàn)[3]提出一種基于TextRank算法和互信息相似度的維吾爾文關(guān)鍵詞提取及文本分類方法;文獻(xiàn)[4]提出一種基于深度置信網(wǎng)絡(luò)的維吾爾文短信文本分類模型;文獻(xiàn)[5]使用了一種自動(dòng)的維吾爾文組詞算法dme-TS,該算法用一種組合統(tǒng)計(jì)量(dme)來度量文本中相鄰單詞之間的關(guān)聯(lián)程度。

本文結(jié)合Hadoop分布式計(jì)算的特點(diǎn)與改進(jìn)維吾爾文組詞算法(DM算法)的優(yōu)點(diǎn),運(yùn)用MapReduce并行計(jì)算模型,然后再利用Hadoop生態(tài)環(huán)境下的子項(xiàng)目Mahout來對(duì)組詞后的文本進(jìn)行維吾爾文文本分類計(jì)算,其中包括文本的序列化、向量化、訓(xùn)練貝葉斯分類器和分類器的測(cè)試,設(shè)計(jì)了基于Hadoop和改進(jìn)維吾爾文組詞算法的文本分類模型,并用實(shí)驗(yàn)進(jìn)行驗(yàn)證。該模型在維吾爾文檢索系統(tǒng)、輿情分析等方面具有重要的意義。

1 改進(jìn)的維吾爾文組詞算法

1.1 互信息(mutual information)

(1)

(2)

其中,T是閾值,當(dāng)互信息值大于T時(shí),即單詞a,b之間是強(qiáng)關(guān)聯(lián),則表示單詞a,b應(yīng)該連在一起,作為一個(gè)特征單元。反之,則應(yīng)該斷開。

1.2 t-測(cè)試(difference of t-test)

(3)

其中,P(c|b)、P(b|a)分別是b關(guān)于c和a關(guān)于b的條件概率。σ2(P(c|b))、σ2(P(b|a))是各自的方差。單詞b與單詞a和c的關(guān)系如式(4)

(4)

dts(x,y)=ta,y(x)-tx,b(y)

(5)

當(dāng)dts(x,y)>α(α為閾值),則單詞x,y之間是強(qiáng)關(guān)聯(lián),應(yīng)該連在一起。

1.3 組合互信息和t-測(cè)試差的統(tǒng)計(jì)量

由于互信息反應(yīng)的是兩個(gè)單詞之間的靜態(tài)結(jié)合力,t-測(cè)試差考慮了上下文關(guān)系。這兩種算法在一定程度形成優(yōu)劣互補(bǔ),因此可以將其線性組合成一種新的DM算法,首先考慮到MI和dts之間的變化范圍不一樣,因此現(xiàn)將其標(biāo)準(zhǔn)化,即分別算出其各自對(duì)應(yīng)的標(biāo)準(zhǔn)差MI*(x,y)、dts*(x,y),然后按照一定的權(quán)重比值將其疊加在一起,如式(6)

dm(x,y)=α×MI*(x,y)+β×dts*(x,y)

(6)

α,β分別為互信息和t-測(cè)試差的權(quán)值系數(shù)。

1.4 DM分段式組詞算法

在對(duì)維吾爾文文本進(jìn)行預(yù)處理的時(shí)候,由于標(biāo)點(diǎn)符號(hào)兩邊的單詞不可能組成在一起,因此在組詞前必須先保留標(biāo)點(diǎn)符號(hào),在組詞結(jié)束后在對(duì)其去除。本文首先對(duì)文本按標(biāo)點(diǎn)進(jìn)行分段處理,然后在每一段分別進(jìn)行組詞。

從文本集中讀取一個(gè)文本,按標(biāo)點(diǎn)符號(hào)將其才分成長(zhǎng)度不同的m個(gè)字符串;然后依次計(jì)算出每個(gè)詞串中的每個(gè)單詞之間的dm值,并與給定的閾值進(jìn)行比較。假定dm給定的閾值為T,如果dm(x,y)>T,則單詞x和y之間應(yīng)該組合在一起。反之,如果dm(x,y)

圖1 語(yǔ)義劃分實(shí)例

2 DM算法的并行化

由于實(shí)驗(yàn)平臺(tái)是以Hadoop為基礎(chǔ)的,采用的是分布式文件處理系統(tǒng)HDFS,它處理的任務(wù)是用MapReduce進(jìn)行編寫程序的。因此特征抽取的并行化處理是必不可少的過程[6]。

并行DM算法在Hadoop平臺(tái)上的實(shí)現(xiàn)步驟如下:

步驟1 初始化Hadoop任務(wù)。用戶向ResourceMana-ger提交Job。

步驟2 讀取并復(fù)制源數(shù)據(jù)。將源數(shù)據(jù)復(fù)制到Hadoop的分布式文件系統(tǒng)HDFS中,并合理分配到各個(gè)子節(jié)點(diǎn)。

步驟3 MapReduce過程。實(shí)現(xiàn)各個(gè)子節(jié)點(diǎn)映射數(shù)據(jù)集并處理。

特征抽取一共分為4個(gè)MapReduce任務(wù),執(zhí)行流程如圖2所示。

圖2 MapReduce任務(wù)執(zhí)行流程

第一個(gè)MapReduce的任務(wù)是統(tǒng)計(jì)每類包含的文檔數(shù),文檔總數(shù),每個(gè)單詞出現(xiàn)的頻數(shù);

第二個(gè)MapReduce的任務(wù)是計(jì)算相鄰兩個(gè)單詞的互信息,輸出鍵值對(duì)<(x,y),MI(x,y)>;

第三個(gè)MapReduce的任務(wù)是計(jì)算相鄰兩個(gè)單詞的t-測(cè)試差,輸出鍵值對(duì)<(x,y),dts(x,y)>;

第四個(gè)MapReduce的任務(wù)是計(jì)算dm(x,y),并根據(jù)其值組詞輸出。

組合式MapReduce計(jì)算作業(yè)每個(gè)子任務(wù)都需要提供獨(dú)立的作業(yè)配置代碼。MapReduce1的輸出路徑outpath1將作為MapReduce2和MapReduce3的輸入路徑。MapReduce4任務(wù)必須要等MapReduce2和MapReduce3執(zhí)行完成后才能執(zhí)行,其組合式MapReduce作業(yè)的配置和執(zhí)行代碼如下:

//子任務(wù)mapreduce1配置執(zhí)行代碼

Configuration jobconf 1=new Configuration();

job1=new Job(jobconf1,“Job1”);

job1.setJarByClass(jobclass1);

… … //job1的其它設(shè)置

FileInputFormat.addInputPath(job1,input1);

FileOutputFormat.setOutputPath(job1,outpath1);

job1.waitForCompletion(true);

//子任務(wù)mapreduce2配置執(zhí)行代碼

Configuration jobconf2=new Configuration();

job2=new Job(jobconf2,“Job2”);

FileInputFormat.addInputPath(job2,outpath1);

… … //job2的其它設(shè)置

//子任務(wù)mapreduce3配置執(zhí)行代碼

Configuration jobconf3=new Configuration();

job3=new Job(jobconf3,“Job3”);

FileInputFormat.addInputPath(job3,outpath1);

… … //job3的其它設(shè)置

//子任務(wù)mapreduce4配置執(zhí)行代碼

Configuration jobconf4=new Configuration();

job3=new Job(jobconf4,“Job4”);

FileInputFormat.addInputPath(job4,outpath1);

… … //job4的其它設(shè)置

//設(shè)置job4與job2的依賴關(guān)系,job4將等待job2執(zhí)行完畢

Job4.addDependingJob(job2);

//設(shè)置job4與job3的依賴關(guān)系,job4將等待job3執(zhí)行完畢

Job4.addDependingJob(job3);

//設(shè)置JobControl, 把job任務(wù)加入到j(luò)obControl

JobControl JC=new JobControl(“sumJob”);

JC.run();

3 基于Hadoop和DM算法的文本分類模型

基于Hadoop和DM算法的文本分類模型的方法包括文本序列化、改進(jìn)維吾爾文組詞算法、文件向量化、樸素貝葉斯分類算法,最終實(shí)現(xiàn)維吾爾文文本的準(zhǔn)確分類。具體步驟如下:

步驟1 采用MapReduce計(jì)算模型將文本數(shù)據(jù)轉(zhuǎn)化為Hadoop能夠處理的SequenceFile文件。每一行的key值為每個(gè)文件夾的名字加上文件夾下面的文件名,value值為文件夾下面的文件內(nèi)容[7]。

步驟2 利用MapReduce計(jì)算模型對(duì)序列化文件進(jìn)行DM算法組詞計(jì)算。

步驟3 把經(jīng)過DM算法處理過的序列文件轉(zhuǎn)化為向量文件。具體實(shí)現(xiàn)如下:

(1)對(duì)序列化文件進(jìn)行單詞計(jì)數(shù)、單詞編碼。

(2)創(chuàng)建并合并局部變量。

(3)對(duì)局部變量采用TF-IDF算法計(jì)算得到新的局部變量。TF-IDF算法如下:

在一份給定的文件里,詞頻(term frequency,TF)指的是某一個(gè)給定的詞語(yǔ)在該文件中出現(xiàn)的頻率,如式(7)所示

(7)

其中,ni,j是該詞ti在文件dj中出現(xiàn)的次數(shù),而分母是在文件dj中所有字詞的出現(xiàn)次數(shù)之和。

逆向文件頻率(inverse document frequency,IDF)是一個(gè)詞語(yǔ)普遍重要性的度量。如式(8)所示

(8)

其中,|D|是語(yǔ)料庫(kù)的總數(shù),|{j:ti∈dj}|包含詞語(yǔ)ti的文件數(shù)目。

某一特定文件內(nèi)的高詞語(yǔ)頻率,以及該詞語(yǔ)在整個(gè)文件集合中的低文件頻率,可以產(chǎn)生出高權(quán)重的TF-IDF,如式(9)所示

tfidfi,j=tfi,j×idfi

(9)

(4)創(chuàng)建局部變量并合并。

序列化文件到向量文件這步可分為8個(gè)小步驟,在Mahout中是由7個(gè)Job和1個(gè)reduce操作并分別執(zhí)行的[8]。文本轉(zhuǎn)化為向量流程如圖3所示。

步驟4 利用Hadoop的子項(xiàng)目Mahout[9]訓(xùn)練樸素貝葉斯,生成分類器模型。

分類器生成之后,接著就是對(duì)分類器進(jìn)行測(cè)試?;贖adoop和DM算法的文本分類模型的整體處理流程如圖4所示。

4 實(shí)驗(yàn)及結(jié)果分析

4.1 數(shù)據(jù)集

數(shù)據(jù)源來源于新疆維吾爾自治區(qū)人民政府網(wǎng)(http://www.xinjiang.gov.cn/)和Ulinix(http://www.ulinix.com/)等主要維吾爾文門戶網(wǎng)站。實(shí)驗(yàn)數(shù)據(jù)描述見表1。

圖3 文本轉(zhuǎn)化為向量流程

圖4 維吾爾文文本分類流程

樣本1訓(xùn)練集樣本1測(cè)試集樣本2訓(xùn)練集樣本2測(cè)試集社會(huì)事實(shí)12826318100生活與健康1403724090體育922429997文學(xué)1272835092

4.2 分類及性能評(píng)估

本次實(shí)驗(yàn)的實(shí)驗(yàn)環(huán)境為,采用的3臺(tái)計(jì)算機(jī),一個(gè)namenode,兩個(gè)做datanode,操作系統(tǒng)為CentOS 7.0,Hadoop版本為2.7.0,Java安裝的版本為jdk1.8.0-20,Mahout版本為0.9。Maven版本為3.2.3。

文本分類中對(duì)性能評(píng)估[10]的指標(biāo)有很多,其中常用的有查全率(recall,R)、查準(zhǔn)率(precision,P)和F1值等。P=分類正確的文本數(shù)目/所有的分類文本數(shù)目,R=分類正確的文本數(shù)目/應(yīng)有的文本數(shù)目

實(shí)驗(yàn)1:DM算法閾值T的確定:將DM算法的閾值T設(shè)置為不同的數(shù),得到相應(yīng)的分類結(jié)果,實(shí)驗(yàn)結(jié)果如圖5所示。在此,設(shè)置11為閾值T進(jìn)行后續(xù)的實(shí)驗(yàn)。

圖5 不同閾值下的維吾爾文文本分類的準(zhǔn)確度

實(shí)驗(yàn)2:本文改進(jìn)算法與互信息算法、t-測(cè)試差算法的比較。實(shí)驗(yàn)采用樣本1和樣本2數(shù)據(jù),特征維數(shù)從1000到6000之間取值,對(duì)查準(zhǔn)率(P)和平均值F1的值的變化進(jìn)行了統(tǒng)計(jì)和對(duì)比,如圖6、圖7所示。

圖6 改進(jìn)算法與互信息、t-測(cè)試差的分類準(zhǔn)確率

圖7 改進(jìn)算法與互信息、t-測(cè)試差的F1值

實(shí)驗(yàn)結(jié)果表明:

(1)由圖5可知,當(dāng)樣本數(shù)目確定的時(shí)候,維吾爾文文本分類的準(zhǔn)確率跟組詞時(shí)所取的閾值T有關(guān),當(dāng)T≥11時(shí),分類的準(zhǔn)確率趨于穩(wěn)定。

(2)由圖6可知,當(dāng)特征維數(shù)小于100時(shí),3種算法的準(zhǔn)確性都是呈逐漸上升趨勢(shì)。當(dāng)特征維數(shù)大于100小于250時(shí),3種算法都是緩慢下趨勢(shì)??傮w來看,本文改進(jìn)算法優(yōu)于互信息算法和t-測(cè)試差算法。

(3)由圖7可知,從F1值方面來看,本文改進(jìn)算法也在分類性能方面也都明顯高于互信息算法和t-測(cè)試差算法。

5 結(jié)束語(yǔ)

猜你喜歡
維吾爾文互信息組詞
多音字組詞
形近字組詞
怎樣正確組詞
我會(huì)組詞
西部少數(shù)民族語(yǔ)言對(duì)阿拉伯文獻(xiàn)的譯介及其特點(diǎn)
基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
聯(lián)合互信息水下目標(biāo)特征選擇算法
改進(jìn)的互信息最小化非線性盲源分離算法
基于增量式互信息的圖像快速匹配方法
維吾爾文研究與Android維文閱讀器的實(shí)現(xiàn)?
商城县| 甘南县| 郑州市| 余姚市| 鹿泉市| 当阳市| 江达县| 博客| 靖宇县| 仁怀市| 盈江县| 关岭| 台安县| 商都县| 乌拉特前旗| 望谟县| 华宁县| 潞西市| 江达县| 冷水江市| 上栗县| 玛多县| 色达县| 二连浩特市| 房产| 万州区| 都昌县| 和政县| 潍坊市| 九龙城区| 卢氏县| 泊头市| 隆回县| 开鲁县| 阿尔山市| 炉霍县| 合阳县| 佛坪县| 麻栗坡县| 江川县| 溆浦县|