一種基于ocr的商品查詢關(guān)鍵字自動生成方法
【專利摘要】本發(fā)明公開了一種基于OCR的商品查詢關(guān)鍵字自動生成方法,首先建立商品信息數(shù)據(jù)庫。然后利用OCR技術(shù)提取產(chǎn)品包裝圖中的文字信息,獲得包含產(chǎn)品信息的單詞組。接著通過計(jì)算單詞組與數(shù)據(jù)庫中單詞的相似性,矯正錯誤字符,完成單詞組標(biāo)準(zhǔn)化。接著通過打分規(guī)則將得分最高的商品類別作為單詞組所代表產(chǎn)品的類別。隨后選擇該商品類別對應(yīng)的單詞共生表并計(jì)算單詞組中各單詞的共生性得分來過濾掉無用單詞。最后,通過該商品類別的品牌打分表和打分規(guī)則選擇得分最高的品牌作為單詞組代表產(chǎn)品的品牌名,將該品牌名結(jié)合過濾后的單詞組作為商品查詢關(guān)鍵字供用戶檢索使用。本發(fā)明計(jì)算效率高,對數(shù)據(jù)庫的更新方便,極大地提高用戶查詢商品信息時(shí)的正確性。
【專利說明】
一種基于OCR的商品查詢關(guān)鍵字自動生成方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于信息檢索技術(shù)領(lǐng)域,尤其涉及一種在OCR基礎(chǔ)上的商品關(guān)鍵字自動生 成方法。
【背景技術(shù)】
[0002] 互聯(lián)網(wǎng)以及手持智能終端在過去的10年間經(jīng)歷了爆炸式的發(fā)展,這極大地豐富了 人們的信息獲取途徑并改變了人們的生活方式,越來越多的人選擇通過電商完成購物。借 助各種電商網(wǎng)站上詳細(xì)的產(chǎn)品信息以及其它購買者對商品的評價(jià),人們可以更好地進(jìn)行購 物選擇。但是當(dāng)購物者在商場、書店等地購物時(shí),查詢商品的具體信息就變得較為困難。通 常人們的做法是閱讀產(chǎn)品包裝并人為提取組織其中可能的關(guān)鍵字,之后再輸入到搜索引擎 中進(jìn)行查詢。但手工提取產(chǎn)品關(guān)鍵字的過程費(fèi)時(shí)費(fèi)力,而且對于購物者來說精確選擇關(guān)鍵 字較為困難,更為糟糕的是一些無用單詞可能會干擾查詢結(jié)果。
[0003] 0CR(0ptical Character Recognition,光學(xué)字符識別)能對圖像中的文本信息進(jìn) 行分析識別處理,通過檢測暗、亮的模式確定其形狀,用字符識別方法將形狀翻譯成計(jì)算機(jī) 文字。隨著帶有拍照功能的手持智能終端的廣泛普及,利用OCR技術(shù)對拍攝的商品包裝照片 中的文字信息進(jìn)行提取顯得水到渠成。但是,OCR識別出來的信息存在大量噪音,且存在一 些無用信息。如果不對這些信息進(jìn)行進(jìn)一步的分析,其結(jié)果很可能影響用戶的使用。因此需 要對OCR識別的信息進(jìn)一步分析整合。
【發(fā)明內(nèi)容】
[0004] 為了解決上述技術(shù)問題,本發(fā)明提供了一種基于OCR的商品查詢關(guān)鍵字自動生成 方法,在獲取一張用手持智能終端拍攝的產(chǎn)品包裝圖后,OCR將會對該產(chǎn)品圖片進(jìn)行文字提 取并返回一個(gè)包含大量噪音和無用信息的字符數(shù)據(jù)集,之后通過矯正錯誤字符(標(biāo)準(zhǔn)化)、 選擇商品類別、過濾無用信息、確定產(chǎn)品品牌四個(gè)過程最終生成合理的產(chǎn)品關(guān)鍵字。
[0005] 本發(fā)明所采用的技術(shù)方案是:一種基于OCR的商品查詢關(guān)鍵字自動生成方法,其特 征在于:首先構(gòu)建所有商品的產(chǎn)品名表、單詞表、單詞共生表和品牌打分表,綜合所有的單 詞表形成商品類別打分表,并所有的表存入數(shù)據(jù)庫中;然后基于商品類別打分表進(jìn)行商品 查詢關(guān)鍵字自動生成;其中所述商品查詢關(guān)鍵字自動生成包括以下步驟:
[0006] 步驟1:利用OCR技術(shù)提取產(chǎn)品包裝圖中的全部可識別文字信息,并對返回的字符 數(shù)據(jù)集進(jìn)行預(yù)處理,去掉單個(gè)字符長度的單詞和無用符號(非數(shù)字、非字母的符號),形成包 含產(chǎn)品信息的一個(gè)單詞組;
[0007] 步驟2:分別米用Levenshtein Distance和Damerau-Levenshtein Distance兩種 編輯距離方法,計(jì)算步驟1中獲得的單詞組中每個(gè)單詞與數(shù)據(jù)庫單詞表中所有單詞的相似 性,并把兩個(gè)相似性結(jié)果的調(diào)和平均值作為該單詞對數(shù)據(jù)庫單詞表中每個(gè)單詞的相似性 值;將單詞組中對數(shù)據(jù)庫所有單詞的相似性都低于給定閾值t s的單詞丟棄;對于剩余的單 詞,使用數(shù)據(jù)庫中與其相似性值最大的單詞來替換,并保存各自的最大相似性值Smax,完成 單詞組的標(biāo)準(zhǔn)化工作;
[0008] 步驟3:若標(biāo)準(zhǔn)化后的產(chǎn)品信息單詞組中含有某一產(chǎn)品品牌,則直接將該品牌所在 的商品類別作為單詞組所代表產(chǎn)品的商品類別;
[0009] 否則就根據(jù)標(biāo)準(zhǔn)化后的產(chǎn)品信息單詞組對不同的商品類別進(jìn)行打分,并且對于每 個(gè)商品類別,記錄單詞組中只在該商品類別中出現(xiàn)的單詞的個(gè)數(shù),將得分最高的商品類別 作為單詞組所代表產(chǎn)品的類別;若所有商品類別的得分相同,則獨(dú)占單詞數(shù)最多的商品類 別作為單詞組所代表產(chǎn)品的類別;否則無法判斷;
[0010] 步驟4:對確定了商品類別的單詞組選擇相應(yīng)的單詞共生表,對于單詞組中的每一 個(gè)單詞,計(jì)算其與單詞組中其它單詞的共生性得分;若單詞組中每個(gè)單詞的共生性得分均 一致,不丟棄任何單詞,否則認(rèn)為得分低于給定的閾值的單詞代表的是無用信息,丟棄該 單詞,完成單詞過濾;
[0011] 步驟5:若過濾后的商品信息單詞組中含有某一產(chǎn)品品牌,將該品牌名結(jié)合過濾后 的單詞組作為商品查詢關(guān)鍵字返回,商品查詢關(guān)鍵字生成過程結(jié)束;否則通過過濾后的商 品信息單詞組和對應(yīng)的品牌打分表對所有品牌的打分,選取得分最高的品牌作為該產(chǎn)品的 品牌名,將該品牌名結(jié)合過濾后的單詞組作為商品查詢關(guān)鍵字返回。
[0012] 作為優(yōu)選,所述構(gòu)建所有商品的產(chǎn)品名表、單詞表、單詞共生表和品牌打分表,綜 合所有的單詞表形成商品類別打分表,是在電商網(wǎng)站上進(jìn)行商品信息的爬取,在每一個(gè)商 品類別下形成一個(gè)產(chǎn)品信息表;經(jīng)過對每一個(gè)產(chǎn)品信息表的進(jìn)一步處理生成產(chǎn)品名表、單 詞表、單詞共生表和品牌打分表;綜合所有的單詞表形成一個(gè)商品類別打分表,將所有的表 存入數(shù)據(jù)庫中。
[0013] 作為優(yōu)選,所述構(gòu)建所有商品的產(chǎn)品名表、單詞表、單詞共生表和品牌打分表,綜 合所有的單詞表形成商品類別打分表,其具體實(shí)現(xiàn)過程是:
[0014] 步驟A.1:在電商網(wǎng)站上按照不同商品類別爬取產(chǎn)品的名稱、品牌并建立產(chǎn)品信息 表,所述產(chǎn)品信息表屬性包括產(chǎn)品序號(Pid)、產(chǎn)品品牌(brand)、產(chǎn)品名(name);
[0015] 步驟A. 2:在每個(gè)商品類別下,對每個(gè)產(chǎn)品的產(chǎn)品名進(jìn)行修剪,修剪規(guī)則為:(1)將 大寫字母全部轉(zhuǎn)為小寫字母;(2)將"/"兩邊的單詞分開,如cleanse/tone轉(zhuǎn)為 cleansetone; (3)去除無用字符(不是數(shù)字或英文字母表中的字母)(4)去除表示單位的單 詞;形成修剪后的產(chǎn)品名表;所述產(chǎn)品名表屬性包括產(chǎn)品序號(pid)、修剪后的產(chǎn)品名 (prunedname);
[0016] 步驟A. 3:基于修剪后的產(chǎn)品名表,對于每個(gè)商品類別下出現(xiàn)的單詞,統(tǒng)計(jì)每個(gè)單 詞的出現(xiàn)次數(shù)以及產(chǎn)品名中含有該單詞的產(chǎn)品的pid,形成單詞表,所述產(chǎn)品名表屬性包括 產(chǎn)品序號(pid)、修剪后的產(chǎn)品名(prunedname);
[0017] 步驟A. 4:基于所有單詞表,生成一個(gè)商品類別打分表,表中的每一項(xiàng)代表一個(gè)單 詞在對應(yīng)的商品類別下的出現(xiàn)比例,計(jì)算公式如下:
[0019]其中N表示單詞表包含的單詞總數(shù);N。表示商品類別數(shù)目;P[i][j]表示單詞i在商 品類另ll j下的出現(xiàn)比例;nunu j表示單詞i在商品類別j下出現(xiàn)的次數(shù);t o t a 1 _nunu表示單詞i 在所有商品類別中出現(xiàn)的總次數(shù);
[0020] 步驟A. 5:對于每一個(gè)商品類別各生成一個(gè)單詞共生表ACM,其中的每一項(xiàng)代表對 應(yīng)的兩個(gè)單詞的共生性得分,計(jì)算公式如下:
[0022]其中η為該商品類別包含的單詞總數(shù);ACM[i][j]表示單詞i和單詞j的共生性得 分;word_numi貝lj表示單詞i在該商品類別中出現(xiàn)的次數(shù);word_numij表示該商品類別中單詞 i和單詞j在修剪后的產(chǎn)品名中同時(shí)出現(xiàn)的次數(shù);pre^ext^表示單詞i和單詞j在修剪后的 產(chǎn)品名中緊挨著出現(xiàn)次數(shù);
[0023] 步驟A.6:對于每一個(gè)商品類別各生成一個(gè)品牌打分表WordBrand,其中的每一項(xiàng) 代表一個(gè)單詞對一個(gè)品牌的貢獻(xiàn)得分,計(jì)算公式如下:
[0025] 其中η表示該商品類別包含的單詞總數(shù);Nb表示該商品類別包含的品牌數(shù)目; WordBrand[ i ] [ j ]表示單詞i對品牌j的貢獻(xiàn)得分;Nij表示在某一商品類別中含有單詞i且品 牌為j的產(chǎn)品的個(gè)數(shù),namelengthk表示含有單詞i且品牌為j的產(chǎn)品k修剪后的產(chǎn)品名長度;
[0026] 步驟A. 7:將所有的表存入數(shù)據(jù)庫中。
[0027] 作為優(yōu)選,步驟2中相似性的計(jì)算公式為:
[0029]其中s為OCR返回的單詞組中的一個(gè)單詞;W為數(shù)據(jù)庫單詞表中所有的單詞;N為數(shù) 據(jù)庫單詞表包含的單詞總數(shù);Ed為編輯距離的計(jì)算方法;Similar ity(s,wi)表示單詞組中 的單詞s與數(shù)據(jù)庫中單詞Wi的相似性;Length(s)表示單詞s的長度;Length(wi)表示單詞Wi 的長度;
[0030]作為優(yōu)選,步驟2中所述Tse [0,1]。
[0031] 作為優(yōu)選,步驟3中所述根據(jù)標(biāo)準(zhǔn)化后的產(chǎn)品信息單詞組對不同的商品類別進(jìn)行 打分,商品類別打分規(guī)則為:若某單詞只在一個(gè)商品類別中出現(xiàn),則根據(jù)表1進(jìn)行打分;
[0032] 表1單詞只在一個(gè)商品類別中出現(xiàn)時(shí)該商品類別得分規(guī)則
[0033]
[0034]
[0035] 若單詞在多個(gè)商品類別中出現(xiàn),每個(gè)商品類別的加分值為該單詞在商品類別打分 表中對應(yīng)項(xiàng)的值乘以給定的數(shù)值Cm;其中對應(yīng)項(xiàng)是該單詞在商品類別的出現(xiàn)比例。
[0036] 作為優(yōu)選,Tsce[0,l],TLe[l,15],gradee[l,100],Cme[l,20]〇
[0037] 作為優(yōu)選,步驟4中所述共生性得分計(jì)算公式為:
[0039] 其中stdWordNum表示單詞組中的單詞個(gè)數(shù);app_proportioru表示標(biāo)準(zhǔn)化后單詞 組中單詞i的共生性得分;acm_nunu代表單詞組中與單詞i在單詞共生表中對應(yīng)的值大于給 定閾值τ。的單詞個(gè)數(shù);outlierNum表示單詞組中與其它單詞均不共生的單詞個(gè)數(shù)。
[0040] 作為優(yōu)選,所述Tae [0,1],1:?!?[0,1]。
[0041 ]作為優(yōu)選,步驟5中所述對所有品牌的打分過程如下:
[0042]步驟5.1:根據(jù)步驟3確定的商品類別選擇相應(yīng)的品牌打分表WordBrand,根據(jù)該品 牌打分表和過濾后的單詞組對相應(yīng)商品類型下的所有品牌進(jìn)行打分;計(jì)算公式為:
[0044]其中Nb為該商品類別包含的品牌數(shù)目;sc〇re[k]為品牌k的得分;N f為過濾后的單 詞組含有的單詞總數(shù);indexOf (wordi)表示單詞wordi在該商品類別單詞表中的wid;
[0045] 步驟5.2:給定不同的數(shù)值k,將單詞組中任意k個(gè)單詞組合,若該單詞組合只在一 個(gè)品牌中的出現(xiàn),該品牌增加分值gradel;若在多個(gè)品牌中出現(xiàn),則對應(yīng)的多個(gè)品牌增加分 值grade2。
[0046] 作為優(yōu)選,所述ke [1,10],gradel e [1,30],grade2e [1,30]。
[0047] 本發(fā)明中提出的基于OCR的商品查詢關(guān)鍵字自動生成技術(shù),計(jì)算量很小,對于硬件 要求很低,具有很高的效率;使用的數(shù)據(jù)庫以及表格很小,更新方便;能夠極大地提高用戶 查詢商品信息時(shí)的正確性,改善用戶的購物體驗(yàn)。
【附圖說明】
[0048]圖1:本發(fā)明實(shí)施例的流程圖。
[0049] 圖2:本發(fā)明實(shí)施例的數(shù)據(jù)庫示意圖。
[0050] 圖3:本發(fā)明實(shí)施例中樣例產(chǎn)品的包裝圖。
[0051 ]圖4:本發(fā)明實(shí)施例中OCR返回的識別結(jié)果圖。
[0052]圖5:本發(fā)明實(shí)施例中經(jīng)過預(yù)處理的OCR識別結(jié)果圖。
[0053]圖6:本發(fā)明實(shí)施例中商品類別得分與選擇的商品類別結(jié)果圖。
[0054]圖7:本發(fā)明實(shí)施例中單詞組過濾后的結(jié)果圖。
[0055] 圖8:本發(fā)明實(shí)施例中選取的品牌以及最終生成的商品查詢關(guān)鍵詞結(jié)果圖。
[0056] 圖9:本發(fā)明實(shí)施例中利用生成的商品查詢關(guān)鍵詞在搜索引擎中查詢的結(jié)果圖。
【具體實(shí)施方式】
[0057] 為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及實(shí)施例對本發(fā) 明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實(shí)施示例僅用于說明和解釋本發(fā)明,并不 用于限定本發(fā)明。
[0058]請見圖1,本發(fā)明提供一種基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于: 首先構(gòu)建所有商品的產(chǎn)品名表、單詞表、單詞共生表和品牌打分表,綜合所有的單詞表形成 商品類別打分表,并所有的表存入數(shù)據(jù)庫中;然后基于商品類別打分表進(jìn)行商品查詢關(guān)鍵 字自動生成;
[0059] 構(gòu)建所有商品的產(chǎn)品名表、單詞表、單詞共生表和品牌打分表,綜合所有的單詞表 形成商品類別打分表,是在電商網(wǎng)站上進(jìn)行商品信息的爬取,在每一個(gè)商品類別下形成一 個(gè)產(chǎn)品信息表;經(jīng)過對每一個(gè)產(chǎn)品信息表的進(jìn)一步處理生成產(chǎn)品名表、單詞表、單詞共生表 和品牌打分表;綜合所有的單詞表形成一個(gè)商品類別打分表,將所有的表存入數(shù)據(jù)庫中;其 具體實(shí)現(xiàn)過程是:
[0060] 步驟A.1,在亞馬遜網(wǎng)站上按照不同商品類別(日用品,紅酒,書籍)爬取產(chǎn)品的名 稱、品牌(其中書籍的品牌為作者名)并建立產(chǎn)品信息表(屬性為:產(chǎn)品序號(pid)、產(chǎn)品品牌 (brand)、產(chǎn)品名(name)),分別為commodity、wine、book〇
[0061] 步驟A. 2,在每個(gè)商品類別下,對每個(gè)產(chǎn)品的產(chǎn)品名進(jìn)行修剪,修剪規(guī)則為:(1)將 大寫字母全部轉(zhuǎn)為小寫字母;(2)將"/"兩邊的單詞分開,如cleanse/tone轉(zhuǎn)為 cleansetone; (3)去除無用字符(不是數(shù)字或英文字母表中的字母)(4)去除表示單位的單 詞;形成修剪后的產(chǎn)品名表;所述產(chǎn)品名表屬性包括產(chǎn)品序號(pid)、修剪后的產(chǎn)品名 (prunedname);形成3個(gè)修剪后的產(chǎn)品名表(屬性為:產(chǎn)品序號(p i d)、修剪后的產(chǎn)品名 (prunedname)),分別為commodity_pruned、wine_pruned、book_pruned 〇
[0062] 步驟A. 3,基于修剪后的產(chǎn)品名表,對于每個(gè)商品類別下出現(xiàn)的單詞(即修剪后的 產(chǎn)品名中含有的所有單詞),統(tǒng)計(jì)每個(gè)單詞的出現(xiàn)次數(shù)以及產(chǎn)品名中含有該單詞的產(chǎn)品的 pid,形成3個(gè)單詞表(屬性為單詞序號(wid)、單詞(word)、單詞數(shù)目(num)、產(chǎn)品序號 (pid)),分別為commodity_words、wine_words、book_words。數(shù)據(jù)庫中的產(chǎn)品信息表,產(chǎn)品 名表,單詞表見圖2。
[0063] 步驟A.4,基于數(shù)據(jù)庫中的所有單詞表,生成一個(gè)商品類別打分表,請見表2,表中 的每一項(xiàng)代表一個(gè)單詞在對應(yīng)的商品類別下的出現(xiàn)比例,計(jì)算公式如下:
[0065]其中N表示數(shù)據(jù)庫單詞表包含的單詞總數(shù);P[i][j]表示單詞i在商品類別j下的出 現(xiàn)比例;numi j表示單詞i在商品類別j下出現(xiàn)的次數(shù);to tal_numi表示單詞i在三個(gè)商品類別 中出現(xiàn)的總次數(shù)。
[0066]表2商品類別打分表的結(jié)構(gòu)
[0068] 步驟A. 5,對于每一個(gè)商品類別各生成一個(gè)單詞共生表ACM,其中的每一項(xiàng)代表對 應(yīng)的兩個(gè)單詞的共生性得分,計(jì)算公式如下:
[0070]其中η表示該商品類別包含的單詞總數(shù);ACM[i][j]表示單詞i和單詞j的共生性得 分;word_numi貝lj表示單詞i在該商品類別中出現(xiàn)的次數(shù);word_numij表示該商品類別中單詞 i和單詞j在修剪后的產(chǎn)品名中同時(shí)出現(xiàn)的次數(shù);pre^ext^表示單詞i和單詞j在修剪后的 產(chǎn)品名中緊挨著出現(xiàn)的次數(shù)。
[0071 ] 步驟A. 6,對于每一個(gè)商品類別各生成一個(gè)品牌打分表WordBrand,其中的每一項(xiàng) 代表一個(gè)單詞對一個(gè)品牌的貢獻(xiàn)得分,計(jì)算公式如下:
[0073] 其中η表示該商品類別包含的單詞總數(shù);Nb表示該商品類別包含的品牌數(shù)目; WordBrand[ i ] [ j ]表示單詞i對品牌j的貢獻(xiàn)得分;Nij表示在某一商品類別中含有單詞i且品 牌為j的產(chǎn)品的個(gè)數(shù),namelengthk表示含有單詞i且品牌為j的產(chǎn)品k修剪后的產(chǎn)品名長度。
[0074] 然后進(jìn)行商品查詢關(guān)鍵字自動生成,具體包括以下步驟:
[0075] 步驟1:利用OCR技術(shù)提取產(chǎn)品包裝圖(圖3)的全部可識別文字信息,識別結(jié)果如圖 4,并對返回的識別結(jié)果進(jìn)行簡單預(yù)處理,去掉單個(gè)字符長度的單詞和一些無用符號(例如: "I"等),形成包含產(chǎn)品信息的一個(gè)單詞組,預(yù)處理后結(jié)果如圖5。
[0076] 步驟2:米用兩種編輯距離方法Levenshtein Distance和Damerau-Levenshtein Distance,分別計(jì)算OCR返回的單詞組中每個(gè)單詞與數(shù)據(jù)庫單詞表中所有單詞的相似性,并 把兩個(gè)相似性結(jié)果的調(diào)和平均值作為該單詞對數(shù)據(jù)庫單詞表中每個(gè)單詞的相似性值。將單 詞組中對數(shù)據(jù)庫所有單詞的相似性都低于閾值0.5的單詞丟棄。對于剩余的單詞,使用數(shù)據(jù) 庫中與其相似性值最大的單詞來替換,并保存各自的最大相似性值S max,完成單詞組的標(biāo)準(zhǔn) 化工作。相似性的計(jì)算公式如下:
[0078]其中s為OCR返回的單詞組中的一個(gè)單詞;W為數(shù)據(jù)庫單詞表中的所有單詞;N為數(shù) 據(jù)庫單詞表所包含的單詞總數(shù);Ed為編輯距離的計(jì)算方法;Similarity (s,wi)表示單詞組 中的單詞S與數(shù)據(jù)庫中單詞Wi的相似性。
[0079]步驟3:若標(biāo)準(zhǔn)化后的產(chǎn)品信息單詞組中含有某一產(chǎn)品品牌(比如01ay、Nivea等), 則直接將該品牌所在的商品類別作為單詞組所代表產(chǎn)品的商品類別,步驟3結(jié)束。否則就根 據(jù)標(biāo)準(zhǔn)化后的單詞組對不同的商品類別進(jìn)行打分,并且對于每個(gè)商品類別,記錄單詞組中 只在該商品類別中出現(xiàn)的單詞的個(gè)數(shù)。將得分最高的商品類別作為單詞組所代表產(chǎn)品的類 另IJ;若所有商品類別的得分相同,則獨(dú)占單詞數(shù)最多的商品類別作為單詞組所代表產(chǎn)品的 類別。對商品類別打分規(guī)則為:若某單詞只在一個(gè)商品類別出現(xiàn),根據(jù)表3打分;若單詞在多 個(gè)商品類別中出現(xiàn),每個(gè)商品類別的加分值為該單詞在商品類別打分表中對應(yīng)項(xiàng)的值乘以 常數(shù)5。三個(gè)商品類別得分及選擇結(jié)果如圖6所示。
[0080] 表3單詞只在一個(gè)商品類別中出現(xiàn)時(shí)該商品類別得分規(guī)則
[0081]
[0082]步驟4:對于確定了產(chǎn)品類別的單詞組選擇相應(yīng)的單詞共生表,對于單詞組中的每 一個(gè)單詞,計(jì)算其與單詞組中其它單詞的共生性得分。若單詞組中每個(gè)單詞的共生性得分 均一致,不丟棄任何單詞。否則認(rèn)為得分低于0.2的單詞代表的是無用信息,丟棄該單詞,完 成單詞過濾,單詞組過濾后的結(jié)果如圖7所示。共生性得分計(jì)算公式如下:
[0084] 其中app_proportiom為標(biāo)準(zhǔn)化后單詞組中第i個(gè)單詞的共生性得分;acm_numi代 表單詞組中與第i個(gè)單詞在單詞共生表中對應(yīng)的值大于0.05的單詞個(gè)數(shù);stdWordNum為單 詞組中的單詞個(gè)數(shù);outlierNum為單詞組中與其它單詞均不共生的單詞個(gè)數(shù)。
[0085]步驟5:若過濾后的產(chǎn)品信息單詞組中含有某一產(chǎn)品品牌(比如01ay、Nivea等),將 該品牌名結(jié)合過濾后的單詞組作為商品查詢關(guān)鍵字返回,商品查詢關(guān)鍵字生成過程結(jié)束。 否則通過過濾后的產(chǎn)品信息單詞組和對應(yīng)的品牌打分表對所有品牌的打分,選取得分最高 的品牌作為該產(chǎn)品的品牌名,將該品牌名結(jié)合過濾后的單詞組作為商品查詢關(guān)鍵字返回。 選取的品牌以及最終生成的商品查詢關(guān)鍵詞結(jié)果如圖8所示。利用生成的商品查詢關(guān)鍵詞 在搜索引擎中查詢的結(jié)果如圖9所示(紅框標(biāo)出的為目標(biāo)商品)。
[0086]在步驟5中,對所有品牌的打分過程如下:
[0087]步驟5.1,否則根據(jù)步驟3確定的商品類別選擇相應(yīng)的品牌打分表WordBrand,根據(jù) 該品牌打分表和過濾后的單詞組對相應(yīng)商品類型下的所有品牌進(jìn)行打分。計(jì)算公式為:
[0089]其中sc〇re[k]代表品牌k的得分;Nf為過濾后的單詞組中含有的單詞總數(shù);N b為相 應(yīng)商品類型下品牌的個(gè)數(shù);indexOf (wordi)為單詞wordi在該商品類別單詞表中的wid。
[0090]步驟5.2,令數(shù)值k分別等于1、2、3,根據(jù)表4對所有品牌打分。
[0091] 表4不同k取值時(shí)的品牌得分規(guī)則
[0092]
[0093] 應(yīng)當(dāng)理解的是,本說明書未詳細(xì)闡述的部分均屬于現(xiàn)有技術(shù)。
[0094] 應(yīng)當(dāng)理解的是,上述針對較佳實(shí)施例的描述較為詳細(xì),并不能因此而認(rèn)為是對本 發(fā)明專利保護(hù)范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán) 利要求所保護(hù)的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護(hù)范圍之內(nèi),本發(fā) 明的請求保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于:首先構(gòu)建所有商品的產(chǎn) 品名表、單詞表、單詞共生表和品牌打分表,綜合所有的單詞表形成商品類別打分表,并所 有的表存入數(shù)據(jù)庫中;然后基于商品類別打分表進(jìn)行商品查詢關(guān)鍵字自動生成;其中所述 商品查詢關(guān)鍵字自動生成包括W下步驟: 步驟1:利用OCR技術(shù)提取產(chǎn)品包裝圖中的全部可識別文字信息,并對返回的字符數(shù)據(jù) 集進(jìn)行預(yù)處理,去掉單個(gè)字符長度的單詞和非數(shù)字、非字母的符號,形成包含產(chǎn)品信息的一 個(gè)單詞組; 步驟2:分別義用Levenshtein Distance和Damerau-Levenshtein Distance兩種編輯 距離方法,計(jì)算步驟1中獲得的單詞組中每個(gè)單詞與數(shù)據(jù)庫單詞表中所有單詞的相似性,并 把兩個(gè)相似性結(jié)果的調(diào)和平均值作為該單詞對數(shù)據(jù)庫單詞表中每個(gè)單詞的相似性值;將單 詞組中對數(shù)據(jù)庫所有單詞的相似性都低于給定闊值Ts的單詞丟棄;對于剩余的單詞,使用 數(shù)據(jù)庫中與其相似性值最大的單詞來替換,并保存各自的最大相似性值Smax,完成單詞組的 標(biāo)準(zhǔn)化工作; 步驟3:若標(biāo)準(zhǔn)化后的產(chǎn)品信息單詞組中含有某一產(chǎn)品品牌,則直接將該品牌所在的商 品類別作為單詞組所代表產(chǎn)品的商品類別; 否則就根據(jù)標(biāo)準(zhǔn)化后的產(chǎn)品信息單詞組對不同的商品類別進(jìn)行打分,并且對于每個(gè)商 品類別,記錄單詞組中只在該商品類別中出現(xiàn)的單詞的個(gè)數(shù),將得分最高的商品類別作為 單詞組所代表產(chǎn)品的類別;若所有商品類別的得分相同,則獨(dú)占單詞數(shù)最多的商品類別作 為單詞組所代表產(chǎn)品的類別;否則無法判斷; 步驟4:對確定了商品類別的單詞組選擇相應(yīng)的單詞共生表,對于單詞組中的每一個(gè)單 詞,計(jì)算其與單詞組中其它單詞的共生性得分;若單詞組中每個(gè)單詞的共生性得分均一致, 不丟棄任何單詞,否則認(rèn)為得分低于給定的闊值Ta的單詞代表的是無用信息,丟棄該單詞, 完成單詞過濾; 步驟5:若過濾后的商品信息單詞組中含有某一產(chǎn)品品牌,將該品牌名結(jié)合過濾后的單 詞組作為商品查詢關(guān)鍵字返回,商品查詢關(guān)鍵字生成過程結(jié)束;否則通過過濾后的商品信 息單詞組和對應(yīng)的品牌打分表對所有品牌的打分,選取得分最高的品牌作為該產(chǎn)品的品牌 名,將該品牌名結(jié)合過濾后的單詞組作為商品查詢關(guān)鍵字返回。2. 根據(jù)權(quán)利要求1所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于:所述 構(gòu)建所有商品的產(chǎn)品名表、單詞表、單詞共生表和品牌打分表,綜合所有的單詞表形成商品 類別打分表,是在電商網(wǎng)站上進(jìn)行商品信息的爬取,在每一個(gè)商品類別下形成一個(gè)產(chǎn)品信 息表;經(jīng)過對每一個(gè)產(chǎn)品信息表的進(jìn)一步處理生成產(chǎn)品名表、單詞表、單詞共生表和品牌打 分表;綜合所有的單詞表形成一個(gè)商品類別打分表,將所有的表存入數(shù)據(jù)庫中。3. 根據(jù)權(quán)利要求1或2所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于:所 述構(gòu)建所有商品的產(chǎn)品名表、單詞表、單詞共生表和品牌打分表,綜合所有的單詞表形成商 品類別打分表,其具體實(shí)現(xiàn)過程是: 步驟A.1:在電商網(wǎng)站上按照不同商品類別爬取產(chǎn)品的名稱、品牌并建立產(chǎn)品信息表, 所述廣品?目息表屬性包括廣品序號P id、廣品品牌brand、廣品名name; 步驟A. 2:在每個(gè)商品類別下,對每個(gè)產(chǎn)品的產(chǎn)品名進(jìn)行修剪,修剪規(guī)則為:(1)將大寫 字母全部轉(zhuǎn)為小寫字母;(2)將7"兩邊的單詞分開;(3)去除無用字符,無用字符包括不是 數(shù)字或英文字母表中的字母;(4)去除表示單位的單詞;形成修剪后的產(chǎn)品名表;所述產(chǎn)品 名表屬性包括產(chǎn)品序號P i d、修剪后的產(chǎn)品名prunedname; 步驟A.3:基于修剪后的產(chǎn)品名表,對于每個(gè)商品類別下出現(xiàn)的單詞,統(tǒng)計(jì)每個(gè)單詞的 出現(xiàn)次數(shù)W及產(chǎn)品名中含有該單詞的產(chǎn)品的pid,形成單詞表,所述單詞表屬性為包括單詞 序號wid、單詞word、單詞數(shù)目num、產(chǎn)品序號pid; 步驟A.4:基于所有單詞表,生成一個(gè)商品類別打分表,表中的每一項(xiàng)代表一個(gè)單詞在 對應(yīng)的商品類別下的出現(xiàn)比例,計(jì)算公式如下:其中N表示單詞表包含的單詞總數(shù);Nc表示商品類別數(shù)目;P[i][j]表示單詞i在商品類 另Ij j下的出現(xiàn)比例;numi康示單詞i在商品類另Ij j下出現(xiàn)的次數(shù);to ta l_num康示單詞i在所 有商品類別中出現(xiàn)的總次數(shù); 步驟A. 5:對于每一個(gè)商品類別各生成一個(gè)單詞共生表ACM,其中的每一項(xiàng)代表對應(yīng)的 兩個(gè)單詞的共生性得分,計(jì)算公式如下:其中η為該商品類別包含的單詞總數(shù);ACM[i][j]表示單詞i和單詞j的共生性得分; word_numi則表示單詞i在該商品類別中出現(xiàn)的次數(shù);word_numij表示該商品類別中單詞i和 單詞j在修剪后的產(chǎn)品名中同時(shí)出現(xiàn)的次數(shù);示單詞i和單詞j在修剪后的產(chǎn)品 名中緊挨著出現(xiàn)次數(shù); 步驟A. 6:對于每一個(gè)商品類別各生成一個(gè)品牌打分表Wor犯rand,其中的每一項(xiàng)代表 一個(gè)單詞對一個(gè)品牌的貢獻(xiàn)得分,計(jì)算公式如下:其中η表示該商品類別包含的單詞總數(shù);化表示該商品類別包含的品牌數(shù)目;Wor地rand [i][j]表示單詞i對品牌j的貢獻(xiàn)得分;Νυ表示在某一商品類別中含有單詞i且品牌為j的產(chǎn) 品的個(gè)數(shù),namelengthk表示含有單詞i且品牌為j的產(chǎn)品k修剪后的產(chǎn)品名長度; 步驟A. 7:將所有的表存入數(shù)據(jù)庫中。4.根據(jù)權(quán)利要求1所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于,步驟2 中相似性的計(jì)算公式為:其中S為OCR返回的單詞組中的一個(gè)單詞;W為數(shù)據(jù)庫單詞表中所有的單詞;N為數(shù)據(jù)庫 單詞表包含的單詞總數(shù);Ed為編輯距離的計(jì)算方法;Similarity (s,wi)表示單詞組中的單 詞S與數(shù)據(jù)庫中單詞Wi的相似性;Length(s)表示單詞S的長度;Length(wi)表示單詞Wi的長 度。5. 根據(jù)權(quán)利要求1所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于,步驟2 中所述Tse[〇,l]。6. 根據(jù)權(quán)利要求1所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于,步驟3 中所述根據(jù)標(biāo)準(zhǔn)化后的產(chǎn)品信息單詞組對不同的商品類別進(jìn)行打分,商品類別打分規(guī)則 為:若某單詞只在一個(gè)商品類別中出現(xiàn),則根據(jù)表1進(jìn)行打分; 表1單詞只在一個(gè)商品類別中出現(xiàn)時(shí)該商品類別得分規(guī)則若單詞在多個(gè)商品類別中出現(xiàn),每個(gè)商品類別的加分值為該單詞在商品類別打分表中 對應(yīng)項(xiàng)的值乘W給定的數(shù)值Cm;其中對應(yīng)項(xiàng)是該單詞在商品類別的出現(xiàn)比例。7. 根據(jù)權(quán)利要求6所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于 [0, l],TLe [1,15]'grade e[l, 100],Cme [1,20]。8. 根據(jù)權(quán)利要求1所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于,步驟4 中所述共生性得分計(jì)算公式為:其中stdWordNum表示單詞組中的單詞個(gè)數(shù);app_p;ropodioni表示標(biāo)準(zhǔn)化后單詞組中單 詞i的共生性得分;acm_numi代表單詞組中與單詞i在單詞共生表中對應(yīng)的值大于給定闊值 Tc的單詞個(gè)數(shù);outlierNum表示單詞組中與其它單詞均不共生的單詞個(gè)數(shù)。9. 根據(jù)權(quán)利要求8所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于:所述Ta e[〇,i],Tce[〇,i]。10. 根據(jù)權(quán)利要求1所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于,步驟 5中所述對所有品牌的打分過程如下: 步驟5.1:根據(jù)步驟3確定的商品類別選擇相應(yīng)的品牌打分表Wor地rand,根據(jù)該品牌打 分表和過濾后的單詞組對相應(yīng)商品類型下的所有品牌進(jìn)行打分;計(jì)算公式為:其中化為該商品類別包含的品牌數(shù)目;score[k]為品牌k的得分;化為過濾后的單詞組 含有的單詞總數(shù);indexOf (wordi)表示單詞wordi在該商品類別單詞表中的wid; 步驟5.2:給定不同的數(shù)值k,將單詞組中任意k個(gè)單詞組合,若該單詞組合只在一個(gè)品 牌中的出現(xiàn),該品牌增加分值gradel;若在多個(gè)品牌中出現(xiàn),則對應(yīng)的多個(gè)品牌增加分值 gr曰de2〇11.根據(jù)權(quán)利要求10所述的基于OCR的商品查詢關(guān)鍵字自動生成方法,其特征在于:所 述kE [1,10],gradel E [1,30],grade2E [1,30] D
【文檔編號】G06K9/32GK106096609SQ201610428913
【公開日】2016年11月9日
【申請日】2016年6月16日
【發(fā)明人】黃浩, 鐘林杌, 李宗鵬, 顏錢
【申請人】武漢大學(xué)