• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Python 的文本數(shù)據(jù)增強系統(tǒng)設(shè)計與實現(xiàn)

    2021-07-30 08:15:12韓會珍劉立波
    寧夏工程技術(shù) 2021年2期
    關(guān)鍵詞:批量蟲害枸杞

    韓會珍,劉立波

    (寧夏大學(xué) 信息工程學(xué)院,寧夏 銀川 750021)

    近年來,人工智能正逐漸改變著世界,而自然語言處理已成為計算機科學(xué)與人工智能領(lǐng)域內(nèi)一個重要方向,在各個行業(yè)應(yīng)用越來越廣泛[1—2]。隨著深度學(xué)習的出現(xiàn)和計算能力的提升,自然語言處理中情感分析和主題分類等文本分類任務(wù)都取得了很高的準確性,但高性能往往取決于訓(xùn)練數(shù)據(jù)的大小和質(zhì)量[3],文本數(shù)據(jù)的收集往往是十分困難的,文本增強技術(shù)的出現(xiàn)很好地解決了這類問題。

    在實際的文本數(shù)據(jù)收集中,正常文本與敏感文本的數(shù)量很容易失衡,但又要求訓(xùn)練出的模型能夠召回較為全面的敏感文本[4—6]。這就需要文本“數(shù)據(jù)增強”,來擴展敏感文本數(shù)量,讓數(shù)據(jù)更豐富。傳統(tǒng)文本數(shù)據(jù)增強方法中,同義詞替換(SR)方法是對文本中的一些詞語進行替換來完成數(shù)據(jù)增強,方式實現(xiàn)較為簡單,但生成的文本與原文本相似度太高。采用VAEHD 文本生成模型可以學(xué)習文本中的潛在性解釋,生成具有特定情感屬性的文本[7]。但是該模型實現(xiàn)過程較為繁瑣,且需要額外的數(shù)據(jù)。本文采用一種簡單文本增強(EDA)方法,不需要額外的數(shù)據(jù),而且同義詞替換、隨機交換、隨機插入、隨機刪除4 種方式的結(jié)合能更好地擴充語義,實現(xiàn)起來也較為簡單。因此,依據(jù)實際需求,首先對文本進行預(yù)處理,以處理亂碼、換行符冗余等問題,然后再利用EDA 方法進行文本數(shù)據(jù)增強。采用Python 語言結(jié)合Flask 框架設(shè)計實現(xiàn)了Web 網(wǎng)頁版單文本和批量文本數(shù)據(jù)增強系統(tǒng)[8—12],對于處理少樣本場景下樣本不均衡性、數(shù)據(jù)量不足易導(dǎo)致模型過擬合有較好的應(yīng)用價值。

    1 文本數(shù)據(jù)收集

    該系統(tǒng)開發(fā)和測試均采用實驗室構(gòu)建的枸杞蟲害文本描述數(shù)據(jù)集,包含大青葉蟬、負泥蟲、木虱等17種常見枸杞蟲害。由于該數(shù)據(jù)集的文本描述的是人工撰寫,耗時耗力,搜集到各類枸杞蟲害的描述信息有限,因此在構(gòu)建數(shù)據(jù)集時,有的蟲害種類文本描述數(shù)量過少,有的蟲害種類文本描述數(shù)量較多,造成了數(shù)據(jù)集的樣本不均衡,且枸杞蟲害數(shù)據(jù)集文本總量只有1 670,對模型訓(xùn)練來說數(shù)據(jù)量不足,所以選取該數(shù)據(jù)集作為該文本數(shù)據(jù)增強系統(tǒng)的訓(xùn)練和測試數(shù)據(jù)。

    2 系統(tǒng)設(shè)計思路

    2.1 功能模塊設(shè)計

    基于Python 設(shè)計的文本數(shù)據(jù)增強系統(tǒng),以實驗構(gòu)建的樣本不均衡且數(shù)據(jù)量不足的枸杞蟲害文本描述數(shù)據(jù)集進行數(shù)據(jù)增強,前端界面用Flask 框架結(jié)合Python 語言響應(yīng)處理實現(xiàn)Web 網(wǎng)頁交互[13]。該系統(tǒng)主要分為預(yù)處理模塊、單文本數(shù)據(jù)增強模塊、批量文本數(shù)據(jù)增強模塊。具體功能模塊見圖1。

    圖1 文本數(shù)據(jù)增強系統(tǒng)功能模塊

    2.2 系統(tǒng)流程設(shè)計

    文本數(shù)據(jù)增強系統(tǒng)流程圖見圖2。

    圖2 文本數(shù)據(jù)增強流程圖

    該系統(tǒng)流程設(shè)計主要包含:①文本數(shù)據(jù)預(yù)處理;②單文本或批量文本數(shù)據(jù)增強;③設(shè)置文本原路徑和增強后文本路徑;④EDA 中各增強方式比例設(shè)置;⑤保存增強后生成的文本。

    文本數(shù)據(jù)增強是對文本數(shù)據(jù)進行擴充。該系統(tǒng)采用改進的EDA 文本數(shù)據(jù)增強技術(shù),其文本數(shù)據(jù)增強4 種方式含義見表1。

    表1 文本數(shù)據(jù)增強4 種方式含義

    3 系統(tǒng)實現(xiàn)

    3.1 功能實現(xiàn)

    該系統(tǒng)主要采用實驗室構(gòu)建的少樣本枸杞蟲害文本描述數(shù)據(jù)集進行文本預(yù)處理及數(shù)據(jù)增強操作。

    3.1.1 文本預(yù)處理實現(xiàn) 由于撰寫文本時,編碼格式不同,操作方式有誤,可能會導(dǎo)致文本中出現(xiàn)中英文夾雜、亂碼、換行符冗余等文本不規(guī)范問題,通過文本預(yù)處理技術(shù)實現(xiàn)文本的規(guī)范化很有必要。

    本文通過hanzi API 實現(xiàn)了對中文文本字符的替換和刪除,并通過re 正則表達式解決了刪除空行、亂碼等問題,實現(xiàn)了文本數(shù)據(jù)的規(guī)范化。

    3.1.2 文本數(shù)據(jù)增強實現(xiàn) 針對單文本和批量文本的數(shù)據(jù)增強,首先通過os.path.isfile(filename)函數(shù)判斷要增強的是單個文本還是批量文本。對單個文本直接進行數(shù)據(jù)增強;而批量文本則先利用函數(shù)os.listdir(filename)獲取輸入文件夾路徑下的所有文本文件,再用循環(huán)語句分別對單個文本進行數(shù)據(jù)增強。批量處理可以選擇輸入包含100,200,500 等多個文本的文件夾,系統(tǒng)會根據(jù)獲取路徑對文本進行增強操作。

    在數(shù)據(jù)增強過程中,首先,獲取需要增強的文本原路徑和增強后的保存路徑;然后,通過stop words list 過濾掉一些出現(xiàn)過于頻繁但實際意義不大的詞來對文本進行清理,利用EDA 技術(shù)中synonym_replacement()函 數(shù)、random_deletion()函數(shù)、random_swap()函數(shù)、random_insertion()函數(shù),分別對文本數(shù)據(jù)進行同義詞替換、隨機刪除、隨機交換、隨機插入來增強文本數(shù)據(jù);其次,設(shè)置num_aug 參數(shù)確定要生成文本的數(shù)量,即文本數(shù)據(jù)增強倍數(shù),設(shè)置4 種數(shù)據(jù)增強方式的參數(shù)值范圍為0~1;最后,將增強后的文本數(shù)據(jù)寫入保存路徑下的新建文件夾。

    3.2 關(guān)鍵技術(shù)

    Python 語言是近年來人工智能編程方向潮流的計算機編程語言。Flask 是一個輕量級的Web 框架,簡單易上手,靈活小巧。Flask 中的route 路徑及各種封裝函數(shù),使用方便快捷,能快速高效地開發(fā)該系統(tǒng)。

    該系統(tǒng)采用Python 為主要開發(fā)工具,F(xiàn)lask 框架進行Web 端界面布局設(shè)計,搭建系統(tǒng)環(huán)境。之后通過Flask 框架將HTML 頁面保存的表單數(shù)據(jù)提交到Python 后臺進行響應(yīng)處理,完成數(shù)據(jù)增強操作。

    環(huán)境搭建所需注意:①安裝nltk 自然語言處理工具包pip install -U nltk;②下載WordNet,將壓縮包放入C:UsersPublic.DESKTOPPUC4DFJAppDataRoaming ltk_datacorpora,并解壓在該文件夾內(nèi)。

    4 系統(tǒng)測試

    4.1 系統(tǒng)界面

    該系統(tǒng)以Flask 框架結(jié)合HTML 設(shè)計編寫簡單的Web 操作界面,采用實驗室構(gòu)建的枸杞蟲害文本描述數(shù)據(jù)集進行文本數(shù)據(jù)增強。該系統(tǒng)界面包含文本預(yù)處理頁面和文本數(shù)據(jù)增強頁面,分別見圖3 和圖4。

    圖3 文本預(yù)處理界面

    圖4 文本數(shù)據(jù)增強界面

    圖4 中生成數(shù)量表示一個原句子生成多少個新句子,即單個文本數(shù)據(jù)增強4 倍,生成后文本數(shù)量共5 句。同義替換比例、隨機插入比例、隨機交換比例、隨機刪除比例設(shè)置參數(shù)值為0.1。

    4.2 文本數(shù)據(jù)增強實現(xiàn)界面

    該系統(tǒng)測試時,分別對單個文本和批量文本進行數(shù)據(jù)增強操作。原始單文本和增強后的文本效果見圖5 和圖6。圖5 是格式不規(guī)范的單個文本,圖6是5 倍增強后生成的文本。

    圖5 單個原文本界面

    圖6 單文本增強后的界面

    批量原文本和增強后的文本見圖7 和圖8。圖7 是原文件夾里的所有文本,圖8 是5 倍增強后生成的所有的文本。

    圖7 批量原文本的界面

    圖8 批量文本增強后的界面

    4.3 文本增強效果分析

    為體現(xiàn)該文本數(shù)據(jù)增強系統(tǒng)的魯棒性及有效性,該實驗采用枸杞蟲害文本描述數(shù)據(jù)集進行不同訓(xùn)練集、不同增強倍數(shù)的分類準確率測試,對文本數(shù)據(jù)增強效果的魯棒性和效率進行分析研究。

    (1)文本數(shù)據(jù)增強效果。該實驗分別選取了枸杞蟲害文本描述數(shù)據(jù)集200、500、1 000、Full Data(枸杞蟲害文本描述總數(shù),共1 670 個文本描述)不同訓(xùn)練集大小的文本數(shù)據(jù),在增強倍數(shù)分別為1 倍、2倍、4 倍、8 倍、16 倍、32 倍的條件下進行數(shù)據(jù)增強,并將增強后的文本數(shù)據(jù)作為訓(xùn)練集輸入到TextCNN 模型進行文本分類識別,結(jié)果見圖9。

    圖9 不同訓(xùn)練集分類效果評價圖

    對于小數(shù)量數(shù)據(jù)集,過擬合的可能性更大,所以生成許多增廣的句子會大大提高性能。對于較大的訓(xùn)練集,每個原始句子增加過多的增廣句子是沒有幫助的,因為當有大量真實數(shù)據(jù)可用時,模型傾向于適當?shù)剡M行歸納?;谶@些結(jié)果,由圖9 可以得出表2 的結(jié)果。

    表2 推薦的文本增強倍數(shù)

    由圖9 可以看出,利用該系統(tǒng)進行不同訓(xùn)練集規(guī)模數(shù)據(jù)增強后得到的枸杞蟲害文本描述在4 倍數(shù)據(jù)增強時分類效果最好,準確率達到了85.3%。

    (2)實驗方法的增強效果。該實驗對枸杞蟲害文本描述數(shù)據(jù)集中500 個文本,分別采用SR、VAEHD、本文EDA 方法進行16 倍數(shù)據(jù)增強,并對增強后的數(shù)據(jù)采用TextCNN 分類模型進行分類識別,評價指標采用準確率和時間,結(jié)果見表3。

    表3 不同數(shù)據(jù)增強方式文本分類結(jié)果對比

    由表3 可知,該系統(tǒng)采用的EDA 數(shù)據(jù)增強方法比SR 和VAEHD 方法在文本分類實驗中的準確率分別提高了11.1%和3.7%,且文本數(shù)據(jù)增強時間分別減少了0.129 s 和0.065 s,說明該系統(tǒng)采用的方法比傳統(tǒng)數(shù)據(jù)增強方法效果更好。

    (3)系統(tǒng)的效率。為了驗證該系統(tǒng)文本數(shù)據(jù)增強的快速性和高效性,對數(shù)據(jù)集中100 個、500 個文本分別進行5 倍、10 倍批量文本增強,并統(tǒng)計增強后文本總數(shù)量和增強所用時間,實驗結(jié)果見表4。

    表4 批量文本數(shù)據(jù)增強效果

    由表4 可知,該系統(tǒng)能在0.47 s 和2.50 s 內(nèi)分別完成對100 個、500 個文本的批處理數(shù)據(jù)增強,說明該系統(tǒng)能快速高效地完成批量文本數(shù)據(jù)增強。

    根據(jù)以上實驗結(jié)果可以看出,該系統(tǒng)不僅可以高效地進行單文本增強,還能實現(xiàn)批量文本增強操作。增強后的文本數(shù)據(jù)在文本分類實驗中也取得了較好的準確率。實驗采用枸杞蟲害文本描述數(shù)據(jù)集進行文本數(shù)據(jù)增強,對該數(shù)據(jù)集進行4 倍數(shù)據(jù)增強,增強后的文本數(shù)量達到8 350,解決了樣本不均衡問題,完成了對枸杞蟲害文本描述數(shù)據(jù)集的數(shù)據(jù)擴充。

    5 結(jié)論

    本文基于Python 文本數(shù)據(jù)增強系統(tǒng)實現(xiàn)了對文本數(shù)據(jù)的擴充增強,并完成了單文本數(shù)據(jù)增強和批量文本數(shù)據(jù)增強的功能。對解決小樣本場景下樣本數(shù)量不足容易導(dǎo)致模型過擬合、樣本間不均衡的問題十分有效,而且可根據(jù)數(shù)據(jù)增強中的同義詞替換、隨機交換、隨機刪除、隨機插入進行文本局部調(diào)整。該系統(tǒng)完成了枸杞蟲害文本描述數(shù)據(jù)集的文本數(shù)據(jù)增強,解決了該數(shù)據(jù)集的樣本不均衡、數(shù)據(jù)量不足的問題。實驗結(jié)果表明,實驗采用的枸杞蟲害文本描述數(shù)據(jù)集在4 倍數(shù)據(jù)增強時分類效果最好,準確率達到了85.3%。相比傳統(tǒng)的SR 方法以及VAEHD方法,本文采用的EDA 方法在500 個文本16 倍數(shù)據(jù)增強條件下,文本分類準確率提高了11.1%和3.7%。此外,該系統(tǒng)能在0.47 s 內(nèi)和2.50 s 內(nèi)分別完成對100 個、500 個文本10 倍的批處理數(shù)據(jù)增強,表明該系統(tǒng)的快速高效性。

    該系統(tǒng)采用Web 操作界面,簡單易懂,但存在一些不足。目前該系統(tǒng)只能對txt 文本進行操作,且存在字符長度限制問題,但對傳統(tǒng)文本數(shù)據(jù)集是一個簡單實用的系統(tǒng)。下一步工作將會繼續(xù)改進和完善系統(tǒng)功能,提高系統(tǒng)的兼容性,優(yōu)化系統(tǒng)的長文本功能,進一步提高文本數(shù)據(jù)增強的水平。

    猜你喜歡
    批量蟲害枸杞
    枸杞
    是酸是堿?黑枸杞知道
    學(xué)與玩(2022年2期)2022-05-03 09:46:45
    批量提交在配置分發(fā)中的應(yīng)用
    桃樹主要蟲害及防治方法
    河北果樹(2020年4期)2020-11-26 06:05:04
    采枸杞
    不用農(nóng)藥也能治蟲害
    枸杞到底是怎么養(yǎng)生的?
    淺析白三葉的蟲害防治
    行道樹香櫞主要蟲害及其防治
    淺議高校網(wǎng)銀批量代發(fā)
    灵丘县| 铁岭市| 千阳县| 宁安市| 东乌珠穆沁旗| 武强县| 中山市| 武威市| 德令哈市| 荣成市| 班戈县| 东海县| 肥东县| 长泰县| 老河口市| 手机| 陇西县| 黔西县| 亚东县| 巴中市| 双桥区| 万年县| 东宁县| 德钦县| 灌阳县| 达州市| 孝感市| 东安县| 新兴县| 泾源县| 资阳市| 中宁县| 调兵山市| 准格尔旗| 盐津县| 金寨县| 泾阳县| 偏关县| 龙州县| 武平县| 绵竹市|