999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

新型海淘購物比價引擎方案設計

2016-12-15 02:47:14馬龍飛
軟件 2016年11期
關鍵詞:引擎頁面數據庫

馬龍飛

(北京郵電大學網絡技術研究院寬帶網研究中心,北京 100876)

新型海淘購物比價引擎方案設計

馬龍飛

(北京郵電大學網絡技術研究院寬帶網研究中心,北京 100876)

海淘在經過最近幾年的發展,已經成為很多中國消費者的購物方式之一。除了商家選擇、商品購買、商品轉運外,消費者最看重的環節之一便是價格比對。但是,目前大多數比價引擎僅支持英文或中文表述的網站,極少可以把對應的跨境商品進行價格比較。因此,本文提出一種能進行國內外相同商品比價的方案,通過以美中兩國Amazon購物網站進行比價搜索,實現更好的比價效果。系統會結合翻譯模塊,能夠讓用戶用中文或英文進行商品搜索。在收到用戶搜索請求之后,會優先審查本地數據庫是否包含用戶之前的搜索記錄,如果有則反饋本地記錄,如果沒有則實時抓取美中兩國Amazon相應商品信息。另外,雖然很多比價引擎能夠識別中文搜索,但識別精準度和范圍都不是很好。為了提高搜索精度,系統將網上翻譯API和本地電商詞匯中英對照表結合,對用戶輸入的中英文進行實時翻譯。為減少商業利益影響,不同于Amazon原始的商品排序,系統在Amazon原始排序算法基礎上,對排序做了改進來實現關鍵字的排序優化。

計算機應用技術;海淘;在線比價;中英文搜索;排序優化

本文著錄格式:馬龍飛. 新型海淘購物比價引擎方案設計[J]. 軟件,2016,37(11):73-83

0 引言

近年來,新的跨境電商模式——海淘的蓬勃發展,為消費者帶來了新的購物體驗。消費者可以在海淘網站上購買特定商品,并由轉運公司將其寄回國內。

但是,海外商品是否真的比國內便宜很多,不同國家銷售的商品其屬性是否一致,導致消費者不免要做國內外商品的比較。在這種情況下,消費者面臨三個問題:

1. 消費者必須在各種國內外購物網站中搜索相應的商品,記錄商品價格,重復操作,浪費大量時間;

2. 海外電商網站對中文識別性差,通過測試,美國Amazon只能識別一小部分用中文描述的品牌。消費者最好在海外網站上輸入商品相應的英文名稱,以確保搜索的準確性,但這對英語不好的人來說很不方便;

3. 雖然現有比價服務相對成熟,但大多數都只關注自己國家的商品。此外,他們無法滿足多語言搜索需求。這種比價引擎在跨境比價方面具有低適應性,特別是對海淘。

為解決這些問題,需要一種能夠提供實時比價,支持中英文輸入和簡化操作過程的系統。以美中兩國Amazon購物網站比價為例,本文提出一種新型海淘購物比價引擎的設計方案,該系統由幾個核心功能組成:

1. 允許英語和中文輸入,甚至混合搜索輸入,并提供類別選項;

2. 按匹配度、價格或商品品牌排序,支持用戶過濾美國Amazon和中國Amazon的商品;

3. 向用戶展示每個商品的名稱、屬性、圖片、當前和歷史價格等信息;

4. 定期插入和更新數據庫中的所有美國Amazon和中國Amazon商品信息,這有助于提取有用的歷史數據,以便進行歷史價格比較。

1 方案設計

1.1 系統設計

系統流程由兩個過程組成,一個是接收用戶輸入并返回搜索結果,另一個是周期性過程,從數據庫中讀取用戶歷史記錄,并插入和更新數據庫中的信息。

1.1.1 系統流程圖

如圖1所示,左側是用戶搜索,負責與瀏覽器和用戶輸入交互;右側的數據更新是定期更新系統后臺的信息。

圖1 系統流程圖

1. 用戶搜索

· 接收用戶輸入

