TWI387931B - 產生排序清單的方法與系統 - Google Patents

產生排序清單的方法與系統 Download PDF

Info

Publication number
TWI387931B
TWI387931B TW097112794A TW97112794A TWI387931B TW I387931 B TWI387931 B TW I387931B TW 097112794 A TW097112794 A TW 097112794A TW 97112794 A TW97112794 A TW 97112794A TW I387931 B TWI387931 B TW I387931B
Authority
TW
Taiwan
Prior art keywords
item
intervals
list
price
interval
Prior art date
Application number
TW097112794A
Other languages
English (en)
Other versions
TW200907841A (en
Inventor
Sihem Amer Yahia
Lin Guo
Raghu Ramakrishnan
Jayavel Shanmugasundaram
Utkarsh Srivastava
Andrew Tomkins
Erik Vee
Original Assignee
Yahoo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Inc filed Critical Yahoo Inc
Publication of TW200907841A publication Critical patent/TW200907841A/zh
Application granted granted Critical
Publication of TWI387931B publication Critical patent/TWI387931B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Description

產生排序清單的方法與系統
本發明是關於一種用於產生排序清單的系統與方法。
線上購物已成為逐漸普遍的活動,許多消費者現都使用網路來購買商品項目。消費者通常被呈現以分類搜尋介面,藉由使用分類搜尋介面可指明選擇條件,例如:旅館房間之報到/結帳離開日期、印表機墨水匣的顏色/型號、以及行動電話的品牌/型號;接著滿足選擇條件的商品項目被以其價格依序傳回。旅遊業者與線上商店通常會根據購買特定數量之商品項目而提供價格折扣,這些折扣通常具有某些促銷之規則,例如:“住三晚,則雙人房可打八五折”、“Canon印表機墨水匣買二送一”以及“買兩支摩托羅拉Razr行動電話可打五折”等;因此,根據使用者查詢條件與商品項目的性質,只有部分的促銷規則會被適用。基於可能存在之大量商品項目與促銷規則,在查詢時間內,計算每個項目折扣後之價格並依其折扣後之價格將商品項目加以排列後傳回的能力,成為線上購物效率的關鍵因素。
上述問題最簡單與最常用之解決方式,是選擇滿足使用者查詢的商品項目、針對各該被選擇的商品項目適用可行的促銷規則、以及傳回價格最低的前幾個商品項目。這種方式適用於少量的商品項目與促銷規則,但當商品項目與促銷規則的數量增加時,明顯遭遇到尺度增加所引起之困難;此問題對於旅遊業者(例如:hotels.corn與 travclocity.com)而言更顯嚴重,其必須對提供各商品項目之網頁發出昂貴的網路服務呼叫,來確認其折扣後價格。
鑑於上述說明,顯然需要一種改良的系統與方法,用於產生一廣告清單。
為滿足上述需求以及克服相關技術中的缺失與其他限制時,提供一種用於產生一廣告清單的系統與方法。
該系統包括一查詢引擎與一廣告引擎。查詢引擎接收使用者之查詢並決定與廣告相配之參數,廣告引擎接收參數並根據參數而產生一商品項目清單。該系統係透過預先計算之模式(precompute mode),計算出各該可用商品項目之區間,以使各商品項目的變動處理成本降至最低;舉例而言,商品項目之單位價格會隨需要之商品數量而改變。此外,商品項目之單位價格,係各該商品項目所對應的多樣化訂價規則之函數。據此,在一商品數量區間上之訂價規則係依據區間內的最低商品單位價格所產生。此外,一項商品項目所涵括的區間,其區間數係為滿足一給定的空間限制而決定。藉由確定一商品項目在一個數量區間內的最低價格,,該系統可快速查詢與各商品項目所需數量相配之區間,並確定該區間之最低價格是否低於已含於清單上的前k個價格;若最低價格並未低於清單上的前k項目,該系統可快速對下一個商品項目進行索引查詢;相對的,若最低價格低於清單上的前k個價格,則將該項目加入清單,或計算實際價格供後續比較。
據此,在標示一商品項目的各個數量區間時,系統係利用一個單一區間開始分析,並持續增加區間數以確定能 產生最大處理利益之區隔點;由此,各區間的最低價格和因對一項目增加各區間而產生之處理程序效益一起儲存。然後,藉由選擇性地整合利益資料及選擇各個項目在給定之空間限制內可實現整體最大處理程序效益之各區間數間隔數,來組合區間。
該領域技術人士在參照附屬並作為發明書一部分之圖式與申請專利範圍,閱讀下列說明後,可直接瞭解本發明的其他目標、特徵與優勢。
現參照第一圖,其說明了將本發明之原理具體化之系統10。系統10包括一查詢引擎12、一文字搜尋引擎14與一廣告引擎16。查詢引擎12係以網路連接方式(例如以網際網路連接方式)與使用者系統18連通。該查詢引擎12係配置以接收一文字查詢20,以起動一網頁頁面搜尋;文字查詢20係一簡單文字串,其包括了可識別出使用者希望搜尋之標的物的一或多個關鍵字。
再次參照第一圖,查詢引擎12提供文字查詢20給文字搜尋引擎14,如圖中線22所表示。文字搜尋引擎14包括一索引模組24與資料模組26,文字搜尋引擎14對關鍵字22與索引模組24中的資訊進行比較,以確定與查詢引擎12提供之關鍵字22有關的各索引條目之關聯。文字搜尋引擎14接著藉由將索引條目從最高關連條目至最低關連條目排序至一清單中而產生文字搜尋結果。文字搜尋引擎14接著從與清單中各索引條目對應之資料模組26存取資料條目。據此,文字搜尋引擎14藉由合併對應的資料條目與索引條目清單,而產生文字搜尋結果28,文字搜尋 結果28接著被提供至查詢引擎12,以進行格式化並向使用者顯示。
查詢引擎12也與廣告引擎16連通,使查詢引擎12可將廣告緊密地與使用者查詢與搜尋結果結合。為了更有效地選擇符合使用者興趣及查詢意向的適當廣告,可能使查詢引擎12被配置以進一步分析文字查詢20之功能,並產生更複雜精細的文字轉譯查詢30(translated query);藉由界定一定數量的領域,使用者查詢意向可被予以較佳的分類,以模仿典型的搜尋情形。典型的搜尋情形包括尋找旅館房間、搜尋班機班次、購物產品或類似的情形。
一實例係包括文字查詢“紐約旅館8月23日”,對此例而言,查詢引擎12係分析該文字查詢20以確定該文字查詢20中是否有任何關鍵字與相關於一特定領域之一或多字相配;與特定領域相關的字係稱為「觸發字」。使用不同的演算法來識別與一組特定關鍵字相配之最佳領域。舉例而言,某些觸發字係較其他的觸發字有更高的加權;此外,當一文字查詢中含有特定領域之多個觸發字時,即對該領域進行額外加權。
轉譯查詢30係提供至廣告引擎16,廣告引擎16包括一索引模組32與一資料模組34,廣告引擎16執行一廣告相配演算法以識別與使用者興趣及查詢意圖相符的廣告。廣告引擎16比較轉譯查詢30與索引模組32中的資訊,以確定各索引條目是否與查詢引擎12所提供的轉譯查詢30相配。索引條目係對於預定項目數從最低價格至最高價格排序於清單中,該清單稱為一前k清單,其中k表示預定項目數。廣告者系統38使廣告者可編輯廣告文字40、出價42、清單44與規則46;廣告文字40包括分類,其 將區域、一般述部、區域特定述部、出價、清單或促銷規則資訊併入廣告資料中。
廣告引擎16接著藉由將索引條目從最低標價條目到最高標價條目排序至清單中而產生廣告搜尋結果36;然後,廣告引擎16會從與索引模組32之清單中與各索引條目對應的資料模組32存取資料條目。據此,廣告引擎16係透過將對應資料條目與索引條目清單合併而產生廣告結果36。廣告結果36接著被提供至查詢引擎12,廣告結果36係被併入文字搜尋結果28中,且被提供至使用者系統18以對使用者顯示。
一種簡易的編製促銷規則之索引的方式為,預先計算並儲存各項目對應到各數量後所計算出的折扣後價格。因而當使用者發出一給定數量之查詢時,可以直接查找到滿足使用者查詢之項目的折扣後價格,且前幾項結果可被傳回給使用者。然而,因項目數與可能的數量可以非常大,因而這種簡單方式會導致大量空間需求;這種延伸的空間需求特別不適用於在主記憶體中儲存有大部分資料,以實現所需要的資料通過量與與反應時間的大型線上位址。此方式的相關缺點在於必須針對所有數量與項目計算折扣後價格,即使有很多數量是鮮少被查詢的,且有許多項目鮮少被置於前幾個結果中。
為處理此種簡易方式的限制,將與項目i有關的促銷規則模型化為一函數,其進行方式為:輸入一數量q,即傳回該數量之折扣後單位價格。舉例而言,“買至少兩支摩托羅拉行動電話,享有單位價格10%之折扣”可以被模式化為與摩托羅拉行動電話相關之函數f,q=1,f(q)=p且q2,f(q)=0.90×p,其中p是行動電話的正常(未折扣時) 價格。此函數係於第二圖中加以說明。然後,給定一預先設定的空間,各函數係分為一或多個數量區間(如圖中垂直線條所示),使得所有項目的區間總數不超過預先設定的空間。對於一個區間,函數的最小值會針對該區間而被儲存;舉例而言,我們可自然將上述函數f分為兩個區間I1 與I2 ,I1 涵蓋的數量範圍為1q1,而在該範圍內f的最小值是p;I2 涵蓋的數量範圍是q2,而該範圍內f的最小值是0.90×p。如前所述,區間緊密涵蓋了函數的整個範圍,其可明顯節省空間。
然而,將函數表示為區會對查詢處理程序造成新挑戰:由於僅儲存給定項目之最低價格,且儲存區間以節省空間,因而需要進行一些後置查詢處理,以決定各項目之實際折扣後價格;且如針對許多區間進行後置查詢處理則非常昂貴。為解決此問題,可使用臨界值演算法來修整可能不會產生至前幾個結果的大量項目與區間,藉以大量減少後置處理的成本。假定一組適合於計算折扣後價格作為查詢答案的函數,係在查詢時可以獲知,且會依項目而改變,則直接適用臨界值演算法是有所不足的。舉例而言,給定一查詢來尋找2個印表機墨水匣,則兩種規則“任何顏色的Canon印表機墨水匣買兩個,免費送一個”以及“買任何形式的紅色印表機墨水匣兩個以上,總價打九五折”都會被應用至紅色Canon印表機墨水匣,而僅有前者會被應用至非紅色的印表機墨水匣。
演算法也用於為一組給定的項目與促銷規則確定適當的函數區間,該演算法是在一預先設定的空間中進行,並使用查詢的工作負載來分辨項目以及最需要被分割為區間的函數,並產生一組可證明為接近最佳解之區間。該 演算法的一個有趣特性是,其對函數的性質僅作非常少的假設,因而可應用至類型非常廣泛的促銷規則。試驗已顯示,所提出的方式相較於其他方達到了數量級的性能改良;特別是,其顯示了僅將預設的空間限制增加為項目資料庫大小的1.5倍,該演算法比其他方式增加五個數量級的速度。
項目可儲存於廣告引擎中,作為關係中的變數值組(tuples),連同作為特定屬性的該項目未經折扣之價格一起儲存。i.price係用於表示項目i折扣前的價格,表1顯示了一些商品,儲存於有關行動電話的項目中;
同樣的,可有多種其他關係來對應不同的項目類別,例如筆記型電腦、印表機墨水匣等。在不失普遍性的情況下,我們使用行動電話關係來作為本發明之實例。
不同的促銷規則,可依據於不同的構成要件(granularity)而特定,且其可使用任意的函數來表達不同的折扣。舉例而言,表2中的規則p1 係應用至所有的摩托羅拉行動電話,而規則p2 係應用至特定的行動電話型號;最後,規則p3 只有對買西門子電話之總價格作一固定的折扣。藉由建立一組促銷規則與各項目的關聯性,我們得以理解其語言意義上。對於表1與表2中所示之實例而言,項目ID為1、3、5之項目分別具有一種與其相關的規則,亦即p4 、p3 與p1 。項目ID為4之項目具有兩種與其相關的規則p1 與p2 ,而項目ID為2的項目則無任何與其相關的規則。
假定項目i與一組相關的規則RSeti,即可定義一函數Applyi :RSeti×N→R,其直觀上產生於規則pRSeti及數量qN,並傳回僅適用規則p時,數量q下項目i之單位價格。在我們的實例中,若將摩托羅拉Razr行動電話表示為MRC,ApplyMRC (p1 ,1)=MRC.price、ApplyMRC (p1 ,2)=MRC.price、ApplyMRC (p1 ,3)=2×MRC.price/3等;同樣的,ApplyMRC (p2 ,1)=MRC.price、ApplyMRC (p2 ,2)=0.90×MRC.price、ApplyMRC (p2 ,3)=0.90×MRC.price等。第 二圖與第三圖,係表示表1中的摩托羅拉Razr行動電話在適用規則p1 與p2 下增加數量時,折扣後價格演變。
最後,給定項目i、RSeti 與Applyi ,我們可定義折扣後價格函數fi :N→R如下:
直觀上,對於給定的數量q而言,fi (q)傳回項目i之最低單位價格,其係由適用一折扣規則而得,除非該項目沒有任何可用的規則(在這樣的情形下則使用該項目的原始價格)。注意在上述定義中有一個內含假設,即在一給定時間下僅有一個規則可以被用於一項目。在許多線上商店普遍皆適用此項假設時,我們可定義fi ,以使不同規則的組合可以被適用。對於項目ID為4的實例而言,第二圖中所示的線50係與“買二十支以上摩托羅拉Razr行動電話,每支單價折扣10%”(規則P2 )對應,而第三圖中所示的線52係與“買二送一”(p1 )對應。第四圖中的線54,顯示對於項目ID 4,兩規則p1 與p2 得組合為單一函數,其中針對各數量,選擇最低的折扣後價格(暫時忽略垂直線)。注意對於數量為2者,最低價格係適用規則p2 來計算,而對數量為3及3以上者,適用規則p1 來計算。
在此應用的其餘部分,將假設項目I係與一任意折扣價格函數fi 相關。至於fi 是由適用單一規則或適用多個規則組合而得,並不重要,因為後續的演算法中並不基於此一假設而進行。
在此應用的其餘部分,將考量預先計算區間(PI,“Precompute Interval”)方式。此方式的關鍵構想,係藉由一組數值來估算函數fi 。特別是,PI方式將各fi 分為一或多個數量區間,並儲存各區間之fi 的最小值。為了得知該 效益如何產生,以在先前部分所討論的用於國際牌VS2電話的規則p4 來說明;若p4 分為兩區間,其中I1 區間為數量小於或等於2者、而I2 區間為數量大於2者,則在I1 與I2 區間中fi 的最低價格,係趨近於fi ;事實上,此例中I1 與I2 之最低價格正是fi ,且不會導致多餘的工作。因此,PI方式可透過地將fi ’s分為數個區間,而避免多餘的工作。為了避免因大量區間數而產生的大量空間需求,預先設定的空間限制(指定為所有項目所具有的之區間總數)被作為PI方式的一項參數。
表3顯示了區間表的可能實例,表中的每一列都對應至一給定fi 之單一區間;第一行儲存一項目i之ID,第二行lowq儲存區間的最低範圍,第三行highq儲存區間的最高範圍,第四行minfi 儲存區間之fi 的最小值,而最後一行儲存fi 。舉例而言,有三個區間與項目ID為4者有關,即[1,1]、[2,2]與[3,∞],每一個區間皆與最低折扣後價格有關;其係由第四圖中垂直線條所示。表中的列係依minfi 之遞增順序加以儲存。
在查詢處理運算法中,L係設定為區間ID之清單(the list of Interval ids),其與查詢數量Qty重疊,且與滿足Pred的項目對應。L的計算可使用傳統索引而加以最佳化,例如使用合併索引(以找出區間ID清單,其與滿足Pred的項目有對應關係)以及使用區間/區段樹(segment tree),用以找出與查詢量Qty重疊之區間ID。
現參照第五圖,其提供了一種架構,用於產生並利用區間的。查詢處理模組60根據各項目的價格執行臨界值演算法,並傳回前k項清單,該清單是依據促銷規則計算之折扣後價格。查詢處理模組60引發索引70進入項目表72中,以傳回與該查詢相配的項目ID;接著,查詢處理模組60使用項目ID與數量來引發索引68,以存取區間表66並擷取各項目ID之價格區間。工作量處理模組64針對各查詢將culprits記錄到culprit記錄表74中;區間產生模組62存取該culprit記錄表與區間表,以確定給定之空間預算下每一項目的適當數量區間。
至於PI方式之區間的選擇,一項關鍵挑戰在於使用查詢工作量來確定最好的區間組,其(a)降低整體查詢處理時間,以(b)滿足空間預算限制。這個問題的簡易解決方式-列舉所有可能的區間組-具有之計算複雜度係項目數的指數函數,其顯然不可行。然而,可以利用與fi 's有關的部份關鍵特性與項目區間來發展出一種不但有效、而且被證明可以接近最佳值的演算法。
利用PI演算法(演算法1)來評估查詢Q所花費的成本可以分為整體成本的兩個組成部份。第一個組成部份是固定成本,其係評估Q之成本,與區間的選擇無關;固定成本具有三部份:(1)索引探查(第1行)1 ,(2)for迴圈之k次重複,其將前k結果加入結果堆積(第9-10行)2 ,以及(3)在滿足終端條件時,for迴圈的最終重複(第5-6行)。若我們計算並儲存所有可能的區間,則各查詢將不影響固定成本。
成本的第二組成部份是變動成本,其係排除固定成本後之評估查詢的成本;成本的此一組成部份係依區間的選擇而定。給定一查詢Q與一特定區間選擇P,若演算法1於其for迴圈重複m次,則變動成本為評估m-k-1次重複的成本;這些重複係對應於經演算法處理、但未被置於前k結果中的項目/區間(我們使用數字m-k-1是因為在總共m次重複外,係使用k次重複來產生實際的前k結果,而 最後一次重複係針對終端條件)。
可於一查詢工作量QW=[Q1 ,...,Qn ]的所有查詢上將總變動成本降至最低;換言之,可以將各查詢Qi 所產生、最小固定成本以外的所有成本降至最低。令I為該組項目,並令Ivals為該組所有可能的數量區間。
定義1:分隔。分隔P係函數P:I→2IvaIs ,由此,對於所有的iI而言,P(i)中的區間(a)不重疊(以避免冗餘)且(b)涵蓋整個數量範圍(以避免誤失數量。)
直觀上,分隔是一種代表特定選擇之區間的正式方式。
要記得利用分隔P所評估之查詢Q的變動成本係定義為評估m-k-1次重複中每一個重複的成本(演算法1中的第9-10行);每次重複的成本係視為單一單元,且接著定義出查詢Q的變動成本,其可藉由利用分隔P、varcost(I,P,Q)為m-k-1而加以定義。此外,可定義出標註culprits(I,P,Q),其將於稍後使用來表示區間已於對變動成本有所貢獻之Q的m-k-1次重複中進行處理的項目組。因此,給定一項目組I、所有可能數量區間組Ivals、一查詢工作量QW與一空間預算s,可找出一分隔P,以將受限於空間限制的整體變動成本(varcost (I.P.Q))降至最低。
為識別出分隔P,一種簡單的方法是明確地列舉出滿足空間預算的所有分隔,針對每個這樣的分隔計算成本,且最後取具有最低成本的分隔。然而,由於存在大量的可能分隔,這種演算法可能非常不具效益。特別是,若明顯的查詢數量為t,則可能的分隔數為2t×|I| s-|I|。(針對每個fi 都具有2t個區間分離點,一個在各查詢數量前、一個在 查詢數量後;因此,所有項目之區間分離點的總數是2t×|I|;由此可知,因為我們以|I|個重複開始,且每次附加分離都使重複數增加1,因而選擇s-|I|個分離點)。因此,對於適當大小的資料庫而言,例如具有10000個項目、10個查詢數量及空間預算為20000的資料庫,會得到“2×105 104”個可能分隔!
幸運的,上述處理造成的結果是,可以利用關鍵特性之相關分隔來動態地減少需要被考慮的分隔組;我們在正式表示獨立特性及呈獻我們的演算法之前,先導入一些標註。
定義2:項目的變動成本。給定一分隔P與一查詢工作量QW之項目iI的變動成本係定義為:
(在此定義中,{}表示一袋(bag)、而非一組,以正確地處理重複的查詢。)
換言之,項目i的變動成本係藉由項目以查詢工作量中的culprit出現的次數加以定義,亦即,以PI演算法來處理與一項目相關之區間的次數,其中該項目並非最終之前k結果的一部份。明顯可得知varcost(I,P,Q),亦即,所有項目的變動成本總和係與所有查詢的變動成本總和相同(其接著與整體變動成本相同)。
為了標註上的便利性,使用maxprice(I,Q)來代表藉由於I上評估Q而得的前k結果的最高價格(亦即,前k結果中最貴的項目的價格);為了說明的簡易性,我們假設經由評估一給定數量之fi 's而產生的值全部都是唯一的,然其並非實務上的一項限制(舉例而言,所有的非唯一fi 值可以藉由附加上i之ID而變成唯一)。
主題1:獨立特性。給定一項目組I與一空間預算s,令AllParts為滿足該空間預算的所有分隔組,然後,給定一查詢工作量QW:
證明方式:考慮一分隔PAllParts與一查詢Q=(Preds.Qty,k)QW,令QtylvalQ,i 為P(i)中含有Qty的區間(P(i)'s為非重疊且涵蓋整個數量範圍,因此剛好有一個區間滿足此條件);從演算法1,可知對於一項目i與查詢Q而言,,以及i係一culprit iff,其於含有Qty之區間中的最低價格係低於前k之最高價格。因此,,其僅與P(i)相關(在QtylvalQ.i的定義中),而不與P(j),j≠i相關,這證明了此一主張。
非正式地來說,該特性闡明了針對項目i選擇ㄧ特定區間組之利益與其他項目之區間的選擇無關;因此,可個別解決其他項目的問題,然後再組合這些來產生整體解決方案。利用此資料之演算法的整體複雜度為O(t3 ×|I|+s log|I|+|I|×|QW)|,且其產生之解決方案落於最佳值的係數(s-|I|-2t+1)/(s-|I|)內,(後續將說明,事實上,該演算法的複雜度通常低了許多,特別是對於|I|×|QW|的組成部分而言)。
演算法以兩步驟進行:首先找出最佳方式來選擇各項目之v個區間,其中1v2t+1(要記得t為查詢量觀看之數量,因此有2t個可能分離點,一個在各查詢數量前,一個在各查詢數量後,因而最多有2t+1個區間);然後藉由 選擇vl,v2,....v|l|來找出使v1+v2+...+v|I|s之全域性最佳值,且選擇項目i之vi個區間係提供全域性最佳分隔。
如第六圖所示,其提供了一種用於產生廣告清單的方法100,該方法100係於廣告引擎接收查詢之前即以預計算模式步驟加以執行。舉例而言,方法100係於執行於一項目之條目與其相關的廣告資訊及標價規則。方法100從方塊102開始,並進行到方塊104;在方塊104中,廣告引擎識別一項目之區間;在方塊106中,該廣告引擎確定是否已經針對各項目識別區間,如果為針對各項目識別區間,則該方法經由108進行到方塊110,在方塊110中,於該方法中增加項目,而迴圈返回方塊104;然而,若已經針對各項目識別區間,則該方法係經由112而進行到方塊114,在方塊114中,係根據空間限制來組合區間,因此可針對各項目選擇區間數以產生最大利益及/或最低變動成本。在方塊116中,該方法100結束。
現參照第七圖,其提供了一種用於識別各項目之區間的方法200。該方法係於方塊202中開始,並進行到方塊204;在方塊204中,區間數係設定為1,在方塊206中,廣告引擎決定所給定之區間數的最佳分離點,分離點的決定係可產生最大利益,例如最小數目的culprits。在方塊208中,廣告引擎決定各區間之最低單位價格;廣告引擎也同時決定當前區間數之利益,如方塊210所示。到方塊212時,廣告引擎決定該區間數是否等於最大區間數;若該區間數不等於最大區間數,則該方法經由214進行到方塊216。在方塊216中,係於方法中增加區間數,然後迴圈返回方塊206。
現參照第八圖,其提供了一種根據空間限制來組合區 間的方法300。方法300開始於方塊302並進行到方塊304。在方塊304中,廣告引擎平滑了區間利益表中的條目;然應注意到平滑利益資料及其他選擇性步驟係可執行或可不執行。在方塊306中,廣告引擎根據空間限制決定可用區間數,接著選擇所有項目間的一組最高利益區間,使所選擇的該組區間與可用區間數相等,該方法300旋即結束,如方塊310所示。
現參照第九圖,提供了一種用於產生一廣告清單的方法400,該方法400係以查詢時間處理模式進行。方法400起始於方塊402並進行到方塊404;在方塊404中,存取第一項目;在方塊406中,廣告引擎確定該項目是否與查詢條件相配,若該項目與查詢條件不相配,則該方法400沿線424進行到方塊426;若該項目與查詢條件相配,則該方法沿線408進行到方塊410。在方塊410中,廣告引擎決定與所選擇之數量相配之區間的最低單位價格是否低於清單上與該等項目相關的價格,若與所選擇之數量相配之區間的最低單位價格未低於清單上與該等項目相關的價格,則該方法400沿線424進行到方塊426;若與所選擇之數量相配之區間的最低單位價格低於清單上與該等項目相關的價格,則該方法沿線412進行到方塊414。在方塊414中,廣告引擎根據查詢所提供的數量參數之促銷規則來計算實際價格。在方塊416中,廣告引擎確定該實際價格是否低於與清單中項目相關的價格;若該實際價格未低於與清單中項目相關之價格,該方法即沿線424進行到方塊426;若該實際價格低於與清單中項目相關的價格,則該方法400沿線418進行到方塊420。在方塊420中,廣告引擎將該項目加至清單,然後廣告引擎丟棄清單 中最高標價之項目,如方塊422所示。該方法沿線424進行至方塊426,其中該項目係增加至下一項目中。在方塊428中,廣告引擎確定目前項目是否為欲分析的最後項目;如果目前項目並非欲分析之最後項目,則該方法沿線430進行至方法400中的方塊404,如上所述。若目前項目是欲分析的最後項目,則方法沿線432進行至方塊434。在方塊434中,廣告引擎根據項目清單產生廣告清單,然後該方法結束,如方塊436所示。
現將更詳細說明這些步驟。第一步驟可以使用動態編程來有效解決,而第二步驟可使用背包問題的變數來解決。
目前的問題是欲針對各項目i找出最佳方式來選擇1個區間、2個區間、...、2t+1個區間。在此,最佳方式是代表將變動成本vci 降至最低。為了解決此一問題,利用查詢工作量來產生Culprits表,Culprits表有三行:Itemid(項目ID)、Quantity(數量)與MaxTop-kPrice,且其含有下列行組:
其中P0 係分隔,在該分隔中各項目被指定一個涵蓋其整體數量範圍的區間。顯然,Culprits表針對各查詢的各culprit都有一列,其含有culprit的項目ID、查詢數量及該查詢的前k結果的最高價格。表4顯示了針對不同數量值與查詢的示例性Culprits表。
注意並不需要額外的處理來產生Culprits表,其可於正常的查詢處理期間藉由使用P0 分隔來初始執行PS方式、並記錄各culprit之資訊而輕易產生。
給定Culprits表,我們可針對項目i之一給定選擇間隔來決定vci 值。以下說明如何進行:以第四圖所示之f4 與區間來考慮與表1中項目ID為4對應的項目,該圖可藉由選擇Culprits表中與項目ID為4的對應列、並將這些列中的每一列都繪製為圖上的一點而擴增,其中一列的x軸是其數量,而y軸為MaxTop-kPrice,這些點中每一點都代表一個可能culprit。第十圖顯示由繪製Culprits表中項目ID為4而加以擴增之第四圖(x軸的尺度已被輕微調整以清楚看見繪製點)。現在,假設項目4被分為區間[1,3]、[4,5]、[6,1];針對每一區間繪製出代表該區間中的最小值的線。舉例而言,對於區間[6,1]而言,最低值線(MVL,“Minimum Value Line”)502係以價格為100繪製。在此例中,剛好有兩個點(亦即可能culprits)落在該線與第十圖之函數圖形之間。對於區間[4,5]而言,MVL係以價格為135繪製,且我們可見所有七個點(亦即可能culprits)都位於這條線下方;最後,[1,3]之MVL係發生於價格100,且沒有點為於其上。一般而言,出現在這些MVLs上的點 的總數恰為vci 的值,此推論背後的顯然事實是,若針對項目i選擇一特定區間組,當i的相關區間的最低價格低於一查詢Q的最大前k價格時,則i可以僅為查詢Q之culprit(否則,i會在被處理之前即被PI演算法排除)。因此,只有在區間之MVL上方的點會影響vci
要記得vci 的值應針對一給定區間數v而降至最低,因此在繪製項目中,應選擇v個間隔而使在MVLs上方的點數量減到最小。由於此問題容易被視為最大化問題,我們可等同地將此問題視為使位於MVLs下方的點數量最大化;因此,可將各區間之利益簡單定義為位於其MVL下方的點數量,然後可以找出一區間組使得總利益最大化。此外,對於項目i的區間Ival,其利益可定義為:
且項目之最佳利益/可分為v個區間:
給定上述定義,可使用一動態編程演算法來找出最佳區間組的總利益。
演算法2說明了擬編碼,該演算法與用於找出VOPT長條圖之動態編碼演算法類似,其同時也找出一查詢範圍的最佳區間,但是是針對不同的上下文(查詢結果大小錯誤,與我們的情形中的culprits相反)。
演算法係於各項目上執行。初始狀態首先計算每一區間之利益,接著,針對在1與2t+1之間的每一點,演算法都計算對該點所產生之區間的最佳數量。區間的最佳數量是在第5行中計算,作為該點之區間選擇的最大利益。演算法的簡單執行係針對所有項目而進行,其花費時間O(t3×|Table|),其中|Table|是Culprits表的大小,t3產生自演算法的for迴圈,而|Table|是因對Benefiti(lval)函數重複呼叫所產生,其可存取與各呼叫之項目相關的所有列。
關於Culprits表的關鍵現象為,可集合其列以記錄culprits的數量而非個別的每一個culprit。在此例中,各區間之累積利益可於初始狀態中預計算,其使演算法的運算時間在實質上與Culprits表的大小無關,因而其複雜度可降低至O(t3×|I|+|Table|),其一般比O(t3×|Table|)小了許多。
在前文中,說明了如何將一給定項目的區間分為v個部分,以針對任何給定之v,使避免之culprits的數量達到最大。對於第i個項目而言,我們將此數表示為BestBenefiti(v)。注意儲存限制會限制多數之s個項目的使 用,找出v1 +V2 +...+v|l| s以使BestBenefitI (v1 )+...+BestBenefit|l| (v|l| )盡量為大。
在全文中,假設各項目將被分為最多2t+1個部分,對於各i與j而言,追蹤到使用j+1個區間來說明第i個項目比僅使用j個區間有增加之改進,cij 即被用以代表該改進。
cij =BestBenefiti (j+1)-BestBenefiti (j).
注意因總和套疊之故,Cij =BestBenefiti (k+1);因此我們的問題轉為,找出ki+...+k|I| sdiff以使Cij 為最大。(為閱讀簡易,在此部分中定義sdiff=s-|I|。)
一個運算上的實例是,表5含有數個項目與其區間利益;舉例而言,項目ID為4之項目含有序列0、7、2,其代表相較於使用1個區間而言,使用2個區間並未帶來利益;而相較於使用2個區間,使用3個區間提供利益為7,以及相較於使用3個區間,使用4個區間提供利益為2(亦即c41 =0、c42 =7、c43 =2)。為了本例的簡要性,我們假設在I中只有4個項目。
存在一種動態編程演算法來精確解決此問題:繼續上述中sdiff=5的例子,該演算法從項目ID為6的項目中取5、4,從項目7中取8、4,及從項目8中取4;因此,總利益是25,且演算法指示項目4應僅具有1個區間,項目 6與7使用3個區間,而項目8使用2個區間。
雖然該動態編程演算法係以多項式時間加以運算,該方法僅於執行其外部迴圈上花費O(sdiff×|I|)時間。由於sdiff與|I|都非常大,此方法並不切實際,即使是在我們的線外設定。
然而,我們注意到在所有i與所有j<j'時,若cij cij’ ,則利用貪婪演算法便可非常有效地找出絕佳解決方案:簡單找出sdiff最大之cij ,其中若cij =cij’ 且j<j',則不連結cij 。對於每個i,令ki 為最大索引,其可使演算法產生ci ki 。由於對所有j<j'而言,cij cij’ ,因此不難發現演算法必須取ci1 ,ci2 ,...,ci ki ;因此,k1 +...+kN =sdiff,且因具有最大Sdiff值之故,我們也具有最佳總和。舉例而言,若忽略表5中項目ID為4的項目,則對於所有i與所有j<j'而言,cij >cij’ 。因此,若sdiff=5,我們可輕易取出最大的sdiff值,其對應項目6之5、4,項目7之8、4以及最前項目之3。注意,可以非常有效地完成從|I|清單中找出前面的sdiff值;藉由對各清單維持一指標及具有一堆疊型結構,,我們可於O((sdiff+|I|)log |I|)=O(s log |I|)時間中找到前面的sdiff值。
不佳的是,一般cij s將不減少;事實上,由第十圖中產生之表5反映此現象。更具體而言,考慮第十圖中項目ID為4、忽略區間的例子,為了將此項目分為兩個區間,沒有區間分離點之選擇會避免任何culprits(因查詢僅針對數量4、5與7,且這些數量上任一邊的分離都因產生之區間的MVLs仍為100而不提供利益)。因此,在此例中,c41 =0。然而,為了將項目分為3個區間,其可分為第十圖所示之區間,且其避免了7個culprits,因此,c42 =7> c41
因此一般而言,對於所有的I與j<j'而言,皆非cij cij’ 的情況;然而,仍可有效找出對最佳解決方案的良好趨近方式,該方式係“平滑”cij ,以產生在所有i與j<j'時可有c'ij 2c'ij 及其他性質之c'ij 。利用這個技術,可找到的解決方案至少是最佳方案的(sdiff-t)/sdiff倍佳,由於實際上sdiff係大於t數千倍,其說明了趨近之解決方案優於最佳方案的99.9%。
在說明平滑技術時,再次考慮表5中項目ID為4的項目;顯然,7亦為可行,然而先使用0,因此,0、7係以其平均值3.5、3.5加以取代。取0、然後取7恰有助於先取3.5然後再取3.5。接著,將2、4取代為其平均值3、3;一般而言,前序列會舉有最大的平均值,其僅為序列中的第一個項目。接著這些值中每一個都以平均值加以取代,然後於剩餘序列上遞歸重複。由於項目6、7、8已經具有減少之cij ,因此不需再對這些項目進行處理。表6提供了平滑值。
因為有了平滑值c' ij之故,我們可以簡單找出sdiff最大值。當c'ij =c'i’j’ 時,若i<i',則不考慮c'ij ;同時,若i=i',我們在j<j'實不考慮c'ij 。如上所述其可於O(s log |I|)時間中完成。
為了說明,現考慮實例之sdiff=8,該堆積係以值3.5、5、8、3開始(花費O(|I| log |I|)之時間),並對各項目的清單中之第一元素保持一指示。從O(lg |I|)時間中的堆積擷取最大值8,並針對項目7更新該指示以指向其清單中的第二元素。然後,將此值(在此例中為4)加至堆積中。重複此步驟,擷取最大值(現為5)並更新項目6之指標以指向其清單中的第二個項目。此值4係加至堆疊中。在第三次重複時,擷取4並插入1(項目6之清單中的第三項);接著擷取4、4、3.5、3.5與3。因此,所擷取出的平滑值包括了8、5、4、4、4、3.5、3.5、3,其分別對應至原始值8、5、4、4、4、0、7、2;注意平滑值的和3.5+3.5恰等於原始值0+7,然而,所擷取之最後平滑值3係對應於2。一般而言,大部分最後的2t+1個值(其皆來自相同項目)將超出原始值之估算;因此,在將c'ij轉譯回原始cij 時,利用這些平滑值而獲得之總效益係至少為最佳值的(sdiff-2t+1)/sdiff。
為求完整,提供一平滑演算法之概要;為求易讀性,標註
基本上,演算法開始於cij ,並尋求以得知是否有任何後續的cij '可以增加中間值cik 的平均值(其中jk<j')。由此可知,該演算法具有O(t2 )之複雜度。
尋找一接近最佳分隔的整體複雜度在於處理查詢工作量的複雜度總和加上產生個別項目之區間的複雜度,再加上找出項目間之區間最佳組合的複雜度;如前已述,處理查詢工作量耗費大部分的O(|I|×|QW|)時間,然其實際上係記錄值的大小,然一般皆小得多。為找出各項目之最佳分隔的運行時間係所有項目上O(t3×|I|)的總和(忽略處 理Culprits表的成本,因其已小計於查詢工作量的處理時間中)。用於找出時間上接近最佳區間組合的運行時間為O(s log |I|),而平滑則花費O(t2 ×|I|)。因此,整體複雜度是O(t3 ×|I|+s log |I|+|I|×|QW|)。
提出的新穎技術係用以評估資料項目上的前k查詢,其分數係利用函數來加以動態計算;這些函數可為應用至不同項目數量的促銷規則,而所應用的技術係依預計算每一項目之適當數量區間而定,並用這些技術來修減未達前k結果的項目。試驗顯示使用數量區間之查詢評估係可隨項目數與功能而調整大小,且其優於簡易方式達數個等級。
雖然上述實例係與購買行動電話有關,然該演算法亦可用於訂旅館房間或完全不同的應用(如搜尋交通路徑),因此,線上地圖會藉由預測壅塞度來對路徑排序,其中壅塞分數是一天被查詢的時間的函數;在購物的例子中,購買之項目的數量係與一天時間相應,因此壅塞分數係一查詢相關之評分關係,使用目標與來源地址來找出兩地址間之前k個最不壅塞的路徑之清單。一天中特定時間的壅塞係由規則加以估計,例如:“在下午三點時,離Palo Alto半徑10哩處之280號高速公路上的壅塞等級為高”;另外,甚至可從過去的交通資料來推演規則。類似於行動電話的價格,壅塞等級並非定值,而是一天中時間的函數,其中一天中時間可表示為區間。
在其他實施例中,可架構專用硬體實施方式來實施此處說明之一或多種方法,例如專用積體電路、可編程邏輯陣列與其他硬體裝置。含有多種實施例之設備與系統的應用可廣泛包括各種電子與電腦系統;此處說明之一或多種 實施例係使用兩個以上的特定互連硬體模組或裝置來實施功能,其具有可於模組間通訊之相關控制與資料訊號、或成為專用積體電路的一部份。因此,本發明涵蓋了軟體、韌體與硬體實施方式。
根據本說明書中的各種實施例,此處說明之方法可藉由可由電腦系統執行之軟體程式而實施;另外,在一實例、非限制之實施例中,實施方式包括了分散式處理、組件/物件分散式處理、以及平行處理;或者是,也可架構虛擬電腦系統處理程序來實施此處說明的一或多種方法或功能。
另外,本文中所說明之方法係可體現於一電腦可讀取媒體中。用語“電腦可讀取媒體”包括單一媒體或多重媒體,例如集中式或分散式資料庫、及/或相關之高速緩衝儲存器與儲存一或多組指示的伺服器;用語“電腦可讀取媒體”也包括可以儲存、編碼或運載一組指示以供處理器執行、或使電腦系統執行本文所揭露之一或多種方法或操作的任何媒體。
熟習本領域技術人士可知上述說明係用以說明本發明原理之用,此說明並非用於限制本發明之範疇或應用,本發明容許在不背離發明精神下進行如下述申請專利範圍中所定義之修飾、變化與調整。
10‧‧‧系統
12‧‧‧查詢引擎
14‧‧‧文字搜尋引擎
16‧‧‧廣告引擎
18‧‧‧使用者系統
20‧‧‧文字查詢
22‧‧‧線
24‧‧‧索引模組
26‧‧‧資料模組
28‧‧‧文字搜尋結果
30‧‧‧文字轉譯查詢
32‧‧‧索引模組
34‧‧‧資料模組
36‧‧‧廣告者搜尋結果
38‧‧‧廣告者系統
40‧‧‧廣告文字
42‧‧‧出價
44‧‧‧清單
46‧‧‧規則
50‧‧‧線
52‧‧‧線
54‧‧‧線
60‧‧‧查詢處理模組
62‧‧‧區間產生模組
64‧‧‧工作量處理模組
66‧‧‧區間表
68‧‧‧索引
70‧‧‧索引
72‧‧‧項目表
74‧‧‧Culprit記錄表
100‧‧‧方法
200‧‧‧方法
300‧‧‧方法
400‧‧‧方法
418‧‧‧線
424‧‧‧線
第一圖係用於產生一廣告清單之系統的示意圖;第二圖係一說明訂價規則之圖表;第三圖係一說明另一訂價規則之圖表;第四圖係一說明第二圖與第三圖之訂價規則的組合 之圖表;第五圖係一流程圖,說明用於產生一項目清單的方法;第六圖係一流程圖,說明用於確定數量區間的方法;第七圖係一流程圖,說明用於組合不同項目之區間的方法;第八圖係一流程圖,說明根據查詢產生一廣告清單的方法;第九圖係一比例積分演算法之示意圖;以及第十圖係一說明culprits之圖表。
12‧‧‧查詢引擎
14‧‧‧文字搜尋引擎
16‧‧‧廣告引擎
18‧‧‧使用者系統
20‧‧‧文字查詢
22‧‧‧線
24‧‧‧索引模組
26‧‧‧資料模組
28‧‧‧文字搜尋結果
30‧‧‧轉譯查詢
32‧‧‧索引模組
34‧‧‧資料模組
36‧‧‧廣告搜尋結果
38‧‧‧廣告者系統
40‧‧‧廣告文字
42‧‧‧出價
44‧‧‧清單
46‧‧‧規則

Claims (24)

  1. 一種用於產生一廣告清單以向一使用者顯示的方法,該方法包括下列步驟:提供一項目清單;針對各項目提供至少一數量相關標價規則;由一處理器識別使變動時間成本減至最低的各項目之區間數;由該處理器根據一空間限制來組合各項目之該等區間。
  2. 如申請專利範圍第1項之方法,其中識別各項目之區間數包括編製一區間至一最大數量之區間的索引,決定一利益分數以增加各附加區間,並儲存各利益分數。
  3. 如申請專利範圍第1項之方法,其中根據一空間限制來組合各項目之該等區間包括平滑各區間之複數個利益分數。
  4. 如申請專利範圍第1項之方法,其中根據一空間限制來組合各項目之該等區間包括根據該空間限制決定一可用區間數,並選擇所有項目間之一組最高利益區間,其與該可用區間數相同。
  5. 如申請專利範圍第1項之方法,其中步驟:提供一項目清單;針對各項目提供至少一標價規則;識別使變動時間成本減至最低的各項目之區間數;以及根據該空間限制來組合各項目之該等區間;係於一預處理步驟中執行。
  6. 如申請專利範圍第1項之方法,更包括該等步驟:接收包括一數量參數之一查詢;對複數項目之各項目編製索引;確定與數量項對應之一區間之該最低價格是否低於一前k個清單中一清單項目相關的一價格,其中k為一正值;將該項目增加至該前k個清單;移除具有一最高相關價格之清單項目。
  7. 如申請專利範圍第1項之方法,更包括該等步驟:在確定與一數量參數相關之區間之最低單位價格低於與一前k個清單中一清單項目相關之價格後,將該項目添加至該前k個清單,其中k為一正值;移除具有最高價格之清單項目。
  8. 如申請專利範圍第1項之方法,更包括該等步驟:計算該項目之一實際價格;在確定與一數量參數相關之該區間之該實際單位價格低於與一前k個清單中一清單項目相關之該價格後,將該項目添加至該前k個清單,其中k為一正值;移除具有最高價格之清單項目。
  9. 一種用於產生廣告以對一使用者顯示之系統,該系統包括:一查詢引擎,其係配置以接收該使用者之一查詢,該查詢引擎係配置以識別一數量參數;以及一廣告選擇引擎,其與該查詢引擎通訊,且其係配置以接收包括該數量參數之該查詢,該廣告選擇引擎具有一預計算模組與一查詢時間模組; 該預計算模組係配置以計算複數項目中各項目之區間,使各項目之變動成本減至最低,並根據一空間限制來組合各項目之該等區間;該查詢時間模組係配置以編制該等複數項目中各項目之索引,並在確定與各項目相關之一價格低於與一清單中各項目相關之價格時將各項目添加至該清單。
  10. 如申請專利範圍第9項之系統,其中該廣告選擇引擎係配置以編製從一區間至一最大數量之區間的索引,計算一利益分數以添加各附加區間,以及儲存各利益分數。
  11. 如申請專利範圍第9項之系統,其中該廣告選擇引擎係配置以平滑各區間之複數個利益分數。
  12. 如申請專利範圍第9項之系統,其中該廣告選擇引擎係配置以根據該空間限制計算一可用區間數,並於所有項目間選擇一組最高利益區間,其與該可用區間數相同。
  13. 一種儲存有可由一編程處理器執行之指令的電腦可讀取儲存媒體,其用以更新一廣告之出價,在該儲存媒體的該指令包括:提供一項目清單;針對各項目提供至少一標價規則;由一處理器識別使變動時間成本減至最低的各項目之區間數;由該處理器根據一空間限制來組合各項目之區間。
  14. 如申請專利範圍第13項之電腦可讀取儲存媒體,其 中識別各項目之區間數包括編製一區間至一最大數量之區間的索引,決定一利益分數以增加各附加區間,並儲存各利益分數。
  15. 如申請專利範圍第13項之電腦可讀取儲存媒體,其中根據一空間限制來組合各項目之該等區間包括平滑各區間之複數個利益分數。
  16. 如申請專利範圍第13項之電腦可讀取儲存媒體,其中根據一空間限制來組合各項目之該等區間包括根據該空間限制決定一可用區間數,並選擇所有項目間之一組最高利益區間,其與該可用區間數相同。
  17. 如申請專利範圍第13項之電腦可讀取儲存媒體,其中下列步驟:提供一項目清單;針對各項目提供至少一標價規則;識別使變動時間成本減至最低的各項目之區間;以及根據該空間限制來組合各項目之區間;係於一預處理步驟中執行。
  18. 如申請專利範圍第13項之電腦可讀取儲存媒體,更包括下列步驟:接收包括一數量參數之一查詢;對複數項目之各項目編製索引;確定與數量項對應之一區間之該最低價格是否低於一前k個清單中與一清單項目相關的一價格;將該項目增加至該前k個清單,其中k為一正值;移除具有一最高相關價格之清單項目。
  19. 如申請專利範圍第13項所述之電腦可讀取儲存媒體,更包括下列步驟:在確定與一數量參數相關之該區間之最低單位價格低於與一前k個清單中一清單項目相關之價格後,將該項目添加至該前k個清單,其中k為一正值;移除具有最高價格之清單項目。
  20. 如申請專利範圍第13項所述之電腦可讀取儲存媒體,更包括下列步驟:計算該項目之一實際價格;在確定與一數量參數相關之該區間之實際單位價格低於與一前k個清單中一清單項目相關之價格後,將該項目添加至該前k個清單,其中k為一正值;移除具有最高價格之該清單項目。
  21. 一種用於產生一排序清單以向一使用者顯示的方法,該方法包括該等步驟:提供一項目清單;針對各項目提供至少一查詢相關評分關係;由一處理器識別使變動時間成本減至最低的各項目之區間數;由該處理器根據一空間限制來組合各項目之區間。
  22. 如申請專利範圍第21項之方法,其中識別各項目之區間數包括編製一區間至一最大數量之區間的索引,決定一利益分數以增加各附加區間,並儲存各利益分數。
  23. 如申請專利範圍第21項之方法,其中根據一空間限制來組合各項目之區間包括平滑各區間之複數個利 益分數。
  24. 如申請專利範圍第21項之方法,其中根據一空間限制來組合各項目之區間包括根據該空間限制決定一可用區間數,並選擇所有項目間之一組最高利益區間,其與該可用區間數相同。
TW097112794A 2007-04-12 2008-04-09 產生排序清單的方法與系統 TWI387931B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/734,300 US20080256037A1 (en) 2007-04-12 2007-04-12 Method and system for generating an ordered list

Publications (2)

Publication Number Publication Date
TW200907841A TW200907841A (en) 2009-02-16
TWI387931B true TWI387931B (zh) 2013-03-01

Family

ID=39854663

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097112794A TWI387931B (zh) 2007-04-12 2008-04-09 產生排序清單的方法與系統

Country Status (3)

Country Link
US (1) US20080256037A1 (zh)
TW (1) TWI387931B (zh)
WO (1) WO2008127872A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287015A1 (en) * 2009-05-11 2010-11-11 Grace Au Method for determining the cost of evaluating conditions
US10108649B2 (en) 2014-02-25 2018-10-23 Internatonal Business Machines Corporation Early exit from table scans of loosely ordered and/or grouped relations using nearly ordered maps
US10475072B2 (en) * 2014-04-22 2019-11-12 Transform Sr Brands Llc System and method for providing dynamic product offerings
US10482520B2 (en) * 2016-02-11 2019-11-19 Hipmunk, Inc. Recommending outgoing values based on incoming values

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644723A (en) * 1989-05-01 1997-07-01 Credit Verification Corporation Method and system for selective incentive point-of-sale marketing in response to customer shopping histories
US6269361B1 (en) * 1999-05-28 2001-07-31 Goto.Com System and method for influencing a position on a search result list generated by a computer network search engine
US7225182B2 (en) * 1999-05-28 2007-05-29 Overture Services, Inc. Recommending search terms using collaborative filtering and web spidering
US7231358B2 (en) * 1999-05-28 2007-06-12 Overture Services, Inc. Automatic flight management in an online marketplace
US8751272B1 (en) * 1999-07-20 2014-06-10 Expedia, Inc. Fare compare—a system for collecting and displaying price information
US20060229930A9 (en) * 1999-11-15 2006-10-12 Gottfurcht Elliot A Method to generate advertising revenue based on time and location
JP2001142972A (ja) * 1999-11-17 2001-05-25 Omron Corp 価格決定方法,商品情報比較表示方法及び商品情報比較表示システム
US7031932B1 (en) * 1999-11-22 2006-04-18 Aquantive, Inc. Dynamically optimizing the presentation of advertising messages
US7660734B1 (en) * 2000-12-20 2010-02-09 Demandtec, Inc. System for creating optimized promotion event calendar
US6714929B1 (en) * 2001-04-13 2004-03-30 Auguri Corporation Weighted preference data search system and method
US20030101126A1 (en) * 2001-11-13 2003-05-29 Cheung Dominic Dough-Ming Position bidding in a pay for placement database search system
US7480628B2 (en) * 2002-01-29 2009-01-20 Netcomponents, Inc. Smart multi-search method and system
AU2003268374A1 (en) * 2002-08-30 2004-03-19 Findwhat Com System and method for pay for performance advertising employing multiple sets of advertisement listings
JP2004213470A (ja) * 2003-01-07 2004-07-29 Nec Corp ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
US7363302B2 (en) * 2003-06-30 2008-04-22 Googole, Inc. Promoting and/or demoting an advertisement from an advertising spot of one type to an advertising spot of another type
US8650079B2 (en) * 2004-02-27 2014-02-11 Accenture Global Services Limited Promotion planning system
KR100481141B1 (ko) * 2004-04-17 2005-04-07 엔에이치엔(주) 소정의 검색 요청에 의해 검색 목록순을 추출하는 검색어광고 제공 시스템 및 검색어 광고 제공 방법
US7734503B2 (en) * 2004-09-29 2010-06-08 Google, Inc. Managing on-line advertising using metrics such as return on investment and/or profit
WO2006096873A1 (en) * 2005-03-09 2006-09-14 Medio Systems, Inc. Method and system of bidding for advertisement placement on computing devices
US20070023730A1 (en) * 2005-07-27 2007-02-01 Honeywell International Inc. Hydrofluorocarbon refrigerant compositions
US20070118392A1 (en) * 2005-10-28 2007-05-24 Richard Zinn Classification and Management of Keywords across Multiple Campaigns
WO2007081681A2 (en) * 2006-01-03 2007-07-19 Textdigger, Inc. Search system with query refinement and search method
US8069182B2 (en) * 2006-04-24 2011-11-29 Working Research, Inc. Relevancy-based domain classification
US7542970B2 (en) * 2006-05-11 2009-06-02 International Business Machines Corporation System and method for selecting a sub-domain for a specified domain of the web
US8082175B2 (en) * 2006-08-24 2011-12-20 Sap Ag System and method for optimization of a promotion plan
US9817902B2 (en) * 2006-10-27 2017-11-14 Netseer Acquisition, Inc. Methods and apparatus for matching relevant content to user intention
US20080126191A1 (en) * 2006-11-08 2008-05-29 Richard Schiavi System and method for tagging, searching for, and presenting items contained within video media assets

Also Published As

Publication number Publication date
WO2008127872A1 (en) 2008-10-23
TW200907841A (en) 2009-02-16
US20080256037A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
CN106600302A (zh) 基于Hadoop的商品推荐系统
Ge et al. Cost-aware travel tour recommendation
US8407104B2 (en) Catalog based price search
CN111444395B (zh) 获取实体间关系表达的方法、系统和设备、广告召回系统
US8190556B2 (en) Intellegent data search engine
US20090198671A1 (en) System and method for generating subphrase queries
US8655737B1 (en) Brand name synonymy
US20100325126A1 (en) Recommendation based on low-rank approximation
KR101963817B1 (ko) 키워드 검색량 기반 예측 정보 생성 장치 및 방법
CN106844407A (zh) 基于数据集相关性的标签网络产生方法和系统
US8793201B1 (en) System and method for seeding rule-based machine learning models
CN102156747B (zh) 一种引入社会化标签的协作过滤评分预测方法及装置
TWI387931B (zh) 產生排序清單的方法與系統
Zheng et al. Graph-convolved factorization machines for personalized recommendation
Apichottanakul et al. Customer behaviour analysis based on buying-data sparsity for multi-category products in pork industry: A hybrid approach
Jiang et al. Intertemporal pricing via nonparametric estimation: Integrating reference effects and consumer heterogeneity
US8577814B1 (en) System and method for genetic creation of a rule set for duplicate detection
Guo et al. Price-aware enhanced dynamic recommendation based on deep learning
Wu et al. Using the mathematical model on precision marketing with online transaction data computing
CN106156294A (zh) 一种快速查找关联数据的方法
Lenz et al. Real-time session-based recommendations using LSTM with neural embeddings
CN115423555A (zh) 一种商品推荐方法、装置、电子设备及存储介质
Calders et al. Machine Learning and Knowledge Discovery in Databases: European Conference, ECML PKDD 2014, Nancy, France, September 15-19, 2014. Proceedings, Part I
Hernández-Rodríguez et al. A recommender system applied to the indirect materials selection process (RS-IMSP) for producing automobile spare parts
CN111460300A (zh) 网络内容推送方法、装置及存储介质

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees