本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種分類標(biāo)簽數(shù)據(jù)獲取方法以及裝置。
背景技術(shù):
隨著科技的發(fā)展,互聯(lián)網(wǎng)與人們的生活也越來(lái)越息息相關(guān),繁多的互聯(lián)網(wǎng)數(shù)據(jù)中包含了大量具有價(jià)值的數(shù)據(jù),因此,web端信息采集技術(shù)被廣泛運(yùn)用,俗稱爬蟲。爬蟲技術(shù)主要針對(duì)http等請(qǐng)求進(jìn)行開發(fā),高頻的爬蟲會(huì)對(duì)網(wǎng)站服務(wù)器造成一定壓力,因此很多公司都采用了一定的反爬蟲技術(shù)來(lái)防止爬蟲的高頻侵襲。針對(duì)不同的反爬蟲技術(shù),我們需要花費(fèi)很長(zhǎng)時(shí)間來(lái)破解一個(gè)反爬蟲方案,而且可能無(wú)法破解。這種見(jiàn)招拆招式爬蟲攻略效率極低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種分類標(biāo)簽數(shù)據(jù)獲取方法以及裝置,用以對(duì)網(wǎng)頁(yè)界面中的文字進(jìn)行分類,避免了運(yùn)用傳統(tǒng)爬蟲程序進(jìn)行分類標(biāo)簽數(shù)據(jù)獲取時(shí),需要花費(fèi)很長(zhǎng)時(shí)間來(lái)破解一個(gè)反爬蟲方案,而且可能無(wú)法破解的問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供了一種分類標(biāo)簽數(shù)據(jù)獲取方法,所述方法包括:電子設(shè)備在基于網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面中執(zhí)行預(yù)設(shè)的操作步驟,將執(zhí)行所述預(yù)設(shè)的操作步驟后在所述界面中顯示的數(shù)據(jù)以圖片進(jìn)行保存;識(shí)別所述圖片,得到所述圖片中的文本信息;基于獲取的關(guān)鍵詞信息,得到所述文本信息中與所述關(guān)鍵詞信息相關(guān)的抽取信息;接收用戶輸入的糾錯(cuò)信息,基于所述糾錯(cuò)信息對(duì)所述抽取信息進(jìn)行糾錯(cuò),得到糾錯(cuò)后的抽取信息作為目標(biāo)文檔;基于預(yù)先建立的主題分類模型,計(jì)算得到所述目標(biāo)文檔的分類標(biāo)簽。
第二方面,本發(fā)明實(shí)施例提供了一種分類標(biāo)簽數(shù)據(jù)獲取裝置,所述裝置包括:保存模塊,用于基于網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面中執(zhí)行預(yù)設(shè)的操作步驟,將執(zhí)行所述預(yù)設(shè)的操作步驟后在所述界面中顯示的數(shù)據(jù)以圖片進(jìn)行保存;識(shí)別模塊,用于識(shí)別所述圖片,得到所述圖片中的文本信息;抽取模塊,用于基于獲取的關(guān)鍵詞信息,得到所述文本信息中與所述關(guān)鍵詞信息相關(guān)的抽取信息;糾錯(cuò)模塊,用于接收用戶輸入的糾錯(cuò)信息,基于所述糾錯(cuò)信息對(duì)所述抽取信息進(jìn)行糾錯(cuò),得到糾錯(cuò)后的抽取信息作為目標(biāo)文檔;計(jì)算模塊,用于基于預(yù)先建立的主題分類模型,計(jì)算得到所述目標(biāo)文檔的分類標(biāo)簽。
與現(xiàn)有技術(shù)相比,本發(fā)明各實(shí)施例提出的分類標(biāo)簽數(shù)據(jù)獲取方法以及裝置的有益效果是:該方法通過(guò)對(duì)網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面以圖片方式進(jìn)行保存后,再對(duì)圖片進(jìn)行識(shí)別,得到圖片中的文本信息,將文本信息進(jìn)行抽取、糾錯(cuò)后再運(yùn)用主題分類模型計(jì)算得到目標(biāo)文檔的分類標(biāo)簽。由于整個(gè)過(guò)程都是針對(duì)圖片進(jìn)行處理,避免了網(wǎng)絡(luò)通信帶來(lái)的不穩(wěn)定因素,也避免了傳統(tǒng)爬蟲需要處理大量的腳本(如html、javascript、css等)和需要花費(fèi)很長(zhǎng)時(shí)間考慮web或者軟件開發(fā)者的框架設(shè)計(jì),以應(yīng)對(duì)不同的反爬蟲程序,本發(fā)明所提出的方案適用面更為廣泛。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明實(shí)施例提供的電子設(shè)備的結(jié)構(gòu)框圖;
圖2為本發(fā)明第一實(shí)施例提供的分類標(biāo)簽數(shù)據(jù)獲取方法的流程圖;
圖3為本發(fā)明第二實(shí)施例提供的分類標(biāo)簽數(shù)據(jù)獲取方法的流程圖;
圖4為本發(fā)明第三實(shí)施例提供的分類標(biāo)簽數(shù)據(jù)獲取裝置的結(jié)構(gòu)框圖;
圖5為本發(fā)明第四實(shí)施例提供的分類標(biāo)簽數(shù)據(jù)獲取裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。同時(shí),在本發(fā)明的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。
如圖1所示,是所述電子設(shè)備100的方框示意圖。所述電子設(shè)備100可以是個(gè)人電腦、平板電腦等。所述電子設(shè)備100包括:分類標(biāo)簽數(shù)據(jù)獲取裝置、存儲(chǔ)器110、存儲(chǔ)控制器120、處理器130、外設(shè)接口140、輸入輸出單元150、音頻單元160、顯示單元170。
所述存儲(chǔ)器110、存儲(chǔ)控制器120、處理器130、外設(shè)接口140、輸入輸出單元150、音頻單元160以及顯示單元170各元件相互之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過(guò)一條或多條通訊總線或信號(hào)線實(shí)現(xiàn)電性連接。所述分類標(biāo)簽數(shù)據(jù)獲取裝置包括至少一個(gè)可以軟件或固件(firmware)的形式存儲(chǔ)于所述存儲(chǔ)器110中或固化在所述客戶端設(shè)備的操作系統(tǒng)(operating system,OS)中的軟件功能模塊。所述處理器130用于執(zhí)行存儲(chǔ)器110中存儲(chǔ)的可執(zhí)行模塊,例如所述分類標(biāo)簽數(shù)據(jù)獲取裝置400包括的軟件功能模塊或計(jì)算機(jī)程序。
其中,存儲(chǔ)器110可以是,但不限于,隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM),只讀存儲(chǔ)器(Read Only Memory,ROM),可編程只讀存儲(chǔ)器(Programmable Read-Only Memory,PROM),可擦除只讀存儲(chǔ)器(Erasable Programmable Read-Only Memory,EPROM),電可擦除只讀存儲(chǔ)器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存儲(chǔ)器110用于存儲(chǔ)程序,所述處理器130在接收到執(zhí)行指令后,執(zhí)行所述程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的過(guò)程定義的電子設(shè)備100所執(zhí)行的方法可以應(yīng)用于處理器130中,或者由處理器130實(shí)現(xiàn)。
處理器130可能是一種集成電路芯片,具有信號(hào)的處理能力。上述的處理器130可以是通用處理器,包括中央處理器(Central Processing Unit,簡(jiǎn)稱CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡(jiǎn)稱NP)等;還可以是數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
所述外設(shè)接口140將各種輸入/輸入裝置耦合至處理器130以及存儲(chǔ)器110。在一些實(shí)施例中,外設(shè)接口140,處理器130以及存儲(chǔ)控制器120可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
輸入輸出單元150用于提供給用戶輸入數(shù)據(jù)實(shí)現(xiàn)用戶與電子設(shè)備100的交互。所述輸入輸出單元150可以是,但不限于,鼠標(biāo)和鍵盤等。
音頻單元160向用戶提供音頻接口,其可包括一個(gè)或多個(gè)麥克風(fēng)、一個(gè)或者多個(gè)揚(yáng)聲器以及音頻電路。
顯示單元170在電子設(shè)備100與用戶之間提供一個(gè)交互界面(例如用戶操作界面)或用于顯示圖像數(shù)據(jù)給用戶參考。在本實(shí)施例中,所述顯示單元170可以是液晶顯示器或觸控顯示器。若為觸控顯示器,其可為支持單點(diǎn)和多點(diǎn)觸控操作的電容式觸控屏或電阻式觸控屏等。支持單點(diǎn)和多點(diǎn)觸控操作是指觸控顯示器能感應(yīng)到來(lái)自該觸控顯示器上一個(gè)或多個(gè)位置處同時(shí)產(chǎn)生的觸控操作,并將該感應(yīng)到的觸控操作交由處理器130進(jìn)行計(jì)算和處理。
第一實(shí)施例
請(qǐng)參照?qǐng)D2,圖2是本發(fā)明第一實(shí)施例提供的一種分類標(biāo)簽數(shù)據(jù)獲取方法的流程圖,所述方法應(yīng)用于電子設(shè)備。下面將對(duì)圖2所示的流程進(jìn)行詳細(xì)闡述,所述方法包括:
步驟S110:電子設(shè)備在基于網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面中執(zhí)行預(yù)設(shè)的操作步驟,將執(zhí)行所述預(yù)設(shè)的操作步驟后在所述界面中顯示的數(shù)據(jù)以圖片進(jìn)行保存。
所述預(yù)設(shè)的操作步驟可以是保存在電子設(shè)備存儲(chǔ)器中的一段模擬用戶對(duì)鼠標(biāo)的點(diǎn)擊行為或者滾動(dòng)滾輪的行為的程序。以模擬用戶對(duì)鼠標(biāo)的點(diǎn)擊行為的程序?yàn)槔?,該程序可以模擬用戶的點(diǎn)擊行為,使得界面中的內(nèi)容隨著點(diǎn)擊的位置不同而顯示出不同的內(nèi)容。電子設(shè)備將界面中的內(nèi)容截屏成圖片進(jìn)行保存。
由于是將網(wǎng)頁(yè)中的內(nèi)容進(jìn)行截屏保存成圖片,實(shí)現(xiàn)了“所見(jiàn)即所得”的效果。針對(duì)圖片進(jìn)行處理,也避免了網(wǎng)絡(luò)通信帶來(lái)的不穩(wěn)定因素。
驟S120:識(shí)別所述圖片,得到所述圖片中的文本信息。
作為一種實(shí)施方式,可以通過(guò)OCR(Optical Character Recognition,光學(xué)字符識(shí)別)技術(shù)識(shí)別圖片中所包含的文字信息。
步驟S130:基于獲取的關(guān)鍵詞信息,得到所述文本信息中與所述關(guān)鍵詞信息相關(guān)的抽取信息。
其中,所述關(guān)鍵詞信息由用戶輸入,基于用戶輸入的關(guān)鍵詞信息和預(yù)先保存的基礎(chǔ)字符串算法,可以得到與所述關(guān)鍵詞信息相關(guān)的文字的范圍。其中,所述預(yù)先保存的基礎(chǔ)字符串算法可以是搜索算法或者是正則表達(dá)式等衍生算法。當(dāng)?shù)玫脚c所述關(guān)鍵詞信息相關(guān)的文字的范圍后得到目標(biāo)范圍,并將目標(biāo)范圍抽取出來(lái),得到與所述關(guān)鍵詞信息相關(guān)的抽取信息。
步驟S140:接收用戶輸入的糾錯(cuò)信息,基于所述糾錯(cuò)信息對(duì)所述抽取信息進(jìn)行糾錯(cuò),得到糾錯(cuò)后的抽取信息作為目標(biāo)文檔。
由于OCR識(shí)別技術(shù)可能會(huì)識(shí)別出一些錯(cuò)誤的符號(hào)或者漢字,因此,電子設(shè)備可以接收用戶根據(jù)業(yè)務(wù)經(jīng)驗(yàn)輸入的糾錯(cuò)信息對(duì)抽取信息進(jìn)行糾錯(cuò)。例如,關(guān)鍵詞信息是地址信息,得到的抽取信息是“北京市韋臺(tái)區(qū)木樨園”,用戶可以根據(jù)行政區(qū)劃分經(jīng)驗(yàn)得知,正確的信息應(yīng)該是“北京市豐臺(tái)區(qū)木樨園”,電子設(shè)備接收用戶輸入的糾錯(cuò)信息,即將“韋臺(tái)”修改為“豐臺(tái)”,得到糾錯(cuò)后的抽取信息。
當(dāng)然,用戶輸入的糾錯(cuò)信息除了包括修改字符外,還可以包括增加字符,刪除字符等。
步驟S150:基于預(yù)先建立的主題分類模型,計(jì)算得到所述目標(biāo)文檔的分類標(biāo)簽。
基于主題分類模型,將所述目標(biāo)文檔進(jìn)行分類,得到與所述目標(biāo)文檔相關(guān)的唯一分類標(biāo)簽。
本發(fā)明實(shí)施例提出的分類標(biāo)簽數(shù)據(jù)獲取方法,通過(guò)對(duì)網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面以圖片方式進(jìn)行保存后,再對(duì)圖片進(jìn)行識(shí)別,得到圖片中的文本信息,將文本信息進(jìn)行抽取、糾錯(cuò)后再運(yùn)用主題分類模型計(jì)算得到目標(biāo)文檔的分類標(biāo)簽。由于整個(gè)過(guò)程都是針對(duì)圖片進(jìn)行處理,避免了網(wǎng)絡(luò)通信帶來(lái)的不穩(wěn)定因素,也避免了傳統(tǒng)爬蟲需要處理大量的腳本(如html、javascript、css等)和需要花費(fèi)很長(zhǎng)時(shí)間考慮web或者軟件開發(fā)者的框架設(shè)計(jì),以應(yīng)對(duì)不同的反爬蟲程序,本發(fā)明所提出的方案適用面更為廣泛。
第二實(shí)施例
請(qǐng)參照?qǐng)D3,圖3是本發(fā)明第二實(shí)施例提供的一種分類標(biāo)簽數(shù)據(jù)獲取方法的流程圖,所述方法應(yīng)用于電子設(shè)備。下面將對(duì)圖3所示的流程進(jìn)行詳細(xì)闡述,所述方法包括:
步驟S210:電子設(shè)備在基于網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面中執(zhí)行預(yù)設(shè)的操作步驟,將執(zhí)行所述預(yù)設(shè)的操作步驟后在所述界面中顯示的數(shù)據(jù)以圖片進(jìn)行保存。
步驟S220:識(shí)別所述圖片,得到所述圖片中的文本信息。
步驟S230:基于獲取的關(guān)鍵詞信息,得到所述文本信息中與所述關(guān)鍵詞信息相關(guān)的抽取信息。
步驟S240:接收用戶輸入的糾錯(cuò)信息,基于所述糾錯(cuò)信息對(duì)所述抽取信息進(jìn)行糾錯(cuò),得到糾錯(cuò)后的抽取信息作為目標(biāo)文檔。
步驟S210-步驟S240請(qǐng)參看第一實(shí)施例,本實(shí)施例主要對(duì)步驟S251-步驟S257做詳細(xì)介紹。
步驟S251:根據(jù)預(yù)設(shè)規(guī)則將所述目標(biāo)文檔劃分為多個(gè)子文檔。
其中,所述預(yù)設(shè)規(guī)則可以是將從同一張圖片中所得到的糾錯(cuò)后的抽取信息作為一個(gè)子文檔,也可以是將從每隔相同數(shù)量張數(shù)圖片中所得到的糾錯(cuò)后的抽取信息作為一個(gè)子文檔。一個(gè)目標(biāo)文檔可以被劃分為多個(gè)子文檔。
步驟S252:基于分詞算法將每個(gè)所述子文檔進(jìn)行分詞處理,得到多個(gè)分詞。
電子設(shè)備可以調(diào)用第三方分詞算法分別對(duì)每個(gè)子文檔進(jìn)行分詞處理,將每個(gè)子文檔拆分成多個(gè)分詞。
步驟S253:計(jì)算每個(gè)所述分詞的權(quán)值,刪除所述分詞中,所述權(quán)值小于預(yù)設(shè)閾值的分詞,得到剩下的N個(gè)分詞,用數(shù)字0到N-1對(duì)所述N個(gè)分詞進(jìn)行一一標(biāo)注。
具體地,可以基于TF-IDF技術(shù)分別將每個(gè)子文檔所包括的每個(gè)分詞進(jìn)行加權(quán)處理,得到屬于每個(gè)分詞的權(quán)值。將每個(gè)所述分詞的權(quán)值與預(yù)設(shè)閾值進(jìn)行比對(duì),刪除權(quán)值小于所述預(yù)設(shè)閾值的分詞,得到剩下的N個(gè)分詞,并分別對(duì)每個(gè)分詞進(jìn)行標(biāo)注,使得N個(gè)分詞分別對(duì)應(yīng)0-N-1中的一個(gè)數(shù)字。
步驟S254:獲取預(yù)設(shè)主題標(biāo)注的數(shù)量M,基于無(wú)監(jiān)督學(xué)習(xí)算法,獲取每個(gè)所述子文檔的主題標(biāo)注,其中,每個(gè)所述子文檔的主題標(biāo)注的數(shù)量的范圍為0到M-1個(gè);
步驟S255:分別在每個(gè)所述子文檔所包括的主題標(biāo)注下遍歷該子文檔所包括的每個(gè)所述分詞,獲取該分詞在該主題標(biāo)注下出現(xiàn)的次數(shù),將次數(shù)最大的主題標(biāo)注作為該分詞的分詞標(biāo)簽。
即遍歷0-N-1個(gè)數(shù)字,計(jì)算每個(gè)分詞在不同主題標(biāo)注下出現(xiàn)的次數(shù),選擇次數(shù)最大的主題標(biāo)注作為該分詞的分詞標(biāo)簽,使得每個(gè)分詞都對(duì)應(yīng)一個(gè)分詞標(biāo)簽。
步驟S256:遍歷每個(gè)所述子文檔,根據(jù)所述分詞標(biāo)簽,將在該子文檔中,出現(xiàn)次數(shù)最多的分詞標(biāo)簽作為該子文檔的文檔標(biāo)簽。
步驟S257:基于每個(gè)所述子文檔的文檔標(biāo)簽,得到所述目標(biāo)文檔的分類標(biāo)簽。
可以獲取預(yù)設(shè)的最大迭代次數(shù)、重復(fù)初始化次數(shù)以及平均相似度閾值,分別計(jì)算在每個(gè)主題標(biāo)注下,所述目標(biāo)文檔包括的全部分詞中,每?jī)蓚€(gè)所述分詞之間的平均相似度。
具體地,可以將每個(gè)主題標(biāo)注作為目標(biāo)文檔的預(yù)設(shè)分類標(biāo)簽,分別在每個(gè)所述主題標(biāo)注下,遍歷所有分詞,獲取每個(gè)所述分詞出現(xiàn)的頻率(沒(méi)有出現(xiàn)則為0),得到關(guān)于每個(gè)所述子文檔的文檔標(biāo)簽的N維向量,其中,每一維表征一個(gè)所述分詞的頻率;基于夾角余弦值計(jì)算每?jī)蓚€(gè)所述分詞之間的距離,將所有兩兩所述分詞之間的距離的平均值作為所述平均相似度,用于衡量主題標(biāo)注之間的差異程度,默認(rèn)平均相似度越大差異越高。
若所述平均相似度不小于所述平均相似度閾值或者迭代次數(shù)不小于所述最大迭代次數(shù),判斷初始化次數(shù)是否不小于所述重復(fù)初始化次數(shù);
若所述初始化次數(shù)不小于所述重復(fù)初始化次數(shù),將每次初始化后得到的所述平均相似度進(jìn)行比較,選擇最大的所述平均相似度所對(duì)應(yīng)的所述主題標(biāo)注作為所述目標(biāo)文檔的分類標(biāo)簽。
當(dāng)然,作為另一種實(shí)施方式,若所述初始化次數(shù)小于所述重復(fù)初始化次數(shù),所述方法還可以包括:
當(dāng)所述子文檔的數(shù)量為N個(gè)時(shí),隨機(jī)獲取1/2N個(gè)所述子文檔,將所述預(yù)設(shè)主題標(biāo)注的數(shù)量M自加后對(duì)P取余,得到的值作為更新后的預(yù)設(shè)主題標(biāo)注的數(shù)量M1,其中,P為大于M的最小素?cái)?shù)。
M自加即:M+=M,最后得到2M,表征的是翻倍。選取素?cái)?shù),是由于只有素?cái)?shù)的剩余類在加法下構(gòu)成的群才會(huì)僅存在兩個(gè)平凡子群,這樣任何一個(gè)非零元素通過(guò)自加P-1次都能遍歷0~P-1中的元素,保證假設(shè)空間能在理論上被遍歷。
更新預(yù)設(shè)主題標(biāo)注時(shí)采用更新1/2N個(gè)所述子文檔的原因?yàn)樵贜個(gè)元素中選擇M個(gè)元素的組合數(shù)最大在M=N/2時(shí)產(chǎn)生,這樣在更新時(shí)能產(chǎn)生更多的備選初始點(diǎn)以更多地覆蓋假設(shè)空間。
重新遍歷1/2N個(gè)所述子文檔,根據(jù)1/2N個(gè)所述子文檔中每個(gè)所述分詞標(biāo)簽,將在每個(gè)所述子文檔中,出現(xiàn)次數(shù)最多的所述分詞標(biāo)簽作為該子文檔的文檔標(biāo)簽;基于1/2N個(gè)所述子文檔中,每個(gè)所述子文檔的文檔標(biāo)簽,得到所述目標(biāo)文檔的分類標(biāo)簽。
本發(fā)明實(shí)施例提出的分類標(biāo)簽數(shù)據(jù)獲取方法,通過(guò)對(duì)網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面以圖片方式進(jìn)行保存后,再對(duì)圖片進(jìn)行識(shí)別,得到圖片中的文本信息,將文本信息進(jìn)行抽取、糾錯(cuò)后再運(yùn)用主題分類模型計(jì)算得到目標(biāo)文檔的分類標(biāo)簽。由于整個(gè)過(guò)程都是針對(duì)圖片進(jìn)行處理,避免了運(yùn)用傳統(tǒng)爬蟲程序進(jìn)行分類標(biāo)簽數(shù)據(jù)獲取時(shí),需要花費(fèi)很長(zhǎng)時(shí)間來(lái)破解一個(gè)反爬蟲方案,而且可能無(wú)法破解的問(wèn)題,同時(shí),采用主題分類模型計(jì)算得到目標(biāo)文檔的分類標(biāo)簽過(guò)程中,設(shè)置了最大迭代次數(shù)和重復(fù)初始化次數(shù),避免了迭代次數(shù)過(guò)多給電子設(shè)備造成的負(fù)荷。
第三實(shí)施例
請(qǐng)參照?qǐng)D4,圖4是本發(fā)明第三實(shí)施例提供的一種分類標(biāo)簽數(shù)據(jù)獲取裝置400的結(jié)構(gòu)框圖。下面將對(duì)圖4所示的結(jié)構(gòu)框圖進(jìn)行闡述,所示裝置400包括:
保存模塊410,用于基于網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面中執(zhí)行預(yù)設(shè)的操作步驟,將執(zhí)行所述預(yù)設(shè)的操作步驟后在所述界面中顯示的數(shù)據(jù)以圖片進(jìn)行保存;
識(shí)別模塊420,用于識(shí)別所述圖片,得到所述圖片中的文本信息;
抽取模塊430,用于基于獲取的關(guān)鍵詞信息,得到所述文本信息中與所述關(guān)鍵詞信息相關(guān)的抽取信息;
糾錯(cuò)模塊440,用于接收用戶輸入的糾錯(cuò)信息,基于所述糾錯(cuò)信息對(duì)所述抽取信息進(jìn)行糾錯(cuò),得到糾錯(cuò)后的抽取信息作為目標(biāo)文檔;
計(jì)算模塊450,用于基于預(yù)先建立的主題分類模型,計(jì)算得到所述目標(biāo)文檔的分類標(biāo)簽。
本實(shí)施例對(duì)分類標(biāo)簽數(shù)據(jù)獲取的裝置400的各功能模塊實(shí)現(xiàn)各自功能的過(guò)程,請(qǐng)參見(jiàn)上述圖1至圖3所示實(shí)施例中描述的內(nèi)容,此處不再贅述。
第四實(shí)施例
請(qǐng)參照?qǐng)D5,圖5是本發(fā)明第四實(shí)施例提供的一種分類標(biāo)簽數(shù)據(jù)獲取裝置500的結(jié)構(gòu)框圖。下面將對(duì)圖5所示的結(jié)構(gòu)框圖進(jìn)行闡述,所示裝置500包括:
保存模塊510,用于基于網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面中執(zhí)行預(yù)設(shè)的操作步驟,將執(zhí)行所述預(yù)設(shè)的操作步驟后在所述界面中顯示的數(shù)據(jù)以圖片進(jìn)行保存;
識(shí)別模塊520,用于識(shí)別所述圖片,得到所述圖片中的文本信息;
抽取模塊530,用于基于獲取的關(guān)鍵詞信息,得到所述文本信息中與所述關(guān)鍵詞信息相關(guān)的抽取信息;
糾錯(cuò)模塊540,用于接收用戶輸入的糾錯(cuò)信息,基于所述糾錯(cuò)信息對(duì)所述抽取信息進(jìn)行糾錯(cuò),得到糾錯(cuò)后的抽取信息作為目標(biāo)文檔;
計(jì)算模塊550,用于基于預(yù)先建立的主題分類模型,計(jì)算得到所述目標(biāo)文檔的分類標(biāo)簽。
其中,計(jì)算模塊550還包括:
劃分子模塊551,用于根據(jù)預(yù)設(shè)規(guī)則將所述目標(biāo)文檔劃分為多個(gè)子文檔;
分詞子模塊552,用于基于分詞算法將每個(gè)所述子文檔進(jìn)行分詞處理,得到多個(gè)分詞;
刪除子模塊553,用于計(jì)算每個(gè)所述分詞的權(quán)值,刪除所述分詞中,所述權(quán)值小于預(yù)設(shè)閾值的分詞,得到剩下的N個(gè)分詞,用數(shù)字0到N-1對(duì)所述N個(gè)分詞進(jìn)行一一標(biāo)注;
獲取子模塊554,用于獲取大于預(yù)設(shè)主題標(biāo)注數(shù)量M,基于無(wú)監(jiān)督學(xué)習(xí)算法,獲取每個(gè)所述子文檔的主題標(biāo)注,其中,每個(gè)所述子文檔的主題標(biāo)注的數(shù)量的范圍為0到P-1個(gè);
遍歷子模塊555,用于分別在每個(gè)所述子文檔所包括的主題標(biāo)注下遍歷該子文檔所包括的每個(gè)所述分詞,獲取該分詞在該主題標(biāo)注下出現(xiàn)的次數(shù),將次數(shù)最大的主題標(biāo)注作為該分詞的分詞標(biāo)簽;
所述遍歷子模塊555,還用于遍歷每個(gè)所述子文檔,根據(jù)所述分詞標(biāo)簽,將在該子文檔中,出現(xiàn)次數(shù)最多的分詞標(biāo)簽作為該子文檔的文檔標(biāo)簽;
所述獲取子模塊554,還用于基于每個(gè)所述子文檔的文檔標(biāo)簽,得到所述目標(biāo)文檔的分類標(biāo)簽。
此外,所述獲取子模塊554可以包括:初始化子模塊,用于獲取最大迭代次數(shù)、重復(fù)初始化次數(shù)以及平均相似度閾值;計(jì)算子模塊,用于分別計(jì)算在每個(gè)所述主題標(biāo)注下,所述目標(biāo)文檔包括的全部分詞中,每?jī)蓚€(gè)所述分詞之間的平均相似度;判斷子模塊,用于若所述平均相似度不小于所述平均相似度閾值或者迭代次數(shù)不小于所述最大迭代次數(shù),判斷初始化次數(shù)是否不小于所述重復(fù)初始化次數(shù);選擇子模塊,用于若所述初始化次數(shù)不小于所述重復(fù)初始化次數(shù),將每次初始化后得到的所述平均相似度進(jìn)行比較,選擇最大的所述平均相似度所對(duì)應(yīng)的所述主題標(biāo)注作為所述目標(biāo)文檔的分類標(biāo)簽。
綜上所述,本發(fā)明實(shí)施例提出的分類標(biāo)簽數(shù)據(jù)獲取方法以及裝置,通過(guò)對(duì)網(wǎng)絡(luò)返回的頁(yè)面數(shù)據(jù)渲染得到的界面以圖片方式進(jìn)行保存后,再對(duì)圖片進(jìn)行識(shí)別,得到圖片中的文本信息,將文本信息進(jìn)行抽取、糾錯(cuò)后再運(yùn)用主題分類模型計(jì)算得到目標(biāo)文檔的分類標(biāo)簽。由于整個(gè)過(guò)程都是針對(duì)圖片進(jìn)行處理,避免了網(wǎng)絡(luò)通信帶來(lái)的不穩(wěn)定因素,也避免了傳統(tǒng)爬蟲需要處理大量的腳本(如html、javascript、css等)和需要花費(fèi)很長(zhǎng)時(shí)間考慮web或者軟件開發(fā)者的框架設(shè)計(jì),以應(yīng)對(duì)不同的反爬蟲程序,本發(fā)明所提出的方案適用面更為廣泛。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一起形成一個(gè)獨(dú)立的部分,也可以是各個(gè)模塊單獨(dú)存在,也可以兩個(gè)或兩個(gè)以上模塊集成形成一個(gè)獨(dú)立的部分。
所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。