當消費者想要比較特定商品時,會輸入商品名稱、品牌或其他屬性用于搜索。瀏覽器搜索欄允許用戶輸入信息,用戶點擊搜索按鈕后,服務器將接收來自瀏覽器的用戶請求。

· 確定用戶輸入是否已存在于本地數據庫中

在接收到用戶輸入后,服務器將檢查本地數據庫是否包含此歷史搜索記錄。如果是,服務器向數據庫發送請求并等待信息返回;如果沒有,服務器將做實時信息爬取。

· 實時信息從兩個Amazon爬取

由于數據庫不包含相關的搜索輸入,服務器必須向兩個Amazon發送新的請求以抓取商品信息。該過程涉及DOM樹過濾不相關信息并提取商品信息的技術。

· 將新的用戶輸入和商品信息保存到數據庫

當用戶輸入是新的時,服務器將該特定用戶輸入與從Amazon爬取到數據庫的相應商品信息綁定。同時,Amazon中每個商品的初始排序也將保存。

· 從數據庫提取商品信息,并返回給用戶

如果數據庫包含用戶輸入,它將返回所有匹配的商品信息到服務器。然后服務器將這些信息插入到HTML模板并渲染一個頁面來向用戶顯示結果。

2. 數據更新

讀取保存在數據庫中的歷史用戶輸入

系統先讀取數據庫中包含的所有用戶搜索記錄的文檔列表。然后這些歷史數據將被視為搜索請求,分別發送給美中Amazon用于信息爬取。

· 從Amazon抓取新商品和現有商品的最新價格

根據歷史搜索記錄,服務器將從美國Amazon和中國Amazon遍歷信息。這個過程旨在獲得在Amazon銷售的新商品和保存在數據庫中的商品最新價格。

· 更新數據庫商品信息

現有商品和新商品的價格等信息將添加到數據庫中。

1.1.2 系統流程圖

如圖2所示,左側系統設計的整個框架取決于MVC架構。M-Model,在價格引擎中,數據庫存儲可以被商品搜索模塊訪問的商品對象。V-View,結果反饋模塊包含渲染模板引擎。項目應用EJS模板引擎做頁面呈現,它將數據和頁面模板作為輸入,然后生成HTML頁面,由瀏覽器再解析。C-Controller,路由控制器將根據用戶請求將過程引導到特定路由。

在框架的右邊是Web爬取模塊和信息提取模塊。Web爬取模塊負責從美國Amazon和中國Amazon抓取商品信息。之后,獲取的數據將被發送到信息提取模塊進行信息過濾、提取和結構化。最后,所有有用和處理過的信息被保存到數據庫中。

圖2 系統架構圖

中間的是數據庫。一方面,當用戶的輸入已經記錄在數據庫中時,商品搜索模塊直接從數據庫中提取商品信息;另一方面,數據庫維護商品信息,更新的商品數據會被添加到數據庫中。存儲在數據庫中的數據類型為JSON。

助手組件幫助一些模塊實現特定功能,這也是價格引擎的新穎性之一。

1.2 系統模塊和組件

1.2.1 中英翻譯模塊

在美國Amazon,如果只輸入中文的一些品牌,美國Amazon能夠識別他們,但如果輸入更多的單詞,美國亞馬遜無法識別輸入。

如圖3進行美國Amazon中文單詞識別測試。首先輸入全中文“華碩筆記本”,Amazon返回通知——您的搜索沒有匹配任何商品。然后輸入“華碩notebook”,美國Amazon成功完成搜索請求。總之,美國Amazon只能支持一些品牌翻譯,不能處理更長的句子翻譯。此外,用戶通常使用中文和英文的混合搜索,如“Samsung手機”、“蘋果MacBook Air”等,這對翻譯帶來了更多的挑戰。

為了提高搜索效果,本文采用的翻譯機制基本原理如下:

1. 從用戶輸入中分離中文和英文,并且僅對中文序列進行中文分割,以便生成具有語義的分割單詞列表;[1]

2. 如果用戶的輸入包含專門的詞,則本地詞匯表將優先翻譯它,如果單詞不匹配本地專用表中的任何信息,在線翻譯服務將接管并完成其余的翻譯工作;

