基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法
【專利摘要】本發(fā)明公開了一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法。首先需要選擇收集中醫(yī)藥文本數(shù)據(jù),本發(fā)明采用醫(yī)學書籍的文本信息以及從百科網(wǎng)站上爬取的中醫(yī)藥相關(guān)的詞條信息;其次,利用這些文本數(shù)據(jù)訓練Word2Vec模型得到中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量;然后,利用谷歌、百度等通用搜索引擎提供的基于文本的圖像檢索功能獲取候選圖片集和它們所在源網(wǎng)頁的文本信息,并利用Doc2Vec模型計算各源網(wǎng)頁的特征向量;最后,根據(jù)源網(wǎng)頁的特征向量與對應中草藥詞向量的相似度對候選圖片集進行重排,選取排在前面的若干圖片,然后使用感知哈希算法對圖片集進行去重處理,得到最終的圖片集。
【專利說明】
基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及中草藥植物圖片爬取方法,尤其設(shè)及一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量 的中草藥植物圖片爬取方法。
【背景技術(shù)】
[0002] 為了構(gòu)建專業(yè)的中草藥植物圖像檢索系統(tǒng),首先需要構(gòu)建中草藥植物圖像庫。隨 著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展和圖像獲取設(shè)備的飛速增長,互聯(lián)網(wǎng)上產(chǎn)生了大量的中草藥植物 圖片,所W,從互聯(lián)網(wǎng)上抓取中草藥植物圖片是一種快速構(gòu)建中草藥植物圖像庫的有效途 徑。隨著人們對于從海量圖片中檢索目標圖片的需求愈加迫切,通用捜索引擎,如google和 百度,都提供了圖像檢索的功能,包括基于文本的圖像檢索和基于內(nèi)容的圖像檢索。所W, 可W利用通用捜索引擎提供的基于文本的圖像檢索功能來快速地構(gòu)建中藥草圖像庫,但直 接抓取通用捜索引擎檢索的結(jié)果,效果并不十分理想。分析正確圖片所在的源網(wǎng)頁和不正 確圖片所在的源網(wǎng)頁,容易發(fā)現(xiàn)非目標網(wǎng)頁的文本內(nèi)容與中醫(yī)藥的關(guān)系并不大,甚至完全 沒有關(guān)系。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是解決現(xiàn)有技術(shù)中存在的問題,并提供一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞 向量的中草藥植物圖片爬取方法。
[0004] 本發(fā)明的目的是通過W下技術(shù)方案來實現(xiàn)的:
[0005] -種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法,包括W下步驟:
[0006] 1)對醫(yī)學書籍進行OCR處理,提取醫(yī)案文本信息;同時,爬取百科網(wǎng)站上中醫(yī)藥相 關(guān)的詞條?胃息;
[0007] 2)將第1)步所得的文本利用CRF模型與最長單詞匹配方法相組合進行分詞,同時 過濾掉停用詞,構(gòu)建Word2Vec的訓練集;
[000引 3)訓練Word2Vec模型,構(gòu)造詞向量矩陣,即對每一個單詞,用一個向量來表示; [0009] 4)對于每一種中草藥植物,利用捜索引擎提供的基于文本的圖像檢索功能獲取候 選圖片集和它們所在源網(wǎng)頁的內(nèi)容;
[0010] 5)對第4)步中得到的每一個源網(wǎng)頁,去掉包括HTML標簽、JS代碼、CSS代碼的內(nèi)容, 然后利用CRF模型與最長單詞匹配方法相組合進行分詞,去掉停用詞,得到源網(wǎng)頁的文本信 息;
[0011] 6)利用第5)步所得的文本和第3)步得到的詞向量矩陣訓練Doc2Vec模型,即用第 3)步的詞向量矩陣初始化Doc2Vec中的詞向量矩陣,更新時保持詞向量矩陣不變,只更新文 檔向量,訓練完后便得到各源網(wǎng)頁的文檔向量;
[0012] 7)根據(jù)各源網(wǎng)頁的文檔向量與對應的中草藥詞向量的余弦相似度對第4)步中得 到的候選圖片集進行重排和過濾,選出相似度高于預設(shè)闊值的圖片集,作為候選圖片集;
[0013] 8)對第7)步中得到的候選圖片集中的圖片使用感知哈希算法進行去重處理,得到 最終的圖片集。
[0014] 本發(fā)明是中醫(yī)藥領(lǐng)域與計算機科學相結(jié)合的產(chǎn)物,它通過將中醫(yī)藥領(lǐng)域知識引入 到中草藥植物圖片的爬蟲框架中,提高了中草藥植物圖片爬蟲的準確性,同時,本發(fā)明所闡 述的方法也具有一般性,可適用于其他領(lǐng)域相關(guān)圖片的爬取。
【附圖說明】
[0015] 圖1是一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法的系統(tǒng)架構(gòu) 圖;
[0016] 圖2是實施例中中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的部分示例;
[0017] 圖3是實施例中圖片URL和圖片所在源網(wǎng)頁URL提取示例。
【具體實施方式】
[0018] 下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。
[0019] -種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法,包括W下步驟:
[0020] 1)對《中國現(xiàn)代名中醫(yī)醫(yī)案精粹》、《名醫(yī)類案》、《續(xù)醫(yī)類案》和《再續(xù)名醫(yī)類案》等 書籍進行OCR處理,提取醫(yī)案文本信息;同時,爬取百度百科、互動百科、捜狗百科和維基百 科等百科網(wǎng)站上中醫(yī)藥相關(guān)的詞條信息。
[0021] 2)將第1)步所得的文本利用CRF模型與最長單詞匹配方法相組合進行分詞,同時 過濾掉停用詞,構(gòu)建Word2Vec的訓練集;
[0022] 3)訓練Word2Vec模型,構(gòu)造詞向量矩陣,即對每一個單詞,用一個向量來表示;
[0023] 4)對于每一種中草藥植物,利用谷歌、百度等通用捜索引擎提供的基于文本的圖 像檢索功能獲取候選圖片集和它們所在源網(wǎng)頁的內(nèi)容;
[0024] 5)對第4)步中得到的每一個源網(wǎng)頁,去掉包括HTML標簽、JS代碼、CSS代碼的內(nèi)容, 然后利用CRF模型與最長單詞匹配方法相組合進行分詞,去掉停用詞,得到源網(wǎng)頁的文本信 息;
[0025] 6)利用第5)步所得的文本和第3)步得到的詞向量矩陣訓練Doc2Vec模型,即用第 3)步的詞向量矩陣初始化Doc2Vec中的詞向量矩陣,更新時保持詞向量矩陣不變,只更新文 檔向量,訓練完后便得到各源網(wǎng)頁的文檔向量;
[0026] 7)根據(jù)各源網(wǎng)頁的文檔向量與對應的中草藥詞向量的余弦相似度對第4)步中得 到的候選圖片集進行重排和過濾,選出相似度高于預設(shè)闊值的圖片集,作為候選圖片集;
[0027] 8)對第7)步中得到的候選圖片集中的圖片使用感知哈希算法進行去重處理,得到 最終的圖片集。
[00%]所述的步驟3)中采用基于CB0W模型的Word2Vec模型,包括輸入層、投影層和輸出 層;所述的輸入層由2c個單詞的詞向量v(context(w)i),...,v(context(w)i),…,vkontext (w)2c)構(gòu)成,其中context(w)表示單詞w的上下文,即其前后各c個單詞;所述的投影層由對 輸入層的2c個詞向量做累加求和得到,即
;所述的輸出層是一棵 化ffman樹,其中,葉子節(jié)點共N個,分別對應詞典D中每個詞,非葉子結(jié)點N-1個;定義pw為從 根節(jié)點出發(fā)到達W對應葉子結(jié)點的路徑;Γ為路徑pw中包含結(jié)點的個數(shù);口2",…,片;:,分 別為路徑9"中的1"個結(jié)點,其中的"表示的是根結(jié)點,表示詞W對應的結(jié)點;
表示詞W的化ffman編碼,由Γ-1位編碼構(gòu)成,表示路徑pW中第 占-個結(jié)點對應的編碼;01",02"',...,0;:_1€^"表示路徑9"中非葉子結(jié)點對應的向量,0,"'表示 pW中第j個非葉子結(jié)點對應的向量;對于詞典D中任意詞W,Huf f man樹中必存在且僅存在一 條從根結(jié)點到詞W對應的路徑pw;路徑pw上存在Γ-1個分支,將每個分支看成一個二次分類 的過程,每一次分類就產(chǎn)生一個概率,將運些概率乘起來,就是所需的P(W I context (W)),其 表達式為:
[0032] 〇(.)表示sigmoid函數(shù),其表達式是
[0033] 將W上公式代入對數(shù)似然函勤
中,得到:
[0034]
[0035] 上式即為CB0W模型的目標函數(shù),采用隨機梯度上升法來更新模型參數(shù),即:每取一 個樣本(context(w),w),就對目標函數(shù)的所有相關(guān)參數(shù)做一次更新,具體步驟如下:
[0036] 3.1)計算梯度
:;' 其計算公式為,接下來考慮C(W,j)關(guān)于Xw的梯度,可W求得::
其計算公式為:
[0045] 3.5)重復上述3.1)到3.4)步,直到模型訓練結(jié)束。
[0046] 所述的步驟8)中感知哈希算法進行去重處理具體為:
[0047] 8.1)對于候選圖片集圖片img,將其轉(zhuǎn)換成灰度圖片gray_img;
[004引8.2)將第8.1)步中所得的灰度圖片gray_img縮放到尺寸為32 X 32的小圖片 small_img;
[0049] 8.3)對第8.2)步所得的小圖片small_img進行離散余弦變換,并截取離散余弦變 換結(jié)果左上角8X8的低頻部分化;
[0050] 8.4)計算第8.3)步所得低頻部分化的所有值的平均值m;
[0051] 8.5)將第8.3)步所得低頻部分化的各像素值與第8.4)步中計算得到的平均值m比 較,將化中大于m的像素值置為1,否則置為0;
[0052] 8.6)將第8.5)步所得64個0或1值從上到下、從左到右依序組合成一個長度為64的 二進制串,即圖像指紋;
[0053] 8.7)計算第8.6)步所得的圖像指紋之間漢明距離,當漢明距離越大,說明它們的 差別越大,反之,漢明距離越小,說明它們越相似;當漢明距離大于10時,便可認為兩幅圖像 完全不同。
[0054] 實施例
[0055] 如圖1所示,一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法。本實施 例中,未詳細說明的步驟,如步驟3)、8),具體按照前述【具體實施方式】中所述進行。本實施例 中采用的主要步驟如下:
[0056] 1)對《中國現(xiàn)代名中醫(yī)醫(yī)案精粹》、《名醫(yī)類案》、《續(xù)醫(yī)類案》和《再續(xù)名醫(yī)類案》等 書籍進行OCR處理,提取醫(yī)案文本信息;同時,爬取百度百科、互動百科、捜狗百科和維基百 科等百科網(wǎng)站上中醫(yī)藥相關(guān)的詞條信息。
[0057] 2)將第1)步所得的文本利用CRF模型與最長單詞匹配方法相組合進行分詞,同時 過濾掉停用詞,構(gòu)建Word2Vec的訓練集;
[0化引 3)訓練Word2Vec模型,構(gòu)造詞向量矩陣,即對每一個單詞,用一個向量來表示,部 分詞向量如圖2所示;
[0059] 4)對于每一種中草藥植物,利用捜索引擎提供的基于文本的圖像檢索功能獲取候 選圖片集和它們所在源網(wǎng)頁的內(nèi)容,例如Wgoogle圖片捜索引擎為例,分析其檢索結(jié)果頁 面的網(wǎng)頁源代碼,可W發(fā)現(xiàn)每一個縮略圖的父節(jié)點是一個超鏈接標簽,其href屬性包含著 我們所需要的全部信息,即圖片原圖和原圖所在的源網(wǎng)頁的URL。如圖3所示,虹ef的值中有 兩個重要的參數(shù)一imgur巧日imgr ef ur 1,分別表示原圖的URL和原圖所在源網(wǎng)頁的URL。
[0060] 5)對第4)步中得到的每一個源網(wǎng)頁,去掉包括HTML標簽、JS代碼、CSS代碼的內(nèi)容, 然后利用CRF模型與最長單詞匹配方法相組合進行分詞,去掉停用詞,得到源網(wǎng)頁的文本信 息;
[0061] 6)利用第5)步所得的文本和第3)步得到的詞向量矩陣訓練Doc2Vec模型,即用第 3)步的詞向量矩陣初始化Doc2Vec中的詞向量矩陣,更新時保持詞向量矩陣不變,只更新文 檔向量,訓練完后便得到各源網(wǎng)頁的文檔向量;
[0062] 7)根據(jù)各源網(wǎng)頁的文檔向量與對應的中草藥詞向量的余弦相似度對第4)步中得 到的候選圖片集進行重排和過濾,選出相似度高于預設(shè)闊值的圖片集,作為候選圖片集;
[0063] 8)對第7)步中得到的候選圖片集中的圖片使用感知哈希算法進行去重處理,得到 最終的圖片集。
【主權(quán)項】
1. 一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方法,其特征在于包括以下 步驟: 1) 對醫(yī)學書籍進行OCR處理,提取醫(yī)案文本信息;同時,爬取百科網(wǎng)站上中醫(yī)藥相關(guān)的 詞條信息; 2) 將第1)步所得的文本利用CRF模型與最長單詞匹配方法相組合進行分詞,同時過濾 掉停用詞,構(gòu)建W〇rd2Vec的訓練集; 3) 訓練Word2Vec模型,構(gòu)造詞向量矩陣,即對每一個單詞,用一個向量來表示; 4) 對于每一種中草藥植物,利用搜索引擎提供的基于文本的圖像檢索功能獲取候選圖 片集和它們所在源網(wǎng)頁的內(nèi)容; 5) 對第4)步中得到的每一個源網(wǎng)頁,去掉包括HTML標簽、JS代碼、CSS代碼的內(nèi)容,然后 利用CRF模型與最長單詞匹配方法相組合進行分詞,去掉停用詞,得到源網(wǎng)頁的文本信息; 6) 利用第5)步所得的文本和第3)步得到的詞向量矩陣訓練D〇c2VeC模型,即用第3)步 的詞向量矩陣初始化D 〇c2VeC中的詞向量矩陣,更新時保持詞向量矩陣不變,只更新文檔向 量,訓練完后便得到各源網(wǎng)頁的文檔向量; 7) 根據(jù)各源網(wǎng)頁的文檔向量與對應的中草藥詞向量的余弦相似度對第4)步中得到的 候選圖片集進行重排和過濾,選出相似度高于預設(shè)閾值的圖片集,作為候選圖片集; 8) 對第7)步中得到的候選圖片集中的圖片使用感知哈希算法進行去重處理,得到最終 的圖片集。2. 根據(jù)權(quán)利要求1中所述的一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方 法,其特征在于,所述的步驟3)中采用基于CB0W模型的W 〇rd2VeC模型,包括輸入層、投影層 和輸出層;所述的輸入層由2c個單詞的詞向量v(context(w)i),···,v(context(w)i),…,v (context(w)2c;)構(gòu)成,其中context(w)表示單詞w的上下文,即其前后各c個單詞;所述的投 影層由對輸入層的2c個詞向量做累加求和得到層是一棵Huffman樹,其中,葉子節(jié)點共N個,分別對應詞典D中每個詞,非葉子結(jié)點N-1個;定 義口"為從根節(jié)點出發(fā)到達w對應葉子結(jié)點的路徑;lw為路徑pw中包含結(jié)點的個數(shù); <,<,…,P;:分別為路徑pw中的lw個結(jié)點,其中 < 表示的是根結(jié)點,表示詞w對應的 結(jié)點;% 表示詞w的Huffman編碼,由lw-l位編碼構(gòu)成,< 表示路徑 p沖第j個結(jié)點對應的編碼;(^,…,ear表示路徑p沖非葉子結(jié)點對應的向量, %表示pw中第j個非葉子結(jié)點對應的向量;對于詞典D中任意詞w,Huffman樹中必存在且僅 存在一條從根結(jié)點到詞w對應的路徑Pw;路徑Pw上存在Γ-1個分支,將每個分支看成一個二 次分類的過程,每一次分類就產(chǎn)生一個概率,所有概率的乘積為P(w | context(w)),其表達 式為:其中,σ(.)表示sigmoid函數(shù)上式即為CBOW模型的目標函數(shù),采用隨機梯度上升法來更新模型參數(shù),即:每取一個樣 本(context(w),w),就對目標函數(shù)的所有相關(guān)參數(shù)做一次更新,具體步驟如下:3.5)重復上述3.1)到3.4)步,直到模型訓練結(jié)束。3.根據(jù)權(quán)利要求1中所述的一種基于中醫(yī)藥領(lǐng)域?qū)I(yè)詞向量的中草藥植物圖片爬取方 法,其特征在于,所述的步驟8)中感知哈希算法進行去重處理具體為: 8.1) 對于候選圖片集圖片,將其轉(zhuǎn)換成灰度圖片; 8.2) 將第8.1)步中所得的灰度圖片縮放到尺寸為32 X 32的小圖片; 8.3) 對第8.2)步所得的小圖片進行離散余弦變換,并截取離散余弦變換結(jié)果左上角8 X8的低頻部分LL; 8.4) 計算第8.3)步所得低頻部分LL的所有值的平均值m; 8.5) 將第8.3)步所得低頻部分LL的各像素值與第8.4)步中計算得到的平均值m比較, 將LL中大于m的像素值置為1,否則置為0; 8.6) 將第8.5)步所得64個0或1值從上到下、從左到右依序組合成一個長度為64的二進 制串,即圖像指紋; 8.7) 計算第8.6)步所得的圖像指紋之間漢明距離,當漢明距離越大,說明它們的差別 越大,反之,漢明距離越小,說明它們越相似;當漢明距離大于10時,便可認為兩幅圖像完全 不同。
【文檔編號】G06F17/30GK105824904SQ201610146357
【公開日】2016年8月3日
【申請日】2016年3月15日
【發(fā)明人】魏寶剛, 張引, 莊越挺, 譚亮
【申請人】浙江大學