• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Web數(shù)據(jù)挖掘的B2C推薦系統(tǒng)的設(shè)計

      2012-09-17 10:31:08姚天昉
      微型電腦應(yīng)用 2012年11期
      關(guān)鍵詞:爬蟲網(wǎng)頁數(shù)據(jù)挖掘

      時 睿,姚天昉

      0 引言

      隨著互聯(lián)網(wǎng)的普及,電子商務(wù)在人們?nèi)粘I钪衅鹬絹碓街匾淖饔?。電子商?wù)根據(jù)服務(wù)提供商和服務(wù)對象的不同分為3種:B2B、B2C和C2C,這里的B是Business的簡稱,代表的是企業(yè),C是Customer的簡稱,代表的是個人消費者。B2B跟個人消費者以及人們的日常生活關(guān)系不大,B2C與C2C相比,具有產(chǎn)品質(zhì)量和服務(wù)有保障的優(yōu)點,人們慢慢開始從傳統(tǒng)購物向B2C轉(zhuǎn)變。在人們使用的比較多的網(wǎng)上購物網(wǎng)站,3C電子類的有京東、新蛋,圖書類的有卓越、當當,日常生活用品類的有一號店等等。

      在這些眾多的購物網(wǎng)站和頻繁的交易中,人們已經(jīng)制造出相當多的數(shù)據(jù),這給其他人商業(yè)機構(gòu)或者研究人員無數(shù)潛在的機會來洞悉用戶體驗、商業(yè)營銷、個人偏好和通常所謂的人類行為[1]。本文試用Web數(shù)據(jù)挖掘的有關(guān)方法,設(shè)計了一個可以為B2C用戶推薦優(yōu)惠商品的系統(tǒng)。

      1 B2C推薦系統(tǒng)的架構(gòu)設(shè)計

      本系統(tǒng)中主要負責4個模塊:用戶管理系統(tǒng)、信息收集系統(tǒng)、信息監(jiān)測系統(tǒng)、結(jié)果通知系統(tǒng)。4個模塊的關(guān)系主要根據(jù)數(shù)據(jù)流的處理時間按來劃分。首先,用戶使用該推薦系統(tǒng)必須先登錄該系統(tǒng),使用完畢需要退出系統(tǒng),以保證私人的信息不被泄露。其次,用戶登錄系統(tǒng)后,需要填寫其所感興趣的商品的信息。然后,本系統(tǒng)會根據(jù)用戶的喜好,周期性地收集該產(chǎn)品的信息,主要用到的技術(shù)就是網(wǎng)絡(luò)爬蟲。在然后,收集到的信息由于信息量巨大,會放到一個非關(guān)系型的數(shù)據(jù)庫,同時監(jiān)測模塊會檢查數(shù)據(jù)的異常,比如降價促銷之類的。最后,一旦有用戶期望的行為發(fā)生,結(jié)果通知系統(tǒng)就會用某種方式通知該用戶。整個系統(tǒng)的架構(gòu)設(shè)計,如圖1所示:

      圖1 系統(tǒng)架構(gòu)

      2 用戶管理模塊

      眾所周知,一個成功的信息系統(tǒng)會被很多用戶使用,這就需要這個系統(tǒng)提供一個管理用戶的功能,比如管理用戶的密碼,記錄用戶的喜好。本系統(tǒng)根據(jù)整個業(yè)務(wù)流程,將為用戶管理模塊需要實現(xiàn)以下幾個功能:

      2.1 注冊登錄功能

      首先,使用該系統(tǒng)需要注冊一個用戶賬號。由于郵件地址的唯一性,和恢復(fù)密碼的便利性,本系統(tǒng)選擇郵箱地址作為用戶名。但同時為了與好友聯(lián)系時候稱呼上的方便,也為用戶提供了昵稱設(shè)置。

      一旦創(chuàng)建好賬號,用戶可以方便地登錄本系統(tǒng)。在同一瀏覽器,所有打開本系統(tǒng)的網(wǎng)頁,用戶所作的行為,都與存儲在該用戶的名下。如果用戶使用完畢,注銷登錄,該用戶或者其他人則不能再原來的瀏覽器上操作該用戶的數(shù)據(jù)[2]。

      2.2 好友關(guān)聯(lián)功能

      由于互聯(lián)網(wǎng)數(shù)據(jù)的巨大,單個用戶的能力往往十分微小,如果能夠共享他人的數(shù)據(jù)和行為,那么每個用戶得到的則不僅是自己擁有的。每個用戶都在自己關(guān)注的商品,同時會對該商品進行某些數(shù)據(jù)上的操作,如果該用戶能夠分享其的數(shù)據(jù)或者行為,他的好友也會得到該商品的信息。

      3 信息收集模塊

      在用戶定義好監(jiān)測目標后,本系統(tǒng)就會周期性地去互聯(lián)網(wǎng)獲取該商品的信息。這里首先要用到的就是網(wǎng)絡(luò)爬蟲,把商品所在的信息頁下載到本系統(tǒng),然后對這一非結(jié)構(gòu)化的數(shù)據(jù)進行分析。最后將這些信息存儲起來,已備系統(tǒng)和用戶查用。

      3.1 爬蟲系統(tǒng)

      一般地,網(wǎng)絡(luò)爬蟲分為通用的,限定的和主題的。通用網(wǎng)絡(luò)爬蟲的算法有先進先出(First In Fist Out, FIFO),對應(yīng)的是寬度優(yōu)先爬蟲(breadth-first crawler)。如果將隊列的實現(xiàn)有先進先出隊列替換為優(yōu)先隊列,那么我們就獲得另外一種爬去策略,即帶偏好的爬蟲(Preferential Crawler)[3]。這兩種爬蟲爬取的網(wǎng)頁會是一個樹形的結(jié)構(gòu),在本系統(tǒng)中,由于用戶已經(jīng)給定商品的 URL,所以這些網(wǎng)頁相對互聯(lián)網(wǎng)來說都是孤兒節(jié)點,也就是限定的爬蟲[4]。

      3.2 結(jié)構(gòu)化數(shù)據(jù)抽取系統(tǒng)

      在一個完整的網(wǎng)頁下載到本地后,接下來的工作就是從網(wǎng)頁中抽取目標信息的問題,即從自然語言文本中和網(wǎng)頁的結(jié)構(gòu)化數(shù)據(jù)中抽取信息(Structured Data Extraction)。一個抽取這種數(shù)據(jù)的程序通常被稱作為包裝器(Wrapper)。研究人員和互聯(lián)網(wǎng)公司從20世紀90年代中期開始,著手研究信息抽取的問題,主要采用 3種方法:手工方法(Manual Approach)、包裝器歸納(Wrapper Induction)和自動抽?。ˋutomatic Extraction)。本系統(tǒng)采用手工的方法抽取網(wǎng)頁的結(jié)構(gòu)化數(shù)據(jù)。手工方法通過觀察網(wǎng)頁及其源碼,由編程人員找出以下模式(pattern),再根據(jù)這些模式編寫程序獲取目標數(shù)據(jù)。為了讓這一郭晨簡單些,人們構(gòu)建了幾種模式規(guī)范語言及其用戶界面[1]。此外,網(wǎng)頁數(shù)據(jù)往往并不是結(jié)構(gòu)化的,需要容錯處理[5]。

      3.3 商品信息存儲系統(tǒng)

      由于商品信息量的巨大,本系統(tǒng)采用非關(guān)系型的數(shù)據(jù)庫系統(tǒng)Hadoop保存商品信息。關(guān)系型數(shù)據(jù)庫的索引、關(guān)系以及事務(wù)處理等系統(tǒng)開銷會限制系統(tǒng)的橫向伸縮性,降低半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的載入和批處理效率。所以 Hadoop刻意舍棄了索引、關(guān)系以及事務(wù)處理等關(guān)系型數(shù)據(jù)庫的特性,按照“Shared Nothing”的架構(gòu)原則,從底層開始設(shè)計了一個全新的分布式文件系統(tǒng)。

      在可靠性要求極高的超大規(guī)模計算環(huán)境中,Hadoop建立了一個清晰的抽象層,解決了大規(guī)模數(shù)據(jù)分析任務(wù)和底層系統(tǒng)支撐能力之間存在的矛盾和挑戰(zhàn)。使用Hadoop模型,可以非常容易地實現(xiàn)并行數(shù)據(jù)處理任務(wù),程序員不必考慮諸如同步、并發(fā)、硬件失敗等底層技術(shù)細節(jié)。

      4 信息監(jiān)測模塊

      當商品信息的數(shù)據(jù)被采集到數(shù)據(jù)庫系統(tǒng)中,本系統(tǒng)后臺會運行一個進程,也就是規(guī)則引擎,針對用戶定義的監(jiān)測行為進行檢查,如果數(shù)據(jù)符合用戶的期望要求,本系統(tǒng)會發(fā)一個通知請求給結(jié)果通知系統(tǒng)。

      在這個模塊,程序的主要工作是對非關(guān)系型數(shù)據(jù)庫進行查詢操作,如果數(shù)據(jù)收集模塊是每半小時執(zhí)行一次,那么信息監(jiān)測模塊也是每半小時執(zhí)行一次,而且緊跟著信息收集模塊后面進行的。

      4.1 監(jiān)測目標定義功能

      一旦用戶登錄本系統(tǒng),最需要做的事情就是錄入他所關(guān)注的商品的信息。本系統(tǒng)讓用戶輸入該商品在B2C購物網(wǎng)站的信息主頁,然后自動獲得該商品的價格及相關(guān)信息。同時,本系統(tǒng)也為用戶獲取該商品會在其他同類型的購物網(wǎng)站上的信息。

      4.2 監(jiān)測行為定義功能

      在用戶定義好監(jiān)測目標后,本系統(tǒng)就會周期性地去互聯(lián)網(wǎng)獲取該商品的信息?;ヂ?lián)網(wǎng)上的數(shù)據(jù)量是巨大的,用戶利用這個功能可以得到他所想要的數(shù)據(jù)。比如,某商品2011年一月份的價格是 150元,然后每個月都會或多或少地降價,降幅在1元到5元不等,該用戶希望價格跌倒120元的時候通知他。本系統(tǒng)可以讓用戶為商品定義是否降價或者價降幅度來監(jiān)測商品的信息。

      5 結(jié)果通知模塊

      當信息檢測模塊檢查到用戶定義的商品異常行為,該模塊就會給結(jié)果通知系統(tǒng)發(fā)送一個通知請求。通知系統(tǒng)支持兩種形式的通知,即郵件和短信。由于用戶使用的是互聯(lián)網(wǎng)系統(tǒng),所以本系統(tǒng)的默認通知方式也是最通常的通知方式為郵件通知。但是郵件通知沒有及時性,如果用戶下班或者網(wǎng)上才看到通知,但是該商品的降價只持續(xù)了兩個小時之后又取消了,這是用戶不希望看到的。所以本系統(tǒng)也提供短信通知的方式。

      本系統(tǒng)采用 SMTP協(xié)議實現(xiàn)郵件通知系統(tǒng),只需一個SMTP的服務(wù)器,就可以給用戶發(fā)送郵件通知,現(xiàn)在許多個人郵箱也提供這樣的服務(wù)。另外一個重要的通知方式是短信,現(xiàn)在許多通信運行商都提供短信平臺。如果針對的事中國移動的用戶,也可以使用OpenFetion平臺。

      6 B2C推薦系統(tǒng)的進一步完善

      本系統(tǒng)只是利用Web數(shù)據(jù)挖掘的若干技術(shù)為B2C提供優(yōu)惠商品的推薦系統(tǒng),但是該系統(tǒng)在許多方面還有待完善。

      在數(shù)據(jù)收集模塊中,現(xiàn)在許多購物網(wǎng)站使用圖片來顯示價格的,主要是為了其他的購物網(wǎng)站或者競爭對手收集他們的商品信息,這也為本系統(tǒng)的信息收集帶來了困難。所以,如果要更好地更多地收集商品信息,本系統(tǒng)需要一個數(shù)字識別模塊,用在網(wǎng)絡(luò)爬蟲中,獲取圖片形式的商品價格信息。

      在收據(jù)收集模塊中,還有一個問題,就是結(jié)構(gòu)化數(shù)據(jù)的抽取,如果支持的購物網(wǎng)站很多,就需要一個自動的包裝器。Web數(shù)據(jù)挖掘中,提供另外兩種信息提取的辦法,第一種是包裝器歸納(Wrapper Induction),它是有監(jiān)督學(xué)習(xí)方法,是半自動的,這種辦法從手工標注的網(wǎng)頁或者數(shù)據(jù)記錄中學(xué)習(xí)一組抽取規(guī)則,隨后這組規(guī)則即被用于從具有類似格式的網(wǎng)頁中抽取目標數(shù)據(jù)項。第二種事自動抽?。ˋutomation Extraction),即無監(jiān)督方法,給定一張或數(shù)張網(wǎng)頁,這種方法自動從中尋找模式或語法,一邊進行數(shù)據(jù)抽取。由于這種方法不需要手工標注,所以他可以處理對大量站點和網(wǎng)頁的數(shù)據(jù)抽取工作[1]。

      7 結(jié)束語

      綜上所述,本系統(tǒng)使用了 Web數(shù)據(jù)挖掘的若干技術(shù),實現(xiàn)了一個為 B2C推薦優(yōu)惠商品的系統(tǒng)。具體使用到的技術(shù)有網(wǎng)絡(luò)爬蟲和包裝器生成。該系統(tǒng)為 B2C用戶完成了自動監(jiān)測所關(guān)注商品的功能,同時提供商品信息收藏和與好友分享的功能。該系統(tǒng)是 Web數(shù)據(jù)挖掘技術(shù)在電子商務(wù)中一個非常有用的應(yīng)用。

      [1]基于Hadoop及關(guān)系型數(shù)據(jù)庫的海量數(shù)據(jù)分析研究 程瑩,電信科學(xué)2010年11期

      [2]Python Web Development with Django, Jeff Forcier, Paul Bissex, Wesley Chu, [j]Pearson Education, Inc. 2009.5.Charming Python: Easy Web data collection with mechanize and Beautiful Soup, David Mertz, Ph.D. IBM [j]Developer Works, Nov 24, 2009

      [3]Web數(shù)據(jù)挖掘 Bing Liu著 俞勇等譯 清華大學(xué)出版社2009年4月第一版

      [4]Programming Collective Intelligence, Toby Segaran,O’Reilly Media. Inc, 2009.1

      猜你喜歡
      爬蟲網(wǎng)頁數(shù)據(jù)挖掘
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢
      基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
      電子制作(2018年10期)2018-08-04 03:24:38
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
      電子制作(2017年2期)2017-05-17 03:54:56
      基于并行計算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
      電力與能源(2017年6期)2017-05-14 06:19:37
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
      電子測試(2015年18期)2016-01-14 01:22:58
      一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
      石城县| 宁河县| 临泽县| 涟水县| 喀什市| 海宁市| 九寨沟县| 阳曲县| 沙洋县| 鄂托克旗| 济阳县| 双桥区| 张家口市| 广宁县| 龙岩市| 龙山县| 合阳县| 邢台县| 张北县| 成安县| 临邑县| 岑溪市| 双峰县| 宁陵县| 原阳县| 龙口市| 古田县| 林西县| 哈密市| 新兴县| 泰安市| 郎溪县| 涟源市| 花垣县| 大丰市| 同仁县| 昭通市| 当涂县| 广饶县| 健康| 棋牌|