3. 在完成整個輸入翻譯之后,處理后的用戶輸入將被發送以進行搜索。[2]

圖3 美國Amazon中文識別測試

1.2.2 商品搜索模塊

· 商品排名優化算法

出于商業利益考慮,當用戶搜索一些特定的商品,一些不太相關的商品會被商家置頂。如圖4測試中輸入“HTC One S”,搜索結果顯示第三個商品“HTC One X”排在包含“HTC One S”關鍵字的第五和第六個商品之前。顯然這不符合消費者的檢索目的。

圖4 商品排名測試

在這種情況下,基于美國Amazon的初始排名算法,本文嘗試設置匹配度作為排名索引。如果商品名稱包含用戶輸入,則索引將增加,反之亦然。

第一步,系統將過濾掉那些不相關的標點符號,并根據特定的標點符號分割整個用戶輸入。然后系統確定用戶輸入是否包括在一個商品名稱中。如圖5,e是一個商品的排名指數,searchingNameArr是已經被分段的用戶輸入的數組,然后對于循環將做匹配確定。如果商品名稱包含用戶輸入的第i個單詞,則排名索引分配為0,否則e將減去某個數。

圖5 分段輸入的偽代碼和輸入存在的確定

第二步,系統將為用戶輸入中的每個分段字分配不同的權重。對于用戶輸入,單詞排名更高,則單詞將獲得更大的權重。例如,用戶的輸入是“三星Galaxy S7”,則“三星”可以獲得比“Galaxy” 更大的權重,等等。

圖6 將不同權重分配給不同輸入的偽代碼

第三步,系統確定每個分段輸入是否是商品名稱中的獨立詞。如果是,排名指數將增加(獨立意味著這個詞不被其他不相關的詞包裹或鏈接)。例如,用戶輸入中的“S”分割詞和“HTC ONE S320”是特定商品名稱。在這種情況下,“S”在商品名稱中不是獨立的,因為它后面跟著“320”,并且“ONE”、“HTC”是獨立詞。

更重要的是,用戶輸入有時存在于商品屬性中,所以需要額外做屬性和用戶輸入之間的匹配,這也影響最后的排名指數。

圖7 確定獨立詞的偽代碼

如果在中國Amazon,系統必須在第一步做中文分詞。其余的排名指數比較與美國Amazon的操作相同。

1.2.3 網站爬取模塊

網站傳輸由HTTP協議實現。瀏覽器將根據HTTP規定格式對請求進行編碼,然后將其發送到服務器。接收請求后,服務器將根據相同的格式返回相應的信息到瀏覽器。

在系統中,網站爬取模塊遍歷美國Amazon和中國Amazon的商品信息。通過分析Amazon網址請求,發現像http://www.amazon.cn/s/ref=nb_sb_noss? page=PageNumber&keywords=SearchName這樣的網址請求可以訪問Amazon中具有所需搜索名稱的特定網頁。如圖8所示,在瀏覽器中輸入http://www. amazon.cn/s/ref= nb_sb_noss?page=2&keywords=Samsung,Amazon將直接在第2頁中搜索“三星”。

因此,根據這個規則,從服務器發送特定URL的請求,系統可以在Amazon中廢棄無關商品信息。兩個函數requestUS()和requestCN()分別從美國Amazon和中國Amazon抓取商品列表。

圖8 請求Amazon搜索

在圖8中可以看出,請求Amazon搜索,商品頁面列表不包含商品屬性詳細信息。因此需要進一步抓取屬性,即向Amazon服務器發送另一個URL請求,并獲取每個商品的詳細頁面。

通過分析,PC端Amazon在商品詳細信息頁面中有太多不相關的信息,而一些海淘應用選擇爬取移動端Amazon頁面,會有較少不相關的屬性信息。本文借鑒此方法,通過Amazon移動網頁抓取商品詳細信息,如圖9。由于手機頁面渲染效果較差,也大大提高了系統抓取速度。

