




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、題題 目目 電子商務數據標簽系統的 設計與實現學學 院院 專專 業業 學生姓名學生姓名 導師姓名導師姓名 設計任務書設計任務書學生姓名學號指導教師職稱學院專業 題目名稱 電子商務數據標簽系統的設計與實現任務與要求隨著互聯網及大數據技術的發展,各種數據快速積累。商業用戶希望 從中獲取有價值的信息,輔助各種商業決策。其中,如何根據業務需求, 形成數據標簽,是其中最核心部分之一。基本任務為:(1)對于多網絡渠道的數據,研究數據的有效及清晰的整合方式;(2)綜合專家知識及機器學習技術,形成面向垂直領域的標準營銷數 據標簽系統;(3)形成一套可基本自動化的商品標簽化的軟件。基本要求為:(1)熟悉 Jav
2、a、Python;(2)熟悉相關的機器學習技術;開始日期完成日期院長(簽字) 年月日注:本任務書一式兩份,一份交學院,一份學生自己保存。二、主要參考書目(資料)1https:/ Harrington 著;李銳,李鵬,曲亞東,王斌 譯. 機器學習實戰. 人民郵電出版社, 2013.3機器學習. 周志華著. 清華大學出版社,20164Python for Data Analysis . Wes McKinney 著. OReilly Media,20125美 Michael Milton 著; 李芳 譯. 深入淺出數據分析, 電子工業出版社,20096SciPy and NumPy . Eli B
3、ressert 著. OReilly Media, 20127統計學習方法. 李航 著. 清華大學出版社,2012三、主要儀器設備及材料硬件:計算機一臺、服務器軟件:eclipse、pycharm、hadoop 等四、教師的指導安排情況(場地安排、指導方式等)學生在學院安排的機房上機,每周通過電子郵件匯報工作進展。每周師生見面一次, 確定下一步工作目標。平時的問題可以通過電子郵件和電話隨時溝通解決。五、對計劃的說明如果遇到特殊情況,可適當調整此計劃。注:本計劃一式兩份,一份交學院,一份學生自己保存(計劃書雙面打印)摘要摘要隨著互聯網的發展,電子商務中的商品信息和交易過程中產生了海量的數據,如何
4、合理組織這些數據就成了一個難題,而電子商務數據標簽系統可以解決這個問題。該系統從電子商務平臺上獲取相應的數據,通過數據分析處理技術,然后生成一系列有價值的標簽,它具有一定的現實意義。本文基于京東平臺實現了從數據采集到標簽系統建立的一系列過程,主要分為以下的過程:1、實現了基于 scrapy 框架的爬蟲程序,克服了眾多的反爬蟲機制,實現了整個京東平臺的數據采集工作。2、完成了包括“搜索熱詞分詞工具”、“品牌統一工具”、“細分市場劃分工具” 等工具來確保數據的質量,實現流程化操作。3、對于商品信息中最重要的評論分析處理,提出了基于語法依賴的傳播算法,結合一系列降噪方法得到了合理的“特征-觀點詞”標
5、簽組合,并在提取過程中給“觀點詞” 標注了情感傾向。之后,本文使用了k-means 聚類,將為數不少的“特征-觀點詞”標簽聚類,得到了最有代表性的評論標簽并根據其各自的貢獻值進行了排序。實驗結果表明,數據采集質量高、評論的分析提取效果好、情感傾向標注準確率高。最后,將前期處理的所有的標簽進行了整合,得到了完整的電子商務標簽系統。關鍵詞: scrapy 爬蟲傳播算法情感傾向標注k-means 聚類ABSTRACTABSTRACTWith the development of the Internet, commodity information and transactions from e-
6、commerce generates a lot of data. How to organize these data has become a difficult problem, and e-commerce data tag system can solve this problem. The system obtain the appropriate data from the e-commerce platform, through data analysis and processing technology, and then generate a series of valu
7、able labels, it has a certain practical significance. Based on the Jingdong platform, this paper realizes a series of processes from data acquisition to tagging system, which are divided into the following processes:1. This paper achieves the scrapy framework based on the crawler program, overcomes
8、the many anti-reptile mechanism, achieves the entire Jingdong platform data collection.2. This paper completes some tools, including search hot word word tool, brand unified tool, market segmentation tools, to ensure the quality of the data and achieve process operation.3. In the process of analyzin
9、g and dealing the most important comments in commodity information, a propagation algorithm based on grammatical dependence is proposed. A series of noise reduction methods are used to get a reasonable combination of feature-opinion word tags, and mark opinion words the emotional tendencies. Later,
10、with the use of k-means clustering, a large number of feature-opinion words tags will be clustered, and the most representative comment labels are obtained and sorted according to their respective contribution values.The experimental results show that the data acquisition quality is high, the evalua
11、tion results are good and the emotion tendency is high. Finally, the pre-processing of all the labels were integrated, get a complete e-commerce label system.key words: Crawler based on scrapyPropagation algorithmEmotional tendencies K-means clustering目錄i目錄第第一一章章緒論緒論.11.1課題研究的背景和意義.11.2標簽系統的研究與應用現狀.
12、21.3本文的主要研究內容.31.4本文的結構.3第第二二章章網絡爬網絡爬蟲蟲簡介與設計簡介與設計.52.1網絡爬蟲類型.52.2網頁搜索策略.62.3 反爬蟲措施及應對方法.72.4 結合實際情況的爬蟲設計.82.5 爬蟲實現過程中所使用的工具以及語言.112.6 關于爬蟲的一些思考.11第第三三章章評論特評論特征征提取提取.133.1評論標簽的重要性及表現形式.133.2觀點詞提取及情感分析.133.3 基于語法依賴的傳播算法.14ii目錄3.4 觀點詞情感傾向判斷.183.5 噪聲剪枝策略.203.6 結果的聚類及排序.20第第四四章章標簽系標簽系統統的設計實的設計實現現和分析和分析.2
13、34.1 標簽系統的設計.234.2 爬蟲部分實現過程中所遇難題及解決方法.234.3數據爬蟲實驗結果.254.4標簽系統提取實驗結果.264.5 流程化工具介紹.294.6 不足與改進方法的思考.35第第五五章章總結與總結與展展望望.375.1 本文總結.375.2 工作展望.38致致謝謝.39參參考考文獻文獻.41第一章緒論1第一章緒論1.1課題研究的背景和意義互聯網時代一個明顯的特點是交易方式的轉變。以京東、淘寶、國美等電商平臺為代表的電子商務已經介入了人們生活的方方面面。如今人手一個手機,隨時隨地都可在網絡店鋪上購買商品,同時信息透明價格的比對輕而易舉,售后保障也愈加完善,對于當前社會
14、忙碌的人們來說,網購是個非常有利的選擇;另一方面,對于賣家,實體店租金連年上漲,導致了許多實體店主不堪重負,也逐漸加入到電商平臺中來維持經營。由此可見,電商交易的方式已經成為一種社會趨勢。而這也導致了與此相關的電商數據,正以指數級別的速度累積。這種新興趨勢是前所未有的,因此買家和賣家也遇到了一些疑惑和難題。買家的問題相對簡單,每個人都有作為買家的經歷:面對如此繁雜的商品,如何根 據自己的需求來找到最合適自己的商品?如何對比這些候選商品的性價比,來幫助自己 的購物,從而能夠物有所值?而賣家的問題,則更加復雜、寬泛一些:自己的商品的反 響不佳,原因在何處?現在市面上類似的商品為什么受歡迎?如何定位
15、自己商品的缺點, 來改進自己的商品從而達到他們那樣的效果?基于什么來指導雙方,特別是賣家的問題呢?當然是電商交易過程中產生的數據, 數據是真實的、脫離主觀臆測的。所以現在的重點就是如何來獲取并且處理這些規模龐大的數據。獲取數據的方法有很多,比如第三方網站、爬蟲獲取數據、向目標平臺購買等方式均可,而最滿足個性化需求且成本合適的首選當然是網絡爬蟲。而為了解決以上提出的問題,單一的數據處理方式,僅能解一時之急,建立一個完整的數據處理系統顯然是更為目光長遠的選擇,本文的目的就是生成一個電子商務數據標簽系統。完成這樣一個系統后,以上的問題都可以用該系統的一個標簽或者將系統的某些標簽進行一定的處理得到解決
16、。而本文看重的不止是這一點,賣家的需求千奇百怪,未來的市場瞬息萬變,形成一套自洽的、拓展性高的數據系統才能緊跟社會浪潮。2電子商務數據標簽系統的設計與實現1.2標簽系統的研究與應用現狀標簽系統的應用場景極廣,但是它通常作為各類學科的輔助工具出現,而不是研究的主體。比如經濟學方面,李愛梅等利用標簽研究情緒認知對消費決策的影響1;在計算機科學方面,Wang 等提出的用于軟件信息站點的增強型標簽推薦系統2;在信息管理方面,更是標簽系統的應用最后的場景之一,比如姜婷婷的社會性標簽系統的信息搜尋3。由以上的研究可以得到,標簽系統絕對是一項輔助研究的利器,然而遺憾的是, 在電商商務方面還未有類似的研究來指
17、導本文的工作,因此,這里來描述一下電子商務標簽系統現在的應用現狀:作為商品目錄:京東、淘寶等平臺首頁的目錄都是類似的普遍為三層,行業層層細化,實際上這個目錄就是標簽層次化的應用,根據這個層次化標簽結構,大多數用戶尋找自己想要內容的過程中都沒費太大的勁,這就證明,這種應用是非常有效的;作為商品屬性:點開一個商品的詳細介紹,往往可以找到一些類似表格的參數集合, 里面的內容詳細列出商品的各種參數,這也是一類標簽。使用它,可以使商品的描述更加簡潔系統;作為商品推薦:商品推薦系統的標簽通常是不可見的,但是以它為基礎的應用大家都不會陌生。相關的應用會根據你以往購買記錄,或者收集你現在瀏覽商品的標簽,進行一
18、些相似性匹配,從而達到推薦的效果;作為評論提綱:用戶在瀏覽商品的評論時,可以在評論上方看到一些總結性的標簽, 比如“外觀好看”、“一般般”等,這些都是對評論進行分析提取后得到的標簽,本文后續章節也會提出一種提取該標簽的方法。以上都是常見的場景。除此之外,還有一些電子商務數據標簽潛移默化地為買家提供方便的場景,比如用作商品分類、輔助搜索匹配商品等等。還有一些不常見的、個性化的面向商家的標簽系統,來表明市場的熱點,市場產品評價統計標簽等等。在我們自覺或不自覺中,電子商務數據標簽早已經開始影響我們的生活方式。因此可見,本文要實現的電子商務標簽系統的作用是巨大的,并且可以為進一步的延伸需求提供強有力的
19、幫助。第一章緒論31.3本文的主要研究內容本文希望從零開始,進行一系列類似編寫爬蟲獲取數據、數據質量保證處理、構建標準數據倉庫、構建標簽系統、大數據技術分析文本數據、書寫流程工具等等工作,從而得到一個達到工業基本要求的標簽系統。以下是部分細節內容。數據獲取,研究并自主完成一個平臺幾乎所有商品信息數據的爬蟲工具,克服獲取數據過程所遇到的種種問題;質量保證,根據需要將獲取的數據進行一些處理,確保數據達到使用標準,并編寫一些流程化處理工具,方便操作;數據倉庫,構建一個較完善的數據庫系統,標準化存儲各種數據內容,方便數據分析處理;文本分析,分析以商品評論為主的大量文本內容,使用大數據技術,提取評論中的
20、商品屬性-觀點詞組合;標簽系統,構建一個盡量完善的標簽系統,使之包括商品各個角度的信息。1.4本文的結構本文從工程與算法角度對如何制作一個電子商務標簽系統進行了詳細的描述,包括工程問題如何解決、算法詳解以及最后的標簽系統、處理工具展示。本文除了第一章的緒論外,還包括以下的內容:第二章:網絡爬蟲簡介與設計。介紹爬蟲的基本原理、網頁搜索策略、反爬蟲措施及應對方法,本論文爬蟲的設計說明,最后是關于爬蟲的一些思考。第三章:評論特征提取。介紹了評論標簽的形式、觀點詞提取及情感分析,著重講解了“特征-觀點詞”關聯識別、觀點詞極性判斷,最后提到了剪枝策略、結果的精煉排序。第四章:標簽系統的設計實現和分析。描
21、述了標簽系統的設計、實現爬蟲過程中所遇問題及解決方法、爬蟲的實驗結果,接著是標簽系統結果的展示、流程化工具的介紹, 之后是反思不足、改進方法的思考。第五章:總結與展望。簡述全文工作,以及思考進一步的研究內容。第二章網絡爬蟲簡介與設計5第二章網絡爬蟲簡介與設計本文要實現的不是單一類型的爬蟲,同時對比使用了更為合理的搜索策略,為了詮釋其合理性,這里首先來介紹相關知識。2.1網絡爬蟲類型隨著網絡的發展,萬維網承載了巨量的信息,而信息本身也承載著巨大的價值,于是為了獲取萬維網承載信息的網絡爬蟲就應運而生。網絡爬蟲(web crawler),也叫網絡蜘蛛(spider),是一種利用HTTP 協議來獲取
22、Web 信息的網絡程序。如今網絡爬蟲的應用已經十分成熟。同時,由于不同的需求,網絡爬蟲也延伸出多種類型。通用網絡爬蟲:它又被稱為全網爬蟲(Scalable Web Crawler),爬取的對象是整個Web,沒有特定目標,由初始 URL 開始獲取,獲取網頁信息,并且在這個過程中不斷抽取新的URL,層層深入,直到滿足特定的情況才停止4。在互聯網早期,以這類爬蟲為主。聚焦網絡爬蟲:由于網絡上數據量的不斷增多,對于特定人群的需求,通用網絡爬蟲顯得太多于臃腫,獲取的信息包含著此人群不關心的內容,且數量巨大,由此聚焦網絡爬蟲(Focused Crawler)應運而生,它有著特定的目標主題和對象,通過對網頁
23、或數據的分析與過濾使得到的內容也更加細致化,滿足特定領域人群的需求5;增量式網絡爬蟲6:為了實時跟進最新的消息,并且減少無意義的重復獲取,增量式網絡爬蟲(Incremental Web Crawler)也應運而生,這類應用中一般使用一些方法判斷網頁的特征值,并將之與原有數值進行比較,從而只獲取數據庫還不存在的內容,判斷變化的方法有hash 函數法,MD5 值法等等;Deep Web 爬蟲:隨著技術的發展,網頁只需要刷新部分內容就能改變內容靜態網頁成了一個容器,改變的是動態裝載的內容,這也導致了這些資源無法被傳統的方法獲取,于是與之相對的Deep Web 爬蟲出現了,它致力于獲取網頁動態加載的深
24、層內容7。以往的獲取方式只能獲取到靜態網頁,對于動態加載的信息資源將無能為力,而動態網頁使用卻是一個發展的趨勢,因為該技術的出現與應用是大勢所趨的,成為了一個任何學習爬蟲的人必學的內容。電子商務數據標簽系統的設計與實現62.2網頁搜索策略網頁搜索策略可以簡單的被分為深度優先、廣度優先和最佳優先三種8。其中,深度優先隨著網頁深度的不斷加劇,已經很少使用。廣度優先和最佳優先方法是目前最常用的。2.2.1 深度優先搜索深度優先搜索,這些搜索策略初始都是一致的,不同的是選擇下一個鏈接的方式, 深度優先選擇的是 URL 池中最新加入的鏈接,也就是“棧”的方式。它會處理完一條路線后再繼續另一條路線9。該方
25、法設計簡單,在最初互聯網環境較簡單時,網頁深度較淺、網頁簡單的場景下,使用較多。但在如今的應用場景中,龐大的數據量、繁雜的網頁、不規范的廣告等等復雜的場景,這些因素共同導致了單條路線將會極其深入,往往會陷入其中,無法再從這條路線中出來。另一方面,深度越深,當前信息與最開始的目標差異越大,也就意味著它的價值往往越小。因此如今使用深度優先搜索往往不可行或者得不償失的。2.2.2 廣度優先搜索廣度優先搜索,它在完成當前層次所有搜索之后,才進行下一層次的搜索,直到搜索到被指定的層次為止即選擇先進入 URL 池的鏈接,是“隊列”的方式。該策略會優先覆蓋淺層的網頁,這些是價值最高的;同時它還能在兩個網頁文
26、件中找到最短路徑。它的缺點是,隨著抓取的網頁變多,無用信息被獲取的幾率越大,會降低算法的效率。這是被使用較多的一種策略。2.2.3 最佳優先搜索最佳優先搜索,它會使用一個預測函數,來分析候選鏈接的內容與所需要目標的差 異程度,對比每個候選 URL 的表現值,選取其中數值最優的幾個 URL 進行爬取10。這種策略可以保證爬蟲能優先爬取較有價值的信息頁面。然而它是一種局部最優搜索算法, 根據不同的優先目標函數,它可能會忽略許多相關的網頁,甚至會忽略一些重要的信息。它的特點也決定了它只關心某一特定主題的內容。在實際應用中,需要對它進行改進, 來幫助它跳出局部最優的情況,獲取更多有價值的信息。第二章網
27、絡爬蟲簡介與設計72.3反爬蟲措施及應對方法之所以提到這一部分是因為與反爬蟲機制的博弈占據了爬蟲編寫實現的一大部分任務。可以說這是其中最具有挑戰性的任務:在一次次試探中,找到對應的反爬蟲機制, 然后設計方案偽裝自己的訪問,通過對應的防線。成熟的電商平臺都有著反爬蟲措施,但是網站是面向公眾的,這一性質導致反爬蟲措施處于天然的劣勢地位,它在應用場景中只能起到部分作用,不可能達到絕對禁絕爬蟲的效果的。以下是一些普遍的措施以及相應的應對方法,由簡單到復雜11。基于User-Agent:瀏覽器的訪問請求都帶著各自的瀏覽器標識,一些知名的搜索引擎會在這個字段里加入自身的身份信息,使得服務器能夠準確識別身份
28、。入門級爬蟲可能會忽略這種信息。應對:非常簡單,帶上User-Agent。基于動態網頁:如今網頁上的內容許多都是動態填充的,直接獲取目標網頁只能得到一個框架,而得不到實質的內容,并且有些 ajax 請求需要提供一些參數,服務器才會響應。這些內容都是通過另外隱藏的鏈接來訪問的。應對:進入瀏覽器調試模式,逐條查看加載項內容以及它們需要提交的參數。基于 headers:headers 是瀏覽器訪問必定會帶上的一些信息,這些信息雖然不會完全相同,但是有著一定的規律。服務器可以選擇 headers 中某字段作為門檻,這些信息可以是用戶名、密碼,也可以是變化的信息,如時間戳等;還可以檢測違法的 heade
29、rs 的訪問進行封鎖。若是這部分運用得合理,可以攔截一大批爬蟲。應對:了解 headers 中各種字段的必要性以及對應的含義,進行模擬。基于 IP 限制:爬蟲特別是一些簡單粗暴的爬蟲,對于服務器帶來的困擾主要是其沒有節制的訪問,會造成類似“拒絕服務”攻擊的后果。對此,服務器采取的方式是: 對單個 IP 進行訪問統計,并對超過訪問頻率閾值的 IP 予以封鎖。應對:使用代理 IP。基于用戶行為:這是最有力度的反爬蟲措施,通過大數據統計正常用戶的行為,并以此設限,禁止不正常的訪問請求,這是目前最為靈活、有效的措施。應對:沒有具體的應對,只能通過多次的訪問試探來尋找“禁止”和“非禁止”之間的紅線,讓自
30、己的爬蟲在紅線之上活動。就目前反爬蟲技術水平來說,經常改變代理 IP,再結合一些基本的 headers、用戶行為等配置的方式,是無法限制其訪問的。電子商務數據標簽系統的設計與實現82.4結合實際情況的爬蟲設計本文爬蟲所要達到的目的是:在保證數據的時效性的前提下,盡可能簡單、規范地采集全平臺數據。其中,數據的實時性決定了數據價值的高低,并且電商平臺的數據更新速度極快,因此要完成一個較為實用的爬蟲,其增量式功能是不可或缺的。為了簡化爬蟲的實現,這里使用了scrapy 作為框架。2.4.1 增量式更新策略樸素的更新策略12:這是最簡單的更新策略,即周期、重復地爬取所有內容,對比本地數據副本與實時數據
31、的差別,更新其中發生變化的數據。這種樸素的更新策略,優點是簡單、可靠,適用于數據可靠性較高的場景;缺點是,當數據量過大時,在同等資源條件下,其往往無法在一個周期內更新完所有數據。基于采樣的更新策略12:在可靠性要求不高的情況下,使用的都是該方法。該方法在一個新的周期里,隨機選擇、選擇經常更新的內容進行采集,并與數據庫中的內容進行比對。在多個數據源的情況下,使用查詢queryi 查詢數據庫 Si 的代價為:cos t(query , S ) count(queryi , Si ) iin式(2-1)2.4.2 檢測更新的方法基于hash 函數:這是一種簡單、常用的方法,效果基本能達預期。獲取整個
32、網頁到本地后,計算其 hash 值前后比對來判斷其是否更新13。然而該方法并不是絕對可靠的, 長字符串的hash 值會出現“碰撞”的情況,因此它不適合可靠性需求高的場合。基于 MD5 算法:該方法一般用于判斷文件是否被篡改,它與基于 hash 函數的方法沒有本質區別。去噪判斷法14:網頁維護時,經常會發生網頁格式的變化,但內容卻還是一致的情況。這會造成以上兩種方法的誤判。去噪判斷的方法就是去掉其中與所需信息無關的類似 /br 的標簽內容、或提取出關鍵性信息后再進行判斷。以上的方法,簡而言之,實際上都是字符串內容對比的方法。第二章網絡爬蟲簡介與設計92.4.3 基于scrapy 框架爬蟲的優勢s
33、crapy 由單詞 scratch(抓取) 變種而來,它僅是一個框架而不是一個類似“八爪魚” 的成熟產品。不需要編程的通用爬蟲產品早已面世,然而使用它的代價就是根據網頁環境的不同降低所獲取數據的質量。對于一些高要求的數據分析來說,后續數據質量篩選的工作將會更加繁重,這是得不償失的;另一方面,一些反爬蟲機制,如果沒有特殊的偽裝方法,這些產品是無法獲取到數據的。那么基于scrapy 框架到底有哪些優勢呢?簡化多線程爬取:多線程是提高爬蟲速度、提高效率、提高資源利用率的一個利器,scrapy 框架改編了傳統的訪問函數,使得多線程訪問變得簡單。簡化爬蟲配置:對于自己編寫的爬蟲來說,一些必要的配置會顯得
34、比較麻煩,比如線程數限制、超時訪問時間、http 緩存等功能都可以通過一個配置文件簡單配置。簡化數據處理:與數據庫的交互都被集成在框架里,使用者只需要配置數據庫的連接以及編寫一個數據庫輸入的模板函數即可。以上的優點只是使用scrapy 框架所帶來眾多優勢中的最顯著的幾個,同時也不必拘泥于這些功能,可以通過自定義來完成自身需求。總而言之,使用該框架可以提升開發爬蟲的速度、爬蟲的可靠性,同時不影響數據質量。2.4.4 爬蟲的流程及圖示為了系統地、規范的獲取全平臺的數據,必須將爬蟲結構化,并設計出一種可控的、標準的方式來實現它。經過詳細觀察,京東平臺的數據是以層次化的結構安排數據的, 因此本文對該爬
35、蟲獲取數據部分做出了以下設計:1)獲取京東平臺的層次結構目錄;2)根據層次化目錄層層深入,直至獲取行業細分市場的商品瀏覽頁;3)獲取商品瀏覽頁中的商品唯一標識ID,存入數據庫中;4)根據商品ID,生成對應URL,訪問商品目標頁,獲取商品信息;5)根據商品ID,生成對應URL,訪問商品評論頁,獲取商品評論;6)步驟 2)到 5)循環,直到層次目錄結束。以上的流程可以用圖 2.1 表示。獲取數據部分加上增量式更新方法共同構成了本文需要完成的爬蟲整體。電子商務數據標簽系統的設計與實現10否圖 2.1 爬蟲流程圖開始瀏覽到最后一頁否根據ID獲取商品是信息和評論, 存儲到DB層次目錄是否結束是結束獲取整
36、體層次目錄獲取新的商品瀏覽頁商品瀏覽頁翻頁獲取單個商品ID,存儲到DB第二章網絡爬蟲簡介與設計112.5爬蟲實現過程中所使用的工具以及語言表 2.1 爬蟲實現過程中所使用的工具以及語言類目類目名稱名稱描述描述語言python一種面向對象的解釋型編程語言,簡潔、功能強大,可以方便地實現爬蟲。IDEpycharm一款功能強大的 python 開發工具,存在免費版本。爬蟲框架scrapy目前最流行的爬蟲開發框架之一。數據庫postgreSQL開源數據庫,性能優異,在許多使用細節上有許多 mysql 沒有的優點UI 框架tkinterpython 自帶的界面開發框架運行基礎Amazon Web Ser
37、vices亞馬遜公司提供的與計算服務。交互媒介redis一個非常快速的非關系型數據庫2.6關于爬蟲的一些思考爬蟲作為一種處于灰色地帶的工具,對于它的合法性一直是有爭論的。目的不同, 爬蟲也可以做不同事情,比如單純的獲取數據、掃描 web 漏洞、獲取用戶信息等等,就像一把刀,作為一個工具,重要的還是使用它的人。那么,這里就從法律和道德方面進行一定的思考。法律方面。如今數據是許多大型平臺的核心競爭力。近年來,由于抓取對方競爭平臺的數據而打的官司屢見不鮮,并且被告方敗訴幾率相當高,但是依據的法律并不是直接針對爬蟲的,而是“危害用戶信息安全”、“不正當競爭”等商業法律。目前為止, 沒有明確的法律禁止爬
38、蟲,而“法無禁止即可為”,對于個人行為,運用爬蟲,不進行損害他人權益的活動,即是可行的。電子商務數據標簽系統的設計與實現12道德方面。現在對于爬蟲有一些君子協議“robot.txt”,它上面記錄了允許與不允許爬蟲訪問的區域,是否遵守全看爬蟲作者本身。作為一個合法且道德完善的公民,使用爬蟲時要以不損害他人權益為紅線,遵守業界道德守則,不給目標網站造成困擾。第三章評論特征提取13第三章評論特征提取3.1評論標簽的重要性及表現形式電子商務的評論是消費者購買商品之后發表的看法。隨著時間推移,這些評論為商品形成了巨大的“在線口碑”,擁有一個好口碑,甚至決定了個體商品的生死。由于網絡購物,不能像實體店那樣
39、親身試用商品,因此用戶評論的作用幾乎是決定性的,它傳遞出之前用戶的感受、情感,對后來者的影響巨大15。然而閱讀日益龐大的評論,對于消費者來說是一種高成本行為。如何將商品評論中的有價值信息提取出來并呈現給消費者,已經成為了一個熱門的研究熱點。與之對應的, 評論標簽也是標簽系統中非常重要的一部分,它代表了以往用戶對該產品的印象,商品的優缺點很大一部分上是從這里來的,開篇提到的對于買家和賣家問題的一部分,可以由這部分標簽解答。評論信息提取展現是很多平臺都提供的服務,比如目前京東電飯煲類別中銷量最大商品的評論標簽有“外觀漂亮”和“一般”兩種類型的標簽,前者是一個合適的標簽, 包括了特征詞與觀點詞,對商
40、品的定位以及描述都十分明確;而后者僅包含了觀點,并且太過于籠統。從評論提取出“特征詞-觀點詞”16這樣的信息組合,指向與觀點明確, 符合本文評論標簽提取的需求。同時,本論文評論特征提取的標簽更加優化,要對觀點詞的褒貶做出標注。3.2觀點詞提取及情感分析情感分析包括詞、短語、子句、文檔級別的分析,這里主要討論的是詞級別的分析。基于連接詞:該方法基于的知識是,使用連接詞(and、or)連接形容詞的情感屬性肯定是一致的,同時與一個形容詞用連接詞連接的肯定是另一個形容詞17。顯而易見的這種方法局限性非常大,應用場景狹窄,需要依靠連接詞,而沒有連接詞的情況與之相當甚至更普遍。好處是根據一個初始詞庫,通過
41、傳播的方法可以獲取大部分用連接詞連接的觀點詞。基于點互信息:點間互信息(PMI),主要作用是衡量不同詞間的語義相似度,文 檔中同時出現這兩個詞的概率越高,相關性越高16,18。接下來將兩個種子褒義詞組和貶電子商務數據標簽系統的設計與實現14義詞組來計算目標的點互信息,作為它們的語義聯想。兩個詞 word1 與word2 的 PMI 值計算公式如下:PMI (word , word ) log p(word1 & word2 ) 122 p(word ) p(word ) 12 式(3-1)基于語料庫:利用子句級別的內容一致性來尋找候選集,然后使用統計評估的方法來確定候選集是否是觀點詞1
42、9。如果種子詞頻率低或者一個觀點詞在語料庫中沒有,那么該方法的效果將會較差。統計評估方法的準確性非常依賴語料庫是否全面。基于字典:該方式可以延伸出多種方法,比如最簡單的近義詞、反義詞;進一步的, 通過近義詞庫建立近義詞網絡,這樣一個詞的情感屬性可以通過它最近的兩個詞的情感屬性來決定20等等。但是所有基于詞典的方法都是領域不敏感的,通用的詞都是領域非相關的,例如“不可預知的”在電影評論中是褒義的,但在機械類評論中就是貶義的。3.3基于語法依賴的傳播算法對于需要提取特征詞的分本分析,一般來說都是產品分析,提取特征詞的方法和提取觀點詞的方法大同小異,其中的差異會在接下來的“特征-觀點詞”關聯識別中提
43、到。現階段效果良好的方法有語料庫法和字典法,但是這兩者都需要大量全面的詞庫,且對于領域相關的文本分析效果一般,于是這里采用了“基于依賴語法的傳播算法”21來解決詞庫與領域相關詞問題,但是該方法會帶入一些噪聲詞,所以提取之后需要進行剪枝降噪。接下來介紹該方法的知識。3.3.1 語法依賴關系文本中所有的依賴關系22可以如下:直接依賴(Direct Dependency, DD )是指,一種直接的依賴關系是指,一個單詞依賴于其他單詞,在它們的依賴路徑中沒有任何其他的詞、或者它們都直接依賴于另一個詞。間接依賴(Indirect Dependency, ID )是指,一種非直接的依賴關系是指,一個單詞依
44、賴于其他單詞,通過一些其他的詞、或者它們都經由額外的詞依賴于另一個詞。這些依賴關系是在分詞過程中,根據語法結構來判斷生成的,由于分詞和生成語法結構樹不是本論文的重點,因此本論文使用了一個在線分詞工具“語言技術平臺(LTP)”,由哈工大研發,可以幫我們完成這部分工作。第三章評論特征提取153.3.2 “特征”、“觀點詞”詞庫的拓展簡而言之,傳播算法是根據語法依賴聯系和已知觀點詞(或特征詞)來提取出新的觀點詞(或特征詞),而根據新提取出的詞又可以進行下一輪的迭代提取,直到無法提取出新的詞。例如,在短語“諾基亞手機外殼堅固”中,如果我們知道“外殼”是一個特征詞, 那么通過規則匹配,就可以知道“堅固”
45、是一個觀點詞;換言之,如果知道“堅固”是一個觀點詞,通過規則匹配,“外殼”是特征詞也就不言而喻了。同時該方法,可以將提取到的特征詞和觀點詞一一對應。在這里,我們進行一些公式符號定義,形容詞為 wordadj ,名詞為wordn ,依賴關系DT(Dependency type)包括 DD 和 ID ,R 為語法關系(名詞和形容詞之間有主要有mod(修飾)、 pnmod 、subj (主語)、s 、obj (賓語)、obj2 和desc 等關系23;兩個名詞(形容詞)本身只有連接關系conj )。于是上述例子中,第一種情況可以被描述為 wordn , DD, mod, wordadj 。3.3.3
46、 語法依賴規則在描述算法是如何傳播之前,還需要描述一下傳播過程中使用的 4 條規則來完成以下的任務:使用已有的觀點詞提取特征詞;使用提取出的特征詞提取新的特征詞;使用已有的特征詞提取觀點詞;使用原有的和后續提取的觀點詞來提取觀點詞。為了這四個任務,相應的也有四種對應的規則,在表 3.1 中可以看到。因為在語義網絡中解析是比較困難的,所以這里只利用依賴關系 DD ,來定義這些規則。在定義規則之前,說明一下,句子在分析之前會先被分詞,分離出形容詞和名詞, 在大多數論文中,形容詞是觀點詞、名詞是特征詞,在本篇論文中也會延續這個看法。分詞之后會有許多候選詞(Candidate Word),用CW 來代
47、表它。在表 3.1 中, o (或者t )代表輸出觀點詞(或特征詞)。O (T )是已知的觀點詞集合(特征詞集合) , 而不是原有的或者后續提取出的。H 可以代表任意的詞。CW( O(或者T ) ) 和O(或者T ) 代表了CW 信息和觀點詞的依賴關系。wordadj 和 wordn代表了潛在的觀點和特征詞CW 標簽。就如之前所說,wordadj 包括了形容詞的三種類型;wordn 包括了名詞的單復數形式。MR 包括觀點詞和特征詞( mod 、pnmod 、subj 、 s 、obj 、obj2 和desc )之間的依賴關系。CONJ 僅包含conj (連接關系)。箭頭代表電子商務數據標簽系統
48、的設計與實現16依賴關系。例如,O O-Dep T 。意味著O 經過語法聯系O-Dep 依賴于T 。“=”代表一樣活相等。例如, Ti -Dep Tj -Dep 意味著Ti -Dep 和Tj -Dep 相等。表 3.1 特征-觀點詞提取規則第一列是規則的標號,第 2 列是依賴關系,約束必須要滿足,第 3 列是輸出,第 4 列是例子, 在每個例子中,下劃線詞是已知詞,雙引號是要提取的詞。例子后的括號中展示的是實例化的依賴關系。標號標號規則描述規則描述輸出輸出例子例子R11O O - Dep T s.t. O O, O - Dep MR, CW (T ) wordn t T這手機有一個不錯的屏幕(
49、不錯mod屏幕)R12O O - Dep H T - Dep T s.t. O O, O / T - Dep MR, CW (T ) wordn t Tipod 是個不錯的音樂播放器(不錯mod播放器subjipod)R21O O - Dep T s.t. T T, O - Dep MR, CW (O) wordadj o O與 R11 相似,但“不錯” 和“屏幕”兩者的位置互換R22O O - Dep H T - Dep T s.t. T T, O / T - Dep MR, CW (O) wordadj o OR1與2 相似,但“ipod”和“不錯”兩者的位置互換R31Ti ( j ) T
50、i ( j ) - Dep Tj (i ) s.t. Tj (i ) T,Ti ( j ) - Dep CONJ, CW (Ti ( j ) ) wordn t Ti ( j )這個播放器能播放音樂和視頻嗎(音樂conj視 頻)R32Ti Ti - Dep H Tj - Dep Tj s.t. TiT,Ti - Dep Tj - Dep, CW (Tj ) wordnt Tjiphone 有很棒的攝像頭(攝像頭odj有subjiphone)R41Oi ( j ) Oi ( j ) - Dep Oj (i ) s.t. Oj (i ) O,Oi ( j ) - Dep CONJ,CW (Oi (
51、 j ) ) wordadj o Oi ( j )這手機漂亮且耐用(漂亮conj耐用)R42Oi Oi - Dep H Oj - Dep Oj s.t. OiO, Oi - Dep Oj - Dep, CW (Oj ) wordadj o Ojipod 是一個很酷、功能強大的音樂播放器(酷mod播放器mod功能強大)第三章評論特征提取17在表中可以看到,R1i 表示使用觀點詞提取特征詞,R2i 表示使用特征詞提取觀點詞, R3i 表示用已提取的特征詞提取新的特征詞,R4i 表示使用已知的觀點詞提取觀點詞。就拿 R1i 為例子,一個以 wordn 作為它的候選的詞并滿足關系O-Dep 就能被提取
52、為特征詞。更具體的,短語“這手機有一個不錯的屏幕”對應圖 1 中所展示的依賴樹關系。如果我們知道“不錯”是一個觀點詞,并且它依賴于“屏幕”,其中它通過包括在MR 中的mod 以及“屏幕”的詞性已經在分詞結果中標出,R1i 就能被應用,將“屏幕”提取為一個特征詞。圖 3.1 是該語法樹的示意。有subjobj手機det屏幕mod這不錯的3.3.4 算法傳播過程圖 3.1 短語“這手機有一個不錯的屏幕”的依賴樹 接下來用圖 3.2 對該算法進行描述。算法中,觀點詞庫O 、特征詞庫種子T 和商品的評論數據 R 被作為輸入。算法的步驟也就是傳播的步驟,當沒有新的觀點詞和特征詞能被添加到相應隊列時,算法
53、便停止。現在,這里使用一個例子來闡明算法的工作過程。假設,在一個評論中,有以下的四個短語:“iphone 能拍出不錯的照片”,“照片很棒”, “你也許需要更多的空間來存儲照片和電影”,“這軟件很棒”。初始時,僅有一個輸入的觀點詞“不錯”。使用算法中基于R11 的 4 到 6 行的規則,可以提取“照片”作為特征詞。有了一個提取出的特征,通過基于 R22 的 16 到 18 行規則,接下來又可以確定“棒” 也是個觀點詞;通過基于 R31 的 13 到 15 行規則,“電影”也是一個特征。在第二次迭代中,因為“棒”被認為是一個觀點詞,通過基于 R12 的 4 到 6 行規則,“軟件”可以被提取為一個
54、特征詞。然后,傳播會因為沒有更多的特征詞或觀點詞被提取出而停止。就像我們看到的,通過傳播,僅僅用一個觀點詞,就可以發現評論中的三個產品特征和一個新的觀點詞。電子商務數據標簽系統的設計與實現18算法描述:輸入:觀點詞種子庫O,特征詞種子庫T,評論數據 R輸出:被拓展的特征詞庫T-Expanded和觀點詞庫O-Expanded Function:O-Expanded=O,T-Expanded=TTi , Oi 1.do2.for each parsed sentence in R3.if(Extracted features not in T- Expanded)4.Extract Ti usin
55、g R11 and R12 based on O-Expanded5.endif6.if(Extracted opinion words not in O- Expanded)7.Extract Oi using R11 and R12 based on O-Expanded8.endif9.end for10.set T-Expanded=T-Expanded+Ti ,O-Expanded=O-Expanded+Oi 11.for each parsed sentence in R12.if(Extracted features not in T- Expanded)13.Extract T
56、i using R31 and R32 based on T-Expanded14.endif15.if(Extracted opinion words not in O- Expanded)16.Extract Oi using R21 and R22 based on T-Expanded17.endif18.end for19.set T-Expanded=T-Expanded+Ti ,O-Expanded=O-Expanded+Oi 20.until size(Ti)=0, size(Oi )圖 3.2 傳播算法過程3.4觀點詞情感傾向判斷對于評論標簽,情感屬性是非常重要的,因此提取觀
57、點詞的同時也應該被賦予情感屬性。一般的情感判斷方法有同義詞法(基于已有的類似HowNet 語義網絡詞庫)、點互信息法、機器學習等各類方法。而評論作為一種表達觀點的簡短文本,用戶的觀點一般是前后一致的,除非使用了“不過”、“盡管”等翻轉詞匯。因此這里我們使用一種根據上下文的分詞方法,這個標注過程在觀點詞提取緊接一步進行。在進行方法描述之前,首先說明一下下面這兩個普遍適用的前提觀點:觀點 1:一個評論是由單個評論者寫的文檔。通常的話,評論者對于一個特征詞的情感傾向是相同的,盡管有時特征詞會出現不止一次。觀點 2:在一個領域中,相同的觀點詞擁有相同的情感屬性。第三章評論特征提取19基于上述的觀察,我
58、們就可以給特征詞和觀點詞分析情感傾向了。在評論中的一個特征詞的情感傾向需要根據評論中已知的特征詞來判斷。接下來描述三個規則,它們被用來判斷提取出的觀點詞和特征詞的情感傾向:1一致性規則:對于被已知特征詞提取的觀點詞和被已知觀點詞提取的特征詞,它們的情感傾向是根據已知詞來分配的分配與已知詞一樣的情感屬性。例如,如果A 是一個觀點詞(或特征詞),B 是一個特征詞(或觀點詞),并且A 是通過 B 提取出來的,那么 A 將會被賦予和 B 同樣的情感傾向。實際上,特征詞是名詞,名詞本身是不傳遞情感傾向,觀點詞也僅僅是人們用來表達他們對某一商品特征的態度(褒、貶、中性) 。因此,特征的情感傾向是為了算法的
59、執行才賦予的,并且是從關聯的觀點詞那里繼承得來的。2非一致性規則:對于被已知特征詞提取的觀點詞和被已知觀點詞提取的特征詞, 除非它們有否定詞在它們周圍,我們都將它們作為已知的賦予同樣的情感傾向。例如, 判斷 A 和 B 都是特征詞(或觀點詞),A 是通過B 提取出來的,如果在 A 和 B 之間沒有否定詞,A 就會被賦予和 B 一樣的情感傾向;如果有,那就是相反的情感傾向。我們也注意到,當它們(否定詞)被一起使用或者與否定詞相關聯(通過檢測每個觀點詞周圍的 5 個詞窗大小范圍的詞),這些詞會取消詞性變化。詞性變化,僅會當在兩個觀點詞或特征詞之間有奇數數量的否定詞時,才會發生。在目前的工作中,否定
60、詞被設定為包括“不”、“非”、“沒(沒有)”、“盡管”、“但是”等詞。古漢語中,關于否定的詞有很多,但是現實情況中,這類情況基本不會出現在商品評論上,因此這里忽略那些詞。3整體評論規則:通過來自其他評論的特征詞,會有新的評論詞被提取出來。在這種情況下,這些特征詞不應傳遞情感傾向,因為它們不符合觀點 1,因此,觀點詞不會被分配情感傾向。并且,如果這些觀點是僅能在當前的評論中被發現,那么觀點 2 就不能適用。為了給這樣的觀點詞賦予情感傾向,本文使用該評論整體的情感傾向來推斷。假設觀點詞與評論的情感傾向一致,也就是說,如果評論是積極的,觀點詞被分配為樂觀的,否則為悲觀的。評論情感傾向由一個整體情感值來決定,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高一下學期《雙休時代自由時間背后暗藏殘酷篩選+你是“獵手”還是“獵物”?》主題班會
- 2025年電動車儀表盤項目可行性研究報告
- 2025年甲醛捕捉劑項目可行性研究報告
- 2025年瓷線輪項目可行性研究報告
- 2025年玻璃纖維耐高溫除塵(布)袋項目可行性研究報告
- 2025年豬肉排骨香精項目可行性研究報告
- 低壓電器 課件 單元三 項目三 任務四 掌握三相異步電動機降壓啟動控制線路
- 山東省菏澤一中2025年高三下學期線上模擬考試(2)生物試題含解析
- 重慶航天職業技術學院《固體廢物處理與處置》2023-2024學年第二學期期末試卷
- 云南省昆明黃岡實驗學校2025屆高三“臨門一腳”英語試題含解析
- GB/T 26354-2025旅游信息咨詢服務
- 第15課《青春之光》課件-2024-2025學年統編版語文七年級下冊
- (正式版)HGT 22820-2024 化工安全儀表系統工程設計規范
- 園林工程建設概述課件
- 《鋼鐵是怎樣煉成的》知識競賽課件講義
- 雙心治療課件
- 高考寫作指導:作文訓練之語言的提升
- 幼兒園大班數學:《層級分類》 課件
- 工程(產品)交付后顧客滿意度調查表
- 項目定標審批表
- 弱電安裝安全安全技術交底
評論
0/150
提交評論