摘 要: 基于.NET平臺(tái),結(jié)合SQL Server2005數(shù)據(jù)庫(kù),設(shè)計(jì)了一個(gè)針對(duì)日常卷煙產(chǎn)品質(zhì)量反饋意見匯總的自動(dòng)文摘系統(tǒng)。系統(tǒng)的運(yùn)行可以極大提高煙廠分析人員的工作質(zhì)量和效益,減少差錯(cuò),減輕勞動(dòng)強(qiáng)度,提高市場(chǎng)測(cè)試評(píng)價(jià)人員的工作效率。因此,面向卷煙質(zhì)量評(píng)價(jià)的自動(dòng)文摘系統(tǒng),可以作為分析市場(chǎng)測(cè)試評(píng)價(jià)信息的有效工具,在實(shí)際中也得到了良好的應(yīng)用。
關(guān)鍵詞: 卷煙質(zhì)量評(píng)價(jià);.NET平臺(tái);自動(dòng)文摘系統(tǒng)
隨著經(jīng)濟(jì)的飛速發(fā)展,企業(yè)的競(jìng)爭(zhēng)也越來越激烈,煙廠的卷煙產(chǎn)品質(zhì)量的及時(shí)反饋與匯總對(duì)煙草企業(yè)的發(fā)展有著重要的作用。目前,卷煙產(chǎn)品的質(zhì)量評(píng)價(jià)主要依靠評(píng)吸專家經(jīng)驗(yàn)通過品嘗來完成,其評(píng)價(jià)結(jié)果受個(gè)人的主觀愛好、生理差異和心理狀態(tài)等因素的制約,由于評(píng)吸人員比較多,描述比較復(fù)雜,人為的分析和整理耗時(shí)比較長(zhǎng),無法及時(shí)地對(duì)日常卷煙產(chǎn)品質(zhì)量反饋意見進(jìn)行匯總。因此,研究一種快速?gòu)南M(fèi)者對(duì)卷煙質(zhì)量綜合評(píng)價(jià)數(shù)據(jù)中挖掘質(zhì)量?jī)?yōu)劣信息的方法,是卷煙數(shù)字化設(shè)計(jì)發(fā)展的需要。
為了滿足煙廠企業(yè)的需求,本文基于.NET平臺(tái),結(jié)合SQL Server2005數(shù)據(jù)庫(kù),基于三層結(jié)構(gòu)的思想,設(shè)計(jì)了一個(gè)針對(duì)日常卷煙產(chǎn)品質(zhì)量反饋意見匯總的自動(dòng)文摘系統(tǒng)。與傳統(tǒng)的人為分析和整理相比,該系統(tǒng)功能完善、性能穩(wěn)定、可移植性高,可以極大提高企業(yè)市場(chǎng)測(cè)試評(píng)價(jià)人員的工作效率,減少差錯(cuò),減輕勞動(dòng)強(qiáng)度。因此,面向卷煙質(zhì)量評(píng)價(jià)的自動(dòng)文摘系統(tǒng),可以作為分析市場(chǎng)測(cè)試評(píng)價(jià)信息的有效工具,在實(shí)際中也得到了良好的應(yīng)用。
1 系統(tǒng)結(jié)構(gòu)
1.1 Visual Studio.NET技術(shù)
面向卷煙質(zhì)量評(píng)價(jià)的自動(dòng)文摘系統(tǒng)采用.NET技術(shù)架構(gòu)C#設(shè)計(jì)?,F(xiàn)階段.NET平臺(tái)主要由以下幾部分組成:Windows.NET、.NET框架、Visual Studio.NET、.NET企業(yè)服務(wù)器、Web服務(wù)和.NET應(yīng)用以及模塊構(gòu)建服務(wù)[1]。Windows.NET是指Windows操作系統(tǒng)的下一代產(chǎn)品, .NET框架運(yùn)行于該系統(tǒng)之上,提供對(duì).NET框架應(yīng)用的運(yùn)行支持。Visual Studio.NET則是開發(fā).NET框架應(yīng)用的集成開發(fā)環(huán)境。在.NET框架的更上一層,是具體的應(yīng)用和微軟公司為.NET平臺(tái)提供的服務(wù),包括Web服務(wù)、企業(yè)服務(wù)器和模塊構(gòu)建服務(wù)等。
.NET Framework的誕生解決了許多開發(fā)人員多年來一直困擾的問題,并提供了這些問題的解決方案。每一種編程語(yǔ)言都有自己獨(dú)特的地方,如它們可能是強(qiáng)類型的,有垃圾回收機(jī)制、基于例外的錯(cuò)誤處理,或是以虛擬機(jī)方式運(yùn)行,以及擁有強(qiáng)大的類庫(kù)[2]。Visual Basic、Powerbuilder以及C++標(biāo)準(zhǔn)模板庫(kù)(STL)或是其他語(yǔ)言都有一些這樣的特性。然而,Java語(yǔ)言以及基于Java的J2SE和J2EE框架表現(xiàn)得最為出色,以至于常常有人將Java和微軟的.NET Framework相提并論?,F(xiàn)在微軟正在將最好的特性融入自己的產(chǎn)品中,這其中包括支持多種語(yǔ)言的.NET Framework。微軟所做的一切,將在它未來的開發(fā)語(yǔ)言和工具中得到體現(xiàn)[1]。
其中,分詞詞表是詞匯量足夠大的一個(gè)中文詞典,系統(tǒng)使用參考文獻(xiàn)[4]提供的一個(gè)中文分詞詞表[5]。名詞性指標(biāo)詞詞表用來存儲(chǔ)日常卷煙產(chǎn)品質(zhì)量反饋意見匯總表中出現(xiàn)的名詞信息,如刺激性、香味、余味、煙氣、口感、雜氣、外觀質(zhì)量等,這些名詞是重點(diǎn)評(píng)價(jià)分析卷煙質(zhì)量的指標(biāo)項(xiàng)。情感詞詞表用來存儲(chǔ)評(píng)吸人員對(duì)卷煙產(chǎn)品質(zhì)量描述的情感評(píng)價(jià)信息,包含一篇文檔中出現(xiàn)的情感形容詞、詞頻及情感極性。其中,形容詞為主關(guān)鍵字,包括較好、適中、較差、較小、較濃等。每個(gè)形容詞在對(duì)卷煙的名稱指標(biāo)詞的評(píng)價(jià)情感下都對(duì)應(yīng)了一個(gè)極性。其中,0代表中性,1代表褒義,-1代表貶義。停用詞表里存放著一些虛詞、連詞等無實(shí)際意義的詞,以便在進(jìn)行分詞操作時(shí)將文檔中含有的停用詞表中的字、詞去掉,以減少不必要的資源浪費(fèi),提高分詞速度。這些基礎(chǔ)信息為提取和生成評(píng)價(jià)信息的摘要提供了有效的數(shù)據(jù)。
2.2 系統(tǒng)的功能設(shè)計(jì)
隨著傳統(tǒng)的面向通用領(lǐng)域的自動(dòng)文摘技術(shù)[6]的日趨成熟,越來越多的目光轉(zhuǎn)向了針對(duì)特定領(lǐng)域的、更加個(gè)性化的自動(dòng)摘要技術(shù),以滿足更加豐富的需求。本文設(shè)計(jì)了面向卷煙質(zhì)量評(píng)價(jià)這一特定領(lǐng)域的自動(dòng)文摘系統(tǒng)。該系統(tǒng)主要包括5個(gè)模塊:文本預(yù)處理模塊、文檔分詞模塊、加載詞庫(kù)模塊、詞頻統(tǒng)計(jì)分析模塊及摘要生成模塊。系統(tǒng)的結(jié)構(gòu)模型如圖2所示。
系統(tǒng)各模塊具體的功能如下:
?。?)文本預(yù)處理模塊:將待分析文本信息按照一定的標(biāo)準(zhǔn)格式導(dǎo)入,即按照計(jì)算機(jī)能夠識(shí)別的形式導(dǎo)入文本信息。為保證文本標(biāo)識(shí)的準(zhǔn)確性,在進(jìn)行文檔處理時(shí),統(tǒng)一使用全角的標(biāo)點(diǎn)符號(hào)。
(2)文檔分詞模塊:此模塊為摘要系統(tǒng)的首頁(yè)所顯示的內(nèi)容,導(dǎo)入的待分析文檔信息將在窗體中顯示出來。首先對(duì)待分析的文檔信息進(jìn)行分詞處理,并把文檔中的停用詞等一些非重要詞剔除,分詞結(jié)果中每個(gè)詞中間用空格隔開,在分詞結(jié)果中提供了未能識(shí)別的候選新詞,在加載詞庫(kù)模塊中可以把未能識(shí)別的候選新詞添加到分詞詞庫(kù)中,從而提高文檔分詞的效率。
(3)加載詞庫(kù)模塊:由于文檔分詞模塊不可能達(dá)到100%的分詞準(zhǔn)確率,不可避免地會(huì)出現(xiàn)不能識(shí)別的新詞,在此模塊中,可以把這些未能識(shí)別的新詞加載到分詞詞庫(kù)中,可以隨時(shí)添加及更新分詞詞庫(kù),從而提高分詞的準(zhǔn)確率;在該模塊中,還可以添加評(píng)價(jià)卷煙質(zhì)量的名詞指標(biāo)詞和形容詞性的情感詞。
?。?)詞頻統(tǒng)計(jì)分析模塊:在該模塊中,根據(jù)標(biāo)點(diǎn)符號(hào)將待分析的文檔劃分成一個(gè)個(gè)的句子,對(duì)每個(gè)句子進(jìn)行分詞,根據(jù)名詞庫(kù)統(tǒng)計(jì)待分析文檔中出現(xiàn)的名詞頻率,并把與名詞相關(guān)的句子顯示在單獨(dú)的列表中,然后統(tǒng)計(jì)每個(gè)名詞對(duì)應(yīng)的句子中形容詞的詞頻,顯示詞頻統(tǒng)計(jì)的相關(guān)信息。
?。?)摘要生成模塊:通過對(duì)文檔的統(tǒng)計(jì)分析,系統(tǒng)可以自動(dòng)計(jì)算分析出每個(gè)包含名詞指標(biāo)詞的句子中,各名詞指標(biāo)詞的情感值的加權(quán)和,系統(tǒng)自動(dòng)組合各名詞指標(biāo)詞和其對(duì)應(yīng)的情感形容詞,從而得到評(píng)價(jià)摘要。
3 系統(tǒng)實(shí)現(xiàn)與應(yīng)用
3.1 最大正向匹配算法的C#實(shí)現(xiàn)
本系統(tǒng)采用最大正向匹配分詞算法[7],該算法復(fù)雜度比較小,技術(shù)實(shí)現(xiàn)比較容易,分詞效率高,以下是程序中實(shí)現(xiàn)正向最大匹配算法的部分關(guān)鍵代碼:
int maxlen=8;//最大詞長(zhǎng)為8字符(即4個(gè)漢字)
string Separator="";//分詞結(jié)果以空格隔開
private ISegmentDictionary SegmentDictionary=ne
w ForwardSegmentDictionary();//定義分詞詞典
public void Segment(string text,StringBuilder result)
//對(duì)text進(jìn)行正向最大匹配分詞
{while(!string.IsNullOrEmpty(text))
//文本text不空則循環(huán)分詞
{int len=text.Length;//文本的長(zhǎng)度
int subLen=maxlen;//從最大詞長(zhǎng)開始匹配
string strWord="";
while(len>2)//文本中有詞則循環(huán)
{strWord=text.Substring(0,subLen);
subLen=subLen-2;
if(SegmentDictionary.Contains(strWord))//匹配詞典
{result.Append(strWord);
result.Append(Separator);
//把匹配的詞語(yǔ)添加到分詞結(jié)果中
break;}}
text.Remove(0,subLen);//把匹配的詞語(yǔ)從文本中除去
return result;}}
3.2 系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)采用C/S架構(gòu),可以在Windows 2003,Windows XP,Windows 7操作系統(tǒng)平臺(tái)上運(yùn)行,本文在.NET平臺(tái)下,采用Visual C#開發(fā)語(yǔ)言、Microsoft SQL Server2005后臺(tái)數(shù)據(jù)庫(kù),ADO.NET進(jìn)行開發(fā)的Windows Form應(yīng)用程序。在日常卷煙產(chǎn)品質(zhì)量市場(chǎng)測(cè)試評(píng)價(jià)的實(shí)際業(yè)務(wù)中,該系統(tǒng)包含了使用簡(jiǎn)單的圖形用戶界面,可以作為分析市場(chǎng)測(cè)試評(píng)價(jià)信息的有效工具。另外,本系統(tǒng)測(cè)試過山東中煙工業(yè)公司提供的1 000條左右的消費(fèi)者評(píng)價(jià)數(shù)據(jù)信息。下面以部分評(píng)價(jià)數(shù)據(jù)信息為例,通過該系統(tǒng)得到摘要信息,系統(tǒng)運(yùn)行界面圖分別如圖3、圖4、圖5所示。
在系統(tǒng)預(yù)處理、分詞界面中,可以看到分詞結(jié)果以及未能識(shí)別的候選新詞,這些候選新詞能夠加載到分詞詞庫(kù)中;在詞頻統(tǒng)計(jì)分析界面中,向用戶展示各名詞指標(biāo)詞和形容詞的詞頻,并按照從大到小排列,與名詞指標(biāo)詞有關(guān)的句子也顯示在該界面中,方便用戶分析判斷評(píng)價(jià)結(jié)果;在摘要生成界面中,系統(tǒng)自動(dòng)分析得到摘要結(jié)果。
在系統(tǒng)性能方面,人為的分析消費(fèi)者對(duì)卷煙質(zhì)量綜合評(píng)價(jià)數(shù)據(jù),消耗大量的時(shí)間和精力,系統(tǒng)能夠快速地得到數(shù)據(jù)的統(tǒng)計(jì)分析以及摘要結(jié)果,大大地提高了市場(chǎng)測(cè)試人員的工作效率。
本文從煙草企業(yè)的實(shí)際應(yīng)用出發(fā),面對(duì)人為分析和整理卷煙產(chǎn)品質(zhì)量耗時(shí)比較長(zhǎng)這一問題,設(shè)計(jì)了一個(gè)針對(duì)日常卷煙產(chǎn)品質(zhì)量反饋意見匯總的自動(dòng)文摘系統(tǒng)。該系統(tǒng)基于.NET平臺(tái),采用三層架構(gòu),結(jié)合SQL SERVER 2005數(shù)據(jù)庫(kù)技術(shù),可以很好地實(shí)現(xiàn)程序員并行開發(fā),提高程序的開發(fā)速度。為了驗(yàn)證所提出方法的可行性和有效性,本文采用內(nèi)部評(píng)價(jià)方法對(duì)開發(fā)的文摘系統(tǒng)進(jìn)行評(píng)估。從山東中煙工業(yè)公司提供的卷煙質(zhì)量綜合評(píng)價(jià)數(shù)據(jù)中獲取文摘,進(jìn)行評(píng)測(cè),可以看出本文提出的面向卷煙質(zhì)量評(píng)價(jià)的自動(dòng)文摘系統(tǒng),能夠滿足煙廠對(duì)日常卷煙產(chǎn)品質(zhì)量反饋意見及時(shí)匯總的需求,與傳統(tǒng)的人為的分析方法相比,極大地提高了煙廠分析人員的工作質(zhì)量和效益,減少了差錯(cuò),減輕了勞動(dòng)強(qiáng)度。
綜上所述,本文設(shè)計(jì)的針對(duì)日常卷煙產(chǎn)品質(zhì)量反饋意見匯總的自動(dòng)文摘系統(tǒng),可以作為煙草行業(yè)分析卷煙產(chǎn)品質(zhì)量反饋意見的有效工具。
參考文獻(xiàn)
[1] 吳杉杉,宋小倩. .NET框架介紹和WinCE開發(fā)環(huán)境搭建[J].中國(guó)新技術(shù)新產(chǎn)品,2011(6):95.
[2] 付明柏.基于.NET Framework的軟件復(fù)用技術(shù)研究[J].軟件導(dǎo)刊,2013(5):15-17.
[3] http://www.mandarintools.com/segmenter.html
[4] Feng Haodi, Chen Kang, Deng Xiaotie, et al. Accessor variety criteria for chinese word extraction[J]. Computational Linguistics,2004(30):75-93.
[5] 程娟.中文文檔自動(dòng)摘要技術(shù)[D].濟(jì)南:山東大學(xué),2006.
[6] 吳旭東.正向最大匹配分詞算法的分析與改進(jìn)[J].科技傳播,2011(20):164-165.