與壓縮軟件相同,網頁也采用壓縮技術來加速訪問速度。[3]在系統中,函數requestUS()和requestCN()中添加了支持gzip和deflate的代碼。與沒有壓縮編碼的設計相比,增加了數據爬取速度并提高了系統性能。

1.2.4 信息提取模塊

由于商品信息是結構化數據,因此會在特定模板中顯示。為了獲得有用商品信息,應提取商品模

板。HTML中描述的頁面可以轉換為DOM樹,以便于分析頁面結構和進行遍歷工作。由于美中兩國Amazon的DOM樹幾乎相同,以美國Amazon為例,圖10顯示了美國Amazon的商品列表模板。紅色框中的部分是商品列表的HTML代碼。15個商品信息通過紅色框中的HTML標簽顯示,即表單標簽至

。除了每個商品具有不同圖片和字詞,至幾乎具有相同的結構。

圖9 商品詳細信息頁

圖10 商品列表頁面的HTML

在商品列表頁面中,系統提取數據,包括商品圖片、名稱、價格、品牌并過濾掉不相關的噪音。所以本文抽象一個特定的來生成DOM樹。下圖顯示了的DOM樹,可以看出商品圖像在第三層,名稱在第四層,價格在DOM樹的底層,如圖11所示。

美國Amazon使用美元作為貨幣單位,系統提取商品價格后,通過匯率轉換換算成人民幣。相同的操作可以從商品詳細信息頁面提取商品屬性等其它信息。

1.2.5 其他模塊和組件

· 用戶輸入模塊

這個模塊與視圖進行交互,當用戶在瀏覽器中輸入搜索請求,用戶輸入將通過HTTP協議傳送到用戶輸入模塊,然后該模塊將用戶輸入分配給不同的商品搜索模塊。

· 結果反饋模塊

當從數據庫中找到所有搜索的商品時,結果反饋模塊將使用商品信息呈現相應的EJS模板,EJS將被解析為HTML并顯示在最終的結果頁面。

圖11 result0的DOM樹商品

· 匯率轉換

此組件會從某銀行網站中抓取美元匯率,然后將其保存在文件中。在將美國Amazon商品價格插入數據庫之前,所有價格都從美元兌換成人民幣。在固定的時間間隔后,組件將更新此匯率。

· 數據庫

數據庫負責保存商品信息。在數據庫中構建了四個表:usAmazon,cnAmazon,usSearchedName和cnSearchedName。usAmazon和cnAmazon分別用于存儲美國Amazon和中國Amazon的商品信息。usSearchedName和cnSearchedName保存用戶的歷史搜索輸入,這有助于定期更新信息。

2 測試和效果展示

2.1 中英翻譯輸入支持

與美國Amazon相比,本文設計的系統中英翻譯模塊對支持多語言搜索請求有較好的效果。下圖12是本文系統的頁面,圖13是美國Amazon的頁面。例如,當輸入“華碩筆記本”時,本文系統成功地從美國Amazon搜索到相應的商品,而美國Amazon本身無法完成搜索任務。

事實上,在本文系統中,“華碩筆記本”已被翻譯成“Asus notebook”并被送到美國Amazon進行搜索。如果在美國亞馬遜中輸入“the Asus notebook”,則發現圖14右側的美國Amazon返回了與左側系統相同的結果。

圖12 用戶在本文系統中輸入中文

圖13 美國Amazon用戶輸入中文

與現有價格引擎相比,例如在中國最好的價格引擎之一的Yitao.com,如果嘗試以一淘的“海

淘”模式搜索海外商品,會發現這個價格引擎中顯示的商品主要由采購代理提供,這些代理向消費者提供較少的選擇。為測試,搜索“華碩筆記本”,Yitao.com只顯示8個商品。如果搜索“Asus notebook”,Yitao.com可以找到大約100頁的商品。這意味著Yitao.com也是低水平多語言識別。但是,無論在本文系統中搜索的是“華碩筆記本”還是“Asus notebook”,來自美國Amazon的商品內容都一樣。

圖14 證明翻譯效果

