一種二進制定值區(qū)間匹配方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于匹配技術(shù),具體涉及一種二進制定值區(qū)間匹配方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)生活的普及,信息量的繁多,人們想要查詢一些成對或相似的互動信息越來越難。大部分這樣信息的匹配是人工處理的,即:通過軟件本身設(shè)置的供求區(qū)或跟貼區(qū)來實現(xiàn)自然的配對。如果是在海量的互聯(lián)網(wǎng)信息中自動配對,則往往還是靠關(guān)鍵詞匹配,匹配準確性差。這樣的匹配格局就會給很多商家丟失一些潛在用戶。
[0003]現(xiàn)在還沒有任何軟件或方法來根據(jù)用戶的特性向其推薦他所關(guān)心的產(chǎn)品配置,或者是基于信息本身來進行推送;當前軟件大多數(shù)都是基于用戶的瀏覽記錄來做匹配,其中的信息的失真十分嚴重,匹配效率很低。本專利主要提供如:用戶需要什么就推送什么;通過用戶需求,判斷潛在購買者是誰,如何根據(jù)購買者來定制包裝方案,減少數(shù)據(jù)匹配中大量的數(shù)據(jù)抓取及運算。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)存在的上述問題,本發(fā)明提供了一種二進制定值區(qū)間匹配方法。將需要提取或匹配的信息利用特征值表進行固化;利用二進制控制信息的特征值篩選;利用二進制和十進制的可轉(zhuǎn)換性對信息進行定值計算;利用二進制的位置(計算出的偏移量)來確定信息的伸縮性;通過定值計算和偏移量進行匹配。
[0005]本發(fā)明所采用的技術(shù)方案為:
[0006]一種二進制定值區(qū)間匹配方法,其改進之處在于:
[0007](I)建立特征值表A和B ;
[0008](2)建立特征值匹配表;
[0009](3)提取特征值匹配表中特征值,進行格式化;
[0010](4)對特征值進行定值計算;
[0011](5)計算偏移量;
[0012](6)對計算結(jié)果進行匹配。
[0013]優(yōu)選的,所述步驟(I)包括根據(jù)網(wǎng)站或搜素需求建立特征值表,并按照特征值的優(yōu)先級降序排列。
[0014]優(yōu)選的,所述步驟(2)包括對特征值表A和B,建立用戶對用戶、用戶對信息或信息對信息匹配,采用一一映射關(guān)系建立特征值匹配表。
[0015]優(yōu)選的,所述步驟(3)包括根據(jù)用戶行為或已有特征,提取特征值表中特征值,進行格式化生成二進制序列。
[0016]優(yōu)選的,所述步驟⑶包括
[0017](3.1)選擇二進制位寬,二進制位寬與特征值表中特征值數(shù)量相同;
[0018](3.2)根據(jù)二進制位寬生成一個二進制格式序列,二進制格式序列索引對應(yīng)的默認值為O ;
[0019](3.3)已有特征值表中的特征值,則將與其索引相同二進制格式序列中的位置I否則置0,二進制格式序列位置默認值為O。
[0020]優(yōu)選的,所述步驟(4)包括
[0021](4.1)檢索出二進制格式中除去開頭全為O的剩余序列中每個O的位置下標,并儲存下標序列,檢索出的序列為空,則檢索I的序列并去除I中最高位代替序列;
[0022](4.2)進行定值計算,計算出二進制格式對應(yīng)的十進制數(shù)值。
[0023]優(yōu)選的,所述步驟(5)包括根據(jù)匹配度需要通過檢索序列來計算出偏移量的值,用于控制匹配成功率。
[0024]優(yōu)選的,所述步驟(5)包括通過偏移量控制匹配精度,將計算結(jié)果對特征值表A和B進行匹配。
[0025]本發(fā)明的有益效果為:
[0026]本發(fā)明可以進行角色或信息的預(yù)處理。只要在用戶或信息激發(fā)某種特征值時,對角色或信息的二進制定值區(qū)間進行一次計算即可用于以后的匹配。
[0027]本發(fā)明減少服務(wù)器匹配數(shù)據(jù)或角色時的運算量。通過將信息或角色獨立轉(zhuǎn)化的方式先獨立計算,然后只需要進行數(shù)匹配,避免大量的字符串匹配帶來的服務(wù)壓力,更加適用于小型的服務(wù)器。
[0028]本發(fā)明減少匹配時服務(wù)器的內(nèi)存占用,相對于現(xiàn)有的匹配方法,此方法匹配時需要存儲的數(shù)值較少,同時可以實時的與數(shù)據(jù)庫交互,減小服務(wù)器的內(nèi)存壓力。
[0029]本發(fā)明減少匹配時繁瑣的計算方法和步驟:直接將用戶及信息固定成一個特定值,每次只需要對值進行匹配,而對于角色或數(shù)據(jù)本身不要做考慮。匹配只是關(guān)系的映射,與用戶或信息本身的內(nèi)容關(guān)系不大,所以只需要對其特征值進行處理。
[0030]本發(fā)明可以利用閑時處理數(shù)據(jù):只需要對用戶或信息的特征值進行存儲后,在服務(wù)繁忙是暫時掛起數(shù)據(jù)處理,在閑時啟動數(shù)據(jù)處理,更加合理的利用服務(wù)空間。
[0031]本發(fā)明可控的數(shù)據(jù)匹配度,對于不同的需要用戶可以通過控制偏移量來控制數(shù)據(jù)匹配度,達到用戶需要的數(shù)據(jù)精度。
[0032]本發(fā)明高效的匹配效率。對于所有已經(jīng)處理的數(shù)據(jù)或用戶,服務(wù)器只需要執(zhí)行簡單的數(shù)值域的查詢操作即可完成匹配任務(wù)。
[0033]本發(fā)明具有匹配的伸縮性,可以實時更新用戶的狀態(tài)和對應(yīng)的特征值,快速應(yīng)對用戶某些特性的改變。
[0034]本發(fā)明流程控制更容易,只要擁有編程基礎(chǔ)的開發(fā)人員都可以將此方法整合到相應(yīng)的網(wǎng)站或者其他程序中。
【附圖說明】
[0035]圖1是本發(fā)明的一種二進制定值區(qū)間匹配方法流程圖;
圖2是本發(fā)明的一種二進制定值區(qū)間匹配方法中算法轉(zhuǎn)換流程圖。
【具體實施方式】
[0036]如圖1所示,本發(fā)明提供了一種二進制定值區(qū)間匹配方法。
[0037]注解及含義:
[0038]特征值(Eigenvalue,以下簡寫為E)、特征值有序表(Ordered Eigenvalue,以下簡寫為OE)、特征值匹配表(Eigenvalue Mapping,以下簡寫為EM)、特征值的索引、二進制位寬索引、二進制格式化(Binary Format —下簡稱BF,)、檢索序列S,十進制定值D,偏移量flag等名詞解釋及說明。
[0039]E:指的是能表示或者代表用戶(數(shù)據(jù))的描述。如:人、90后、學(xué)生、喜歡臺球、關(guān)注科技等能標識的人的特征的詞匯;又如:張三想要買一個手機,張三(人,繼承人的部分特征)、買(行為特征)、手機(繼承手機的特征)。E可以是缺省值(Default,以下簡寫為Def0缺省值代表匹配無關(guān)特征值,缺省值可以為多個,也可以與任何特征值建立映射關(guān)系,Def的優(yōu)先級低于任何特征值)。
[0040]OE:用來列出某一類具體用戶或信息(如學(xué)生)特征值的集合(非某一個特定的用戶或信息)。用來建立某一類用戶或信息的特征值匹配標準,同時對特征值進行優(yōu)先級降序排序。如:針對某一類用戶的OE為{90后,大學(xué)生,安徽,本科,男,女,缺省值1,缺省值2,}。
[0041]EM:特征值匹配表,建立用戶對用戶、用戶對信息、信息對信息等匹配方式從前者到后者的一一映射關(guān)系(特征值條數(shù)以后者為主,前者數(shù)量不夠?qū)⒃谇罢逴E中添加Def直到兩者條數(shù)相等)。如一個賣游戲產(chǎn)品淘寶商家和其用戶的特征值匹配表如下{游戲鍵鼠,游戲光盤,電腦配件,游戲充值,游戲配件,Defll ;{喜歡游戲,注重游戲體驗,關(guān)心游戲需要的配置,有充值意向,90后,大學(xué)生}。
[0042]特征值的索引:特征值有序表中每個特征值對應(yīng)的下標值,從優(yōu)先級最小的的開始計數(shù),起始索引為I ;
[0043]二進制位寬索引:二進制序列中為一位數(shù)值對應(yīng)的下標值,從最低位開始計數(shù),起始索引為I ;
[0044]BF:用戶或信息的二進制格式化的序列和規(guī)則。選擇合適的二進制位寬(如選擇64位或者8位等,根據(jù)特征值大小確定,后文中為描述方便統(tǒng)一選擇8bit);將(?中優(yōu)先級最小的對應(yīng)BF最低位,優(yōu)先級第二小的對應(yīng)BF次低位。以此類推;如果指定角色或信息中具有OE中的性質(zhì),則將對應(yīng)BF中的對應(yīng)位置I (如果某一項性質(zhì)可能的概率大于50 %即認為具有該性質(zhì)),否則置0,Def的值為O。
[0045]檢索序列S:檢索出BF中每個非打頭0(即第一個I后面出現(xiàn)的O)的位置下標,并儲存下標序列S,如果檢索出的S為空,則檢索I的序列并去除I中最高位代替S,S按照升序排列,同時建立索引。
[0046]十進制定值D:定值計算,根據(jù)二進制與十進制之間的轉(zhuǎn)換計算出BF對應(yīng)的十進制數(shù)值。
[0047]偏移量flag:用來控制匹配的效率和結(jié)果的準確性;偏移量(flag)計算,偏移量的計算需根據(jù)檢索序列S來計算,根據(jù)匹配度的需要,在S中選取合適的下標值,計算出偏移量的值(對于選取的下標值為i ;flag = 2~(1-l)),用來控制在后面的匹配算法中的匹配成功率;
[0048]其中,匹配中偏移量flag值對匹配效果影響如下:
[0049]對于一個二進制序列B= {10001001......11101110};
[0050]對應(yīng)的檢索序列為S = {sl,s2,s3,......sn},計算方法如上文說明,
[0051]選擇S中的一個值用于計算下偏移量,記此值為i,此值在S中對應(yīng)的索引為t,S中的下標值總數(shù)為η;
[0052]則匹配率=(n-t+l)/n;
[0053]其中,對于i的選擇給出做如下說明:
[0054]設(shè):用戶u對應(yīng)的BF(U) (BF中第一次出現(xiàn)I的索引為K);
[0055]S(u) = {sl, s2,s3,......,sn} (n<K) flag = 2' (i~l) i e S(U);
[0056]①2 sn〉(2 (sl—I) +2 (s2—I) +2 (s3—I) +......+2 (sn-1));
[0057]②D(u) > Σ 2~ (S1-1);
[0058]③2~(K_1)> Σ 2' (S1-1);
[0059]④對于任何i e S (u),若十進制數(shù) D’ e (D(u)-flag,D(U)+flag)貝丨J:D(u)和 D’的二進制表示中i (不包括)到K位上的二進制序列片段是相同的;
[0060]⑤對于i e S(u),i的值越小,則D’和D(U)上相同的二進制序列片段越長(即匹配率越高),反之,越大。當i = I時則D’和D (U)完全相同。
[0061]本發(fā)明一種二進制定值區(qū)間匹配方法,具體方法如下:
[0062](I)建立特征值表A和B ;
[0063]確定用戶特征值,建立0E,根據(jù)網(wǎng)站或者搜素需求建立有效的0E。
[0064]OE中E的排列按照降序排列,關(guān)于排列的優(yōu)點說明如下:
[0065]設(shè)一個用戶或信息二進制(Sbit)格式化(格式化規(guī)則在后面會具體描述)后為00110010 ;按照優(yōu)先級降序排列轉(zhuǎn)化為十進制為2~5+2~4+2可以看出位數(shù)最高位對整個十進制數(shù)據(jù)的值影響最大。如果按照升序(01001100)即2~6+2~3+2~2可以看出優(yōu)先級較大的對整個數(shù)據(jù)的變化影響不大,同時在建立EM雙方特征值數(shù)量不匹配時,優(yōu)先級降序?qū)τ贒ef的添加控制十分簡單。