圖15 使用本文系統比較現有價格引擎

通過幾個測試,本文系統、美國Amazon和

Yitao.com之間的翻譯能力和返回商品比較如下:

表1 翻譯能力和返回結果比較

與美國Amazon和現有價格引擎相比,本文系統實現了高度適應性的多語言搜索,彌補了跨境價格引擎的一個不足。

2.2 通過匹配度和價格進行商品分揀

本文系統提供三個商品分類選項——默認、匹配和價格。默認是初始Amazon排序,匹配是應用本文的優化排名算法,價格意味著商品按價格排序。

· 匹配

如圖16所示,當輸入“HTC ONE S”時,比較搜索結果可以看出,一些不太相關(不包含“HTC ONE S”)商品出現在默認Amazon排序的列表中。而本文系統應用優化排名算法,所有顯示均匹配目標商品。這個比較證明本文系統的優化排名算法有很大的效果,過濾掉了很多不相關的商品。

此外,本文系統提供商品品牌和類別過濾選項,如圖17所示。

如果組合匹配與商品品牌和類別過濾,效果會更好。

圖16 使用優化算法排序(左)與Amazon默認排序(右)

圖17 商品品牌和類別過濾

· 價格

在本文系統中選擇“按價格高低”選項時,所有來自國內外的商品根據價格從高到低重新排序,反之亦然,如圖18所示。

2.3 商品詳情查看

現有的購物網站,如Amazon和價格引擎,網頁包含太多不相關的信息,并且肯定會影響用戶對關鍵內容的查看。不同于現有設計風格,本文系統設計了一個頁面來顯示所有的商品細節。頁面樣式應用平展設計,刪除除了商品信息之外的冗余信息。此外,當單擊商品詳細信息和品牌詳細信息按鈕時,可以隱藏商品屬性和商品品牌,如圖19所示。

將本文系統與Amazon和現有價格引擎進行比較,如表2所示。

圖18 按價格排序的商品

圖19 商品詳細信息顯示

表2 Amazon現有價格引擎和本文系統的比較

本文系統可以覆蓋所有功能,并且在個別地方比Amazon和其它價格引擎更好。此外,系統扁平化設計風格與清晰的內容顯示為用戶帶來更好的購物體驗。

3 總結展望

隨著電子商務產業的快速發展,網上購物新模式海淘已進入市場。為支持這種新模式,可以提供跨境商品比價的價格引擎成為一種需求。

然而,現有海外電商網站和比價引擎還存在種種不足,為解決這些問題,本文提出一種新的海淘購物引擎設計方案,支持中文和英文搜索輸入并提供類別選項,基于Amazon重新優化了排名算法,以提高商品匹配度,并允許根據匹配度和價格對商品進行排序。本文系統可以在頁面中向用戶顯示每個商品的名稱、屬性、圖像、當前價格、歷史價格等,并且能夠定期更新數據庫中的信息。這些設計都大大提高的用戶的購物體驗。

還有一些地方可以進一步擴展:

1. 到目前為止,本地專業詞匯還沒有大到足以覆蓋更專業化的單詞翻譯,在下一步中,可以通過更好的方法更新和擴大詞匯,例如爬取在主流電商網站中的新搜索熱詞;

2. 本文系統只通過比較搜索的關鍵詞和商品名稱進行匹配,更理想的方法是分析和提取每個商品的特征詞,這就涉及更多的研究處理語義分析和分詞。

[1] 陳平, 劉曉霞, 李亞軍. 基于字典和統計的分詞方法. 計算機工程與應用, 2008, 44(10): 144-146. CHEN P, LIU X X, LI Y J. Word Segmentation Method Based on Dictionary and Statistics. Computer Engineering and Application, 2008, 44(10): 144-146.

[2] Youdao Translation API. Data Access API. Retrieved on May, 2014. Web Site: http://fanyi.youdao.com/openapi? path=data-mode.

[3] L. Peter Deutsch. DEFLATE Compressed Data Format Specification. Retrieved on May 2014. Web site: http://www. gzip.org/zlib/rfc-deflate.html.

New Design of Cross-border Online Shopping Price Comparison Engine

MA Long-fei
(Beijing University of Posts and Telecommunications (Beijing) Broadband Network Research Center, Beijing 100876, China)

After the development in recent years, cross-border online shopping has become a shopping way of many Chinese consumers. In addition to merchant choosing, goods purchasing, goods transferring, what consumers care most is the price comparison. However, most comparison engines only support English or Chinese web sites, few can compare corresponding cross-border commodity prices. Therefore, this paper proposes a design that can compare price of same commodity in home and abroad. Through the United States and China Amazon shopping sites, to achieve better result. The system will be combined with the translation module to allow users to use Chinese or English goods searching. After receiving user’s search request, system will review whether local database has user's search records at first. If it has, then local records will feedback, if not, then real-time access to the United States and China Amazon’s corresponding commodity information will be done. In addition, although many comparison engines can identify Chinese search, but recognition accuracy and scope is not good enough. In order to improve search accuracy, system will combine online translation API with local electronic business terms table, to do real-time translation. In order to reduce impact of commercial interests, unlike Amazon original product ranking, system has improved sorting algorithm based on Amazon original sorting algorithm, to achieve keyword sorting optimization.

Computer application technology; Cross-border online Shopping; Online price comparison; English and Chinese searching; Sorting optimization

TP393.09

A

10.3969/j.issn.1003-6970.2016.11.017

猜你喜歡
引擎頁面數據庫
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 久夜色精品国产噜噜| 黄片一区二区三区| 亚洲一区二区三区国产精品| 精品夜恋影院亚洲欧洲| 制服丝袜一区| 欧美a级在线| 视频国产精品丝袜第一页| 国产成人精品一区二区免费看京| 有专无码视频| 一本综合久久| 全免费a级毛片免费看不卡| 国产欧美日韩精品综合在线| 成人综合网址| 国产成人av一区二区三区| 中文字幕第1页在线播| 狠狠五月天中文字幕| 在线色综合| 日韩 欧美 小说 综合网 另类| 91综合色区亚洲熟妇p| 波多野一区| 久久鸭综合久久国产| 青青草原偷拍视频| 特级精品毛片免费观看| 五月激情婷婷综合| 国产福利微拍精品一区二区| 女人av社区男人的天堂| 亚洲国产精品VA在线看黑人| 91破解版在线亚洲| 精品欧美日韩国产日漫一区不卡| 91美女视频在线| 黄色网站不卡无码| 亚洲国产成人超福利久久精品| 日本五区在线不卡精品| 9啪在线视频| 99中文字幕亚洲一区二区| 青青草原国产av福利网站| 91原创视频在线| 欧美精品另类| 日本三级黄在线观看| 2021国产v亚洲v天堂无码| 免费一极毛片| 国产91无码福利在线| 国产一二三区视频| 国产91无码福利在线| 欧美怡红院视频一区二区三区| 国产69囗曝护士吞精在线视频| 91久久偷偷做嫩草影院免费看| 欧美在线网| 又大又硬又爽免费视频| 日韩精品一区二区三区大桥未久| 国产成人高清精品免费5388| 久久五月视频| 久久综合成人| 国产免费久久精品99re不卡| 日韩无码视频专区| 亚洲精品高清视频| 1024你懂的国产精品| 免费在线a视频| 一本大道视频精品人妻 | 97一区二区在线播放| 国产精品主播| 欧美在线三级| 九色视频线上播放| 99re在线观看视频| 亚洲色欲色欲www在线观看| 91成人免费观看| 久久综合九九亚洲一区| 国产精品自在线天天看片| 中文字幕第1页在线播| 亚洲精品图区| 色香蕉网站| 欧美第一页在线| 91久久偷偷做嫩草影院电| 欧美在线视频不卡| 国产手机在线小视频免费观看 | 国产成人麻豆精品| 亚洲日韩精品综合在线一区二区| 精品国产一二三区| 色呦呦手机在线精品| 亚洲成人福利网站| 成人中文字幕在线| 国产va视频|