企業(yè)負面信息采集和分級系統(tǒng)設計與實現(xiàn)《網(wǎng)站規(guī)劃與設計》期末論文3

 

圖3-8??三層DFD圖?負詞庫管理系統(tǒng)

3.1.3??數(shù)據(jù)模型

1.??數(shù)據(jù)字典

表3-1??negative_infos表

字段名 含義 類型 非空 依賴
ID 負面信息ID INT?UNSIGEND 主鍵
TITLE 負面信息標題 VARCHER(50)
SOURCE 負面信息來源 VARCHER(100)
TIME 負面信息發(fā)表時間 DATE
CONTENT 負面信息正文 TEXT
LEVEL 負面信息負面程度 INT
COMPANY 負面信息涉及公司 VARCHAR(20)
CREATED_AT 本記錄創(chuàng)建時間 TIMESTAMP
UPDATED_AT 本記錄更新時間 TIMESTAMP

表3-2??negative_words表

字段名 含義 類型 非空 依賴
ID 負詞ID INT?UNSIGEND 主鍵
CONTENT 負詞內(nèi)容 VARCHAR(10)
LEVEL 負詞負面等級 INT
CREATE_AT 本記錄創(chuàng)建時間 TIMESTAMP
UPADTE_AT 本記錄更新時間 TIMESTAMP

表3-3?users表

字段名 含義 類型 非空 依賴
ID 用戶ID INT?UNSIGEND 主鍵
NAME 用戶名稱 VARCHAR(10)
EMAIL 用戶郵箱 VARCHAR(50) 主鍵、外鍵
PASSWORD 用戶密碼 VARCHAR(30)
REMEMBER_TOKEN 用戶標識 VARCHAR(100)
CREATED_AT 本記錄創(chuàng)建時間 TIMESTAMP
UPDATE_AT 本記錄更新時間 TIMESTAMP

表3-4??password_resets表

字段名 含義 類型 非空 依賴
EMAIL 用戶郵箱 VARCHAR(50) 主鍵,參照user表
TOKEN 用戶標識 VARCHAR(100)
CREATED_AT 本記錄創(chuàng)建時間 TIMESTAMP

 

3.2??非功能性需求

3.2.1??易用性

對于用戶,在使用系統(tǒng)時,應該是無學習成本的。用戶不需要了解系統(tǒng)的架構(gòu)與實現(xiàn)。界面應盡可能的簡潔,以減少無效信息對用戶的干擾和誤導,讓用戶可以一眼發(fā)現(xiàn)需要的功能。

3.2.2??通用性

系統(tǒng)的使用應該與設備及平臺無關(guān)。在不同平臺,不同設備,不同瀏覽器上,系統(tǒng)應盡可能的展現(xiàn)給用戶相同的界面,至少要保證使用邏輯是相同的。

3.2.3??可維護性

系統(tǒng)在建成之后,應該是可維護的。對于新添加的功能,可以在不影響原有功能的情況下正常運行。系統(tǒng)出現(xiàn)重大問題時,可以通過回滾或DeBug的手段重新上線。

3.2.4??性能

系統(tǒng)應該在用戶可接受的時間內(nèi)完成用戶請求的業(yè)務。系統(tǒng)應該能長時間的持續(xù)運行。系統(tǒng)應該具有足夠的容量來保存處理業(yè)務的過程中產(chǎn)生的數(shù)據(jù)。

3.2.5??時效

由于業(yè)務的特殊性,系統(tǒng)中的數(shù)據(jù)應是新鮮的。對于老舊數(shù)據(jù)應該清理或保存到靜態(tài)存儲作為資料備份。在線數(shù)據(jù)的產(chǎn)生時間應該是較近的。

4??詳細設計

4.1??系統(tǒng)業(yè)務流程

本系統(tǒng)由用戶通過瀏覽器訪問服務器地址開始業(yè)務流程。對于游客,需要首先注冊成為系統(tǒng)的用戶。用戶需要進行登錄,以完成身份驗證。然后根據(jù)角色的不同,分別進入普通用戶的業(yè)務流程和管理員的業(yè)務流程。對于普通用戶,登錄后,用戶進入展示了負面信息列表的主頁面,通過搜索框,可以篩選出經(jīng)過聚集的負面信息列表,然后通過點擊負面信息標題,用戶可以查看負面信息的詳細內(nèi)容,關(guān)閉頁面后流程結(jié)束。對于管理員,除了普通用戶的全部流程,管理員可以啟用后臺管理流程。管理員進入后臺管理頁面后,可以選擇負面信息管理、負詞庫管理及爬蟲這三個不同的功能,每個功能具有不同的子流程。關(guān)閉頁面后,流程結(jié)束。為了直觀的描述系統(tǒng)業(yè)務流程,繪制如圖4-1所示的流程圖。

 

圖4-1?系統(tǒng)業(yè)務流程圖

在負面信息管理子流程中,流程開始于管理員進入負面信息管理模塊。在負面信息管理模塊中,首先需要進行功能選擇。對于修改和新增負面信息,本質(zhì)是以數(shù)據(jù)庫中的表字段為最小單位進行增量更新,故接下來進入相同流程。首先展示信息表單,之后填寫信息增量并保存,流程結(jié)束。而刪除負面信息是以數(shù)據(jù)庫表中的元組為單位進行操作,故進入不同流程。由于刪除操作具有原子性,故刪除過程結(jié)束后,直接結(jié)束。流程圖如圖4-2。

 

圖4-2?負面信息管理子流程

 

 

在負詞庫管理子流程中,流程開始于管理員進入負詞庫管理模塊。在負詞庫管理模塊中,首先需要進行功能選擇。對于修改和新增負詞,本質(zhì)是以數(shù)據(jù)庫中的表字段為最小單位進行增量更新,故接下來進入相同流程。先展示負詞的表單,之后填寫負詞增量并做保存,流程結(jié)束。而刪除負詞是以數(shù)據(jù)庫表中的元組為單位進行操作,故進入不同流程。由于刪除操作具有原子性,故刪除果程結(jié)束后,直接結(jié)束。流程圖如圖4-3所示。

 

圖4-3?負詞庫管理子流程

在爬蟲管理子流程中,流程開始于管理員進入爬蟲管理模塊。之后管理員輸入企業(yè)名稱,把名稱發(fā)送到后端。然后后端執(zhí)行爬蟲,對負面信息搜索并分級。之后進行保存。保存的過程中存在一個校驗的子過程,在系統(tǒng)實現(xiàn)部分進行描述。至此流程結(jié)束。如圖4-4所示。

 

圖4-4?爬蟲子流程

4.2??系統(tǒng)結(jié)構(gòu)設計

4.3.1??系統(tǒng)結(jié)構(gòu)圖

 

 

圖4-5?系統(tǒng)結(jié)構(gòu)圖

4.3.2??數(shù)據(jù)訪問

本系統(tǒng)使用的數(shù)據(jù)存儲工具是MySQL數(shù)據(jù)庫,但是所實現(xiàn)的數(shù)據(jù)訪問方式是數(shù)據(jù)庫無關(guān)的。Laravel提供了Eloquent,它實現(xiàn)了一種?ORM(對象關(guān)系映射)的方法,其效果等同于創(chuàng)建了一個虛擬對象數(shù)據(jù)庫。ORM主要傳達三個思想:?首先是簡單。在建模的時候保存最基本的信息即實體,對于約束、關(guān)聯(lián)等,則在ORM系統(tǒng)中考慮。其次是表現(xiàn)力。對于文檔化的數(shù)據(jù)庫結(jié)構(gòu),應該足夠清晰易懂。最后是精確性?;诤唵螖?shù)據(jù)模型構(gòu)建的ORM應該完整的傳達數(shù)據(jù)庫模型所想表達的信息和約束。通過Eloquent,我們可以創(chuàng)建一個模型與數(shù)據(jù)表關(guān)聯(lián)。通過模型我們可以直接使用面向?qū)ο蟮姆绞?,實現(xiàn)對數(shù)據(jù)表的增刪改查及關(guān)系映射等。

4.3.3??身份認證

身份認證子系統(tǒng)主要由三個模塊構(gòu)成,包括登錄、注冊及忘記密碼。對于沒有登錄的情況,我們會給出一個登錄頁面,在登錄之前,系統(tǒng)不允許使用者使用除登錄注冊和忘記密碼外的其他功能。

  1. 未登錄或者登錄過期的使用者,在訪問服務器后,首先被給出一個登錄界面,使用者在此輸入賬號密碼。點擊Login后,信息將通過表單提交給服務器,之后服務器進行驗證。
  2. 如果忘記密碼,用戶可以點擊Forgot?Your?Password鏈接進行密碼重置。進入密碼重置的頁面后,用戶輸入注冊時的郵箱。郵箱地址通過表單提交給服務器。如果郵箱存在,在通過郵件驗證后,系統(tǒng)為用戶重置密碼并要求設置新密碼。設置完成并提交后,密碼更新。
  3. 點擊右上角的Register按鈕可以進入注冊頁面。在此,系統(tǒng)要求使用者填寫注冊信息。使用者填寫并提交后,系統(tǒng)會驗證信息是否合法。對于合法的注冊信息,允許注冊,注冊成功后會自動登錄并進入信息展示頁。

4.3.4??負面信息展示

  1. 1.?已登錄用戶自動跳轉(zhuǎn)到一個負面信息列表,系統(tǒng)在此展示一些負面信息的概要信息。包括負面信息的標題,時間,來源,相關(guān)企業(yè),負面等級。
  2. 用戶可以點擊負面信息標題來進入負面信息詳情頁面查看具體內(nèi)容。在用戶點擊標題后,前端向服務器提交一個GET請求,請求中附帶所點擊的負面信息的ID。服務器通過ID,在數(shù)據(jù)庫中查找對應的負面信息并返回到瀏覽器。
  3. 用戶可以在篩選框內(nèi)輸入企業(yè)名稱,點擊篩選負面信息后,頁面向服務器提交一個POST請求,請求中包含用戶提交的企業(yè)名稱。服務器接收這個請求后,通過該字段對負面信息表進行聚集,之后返回給前端,瀏覽器就會展示篩選后的負面信息列表。

4.3.5??負面信息管理

  1. 用戶點擊后臺管理按鈕可以進入后臺管理模塊。在后臺管理模塊中,有具體的三個模塊的入口。
  2. 點擊負面信息管理,可以進入負面信息管理模塊。在此處展示了負面信息的標題以及管理模塊的子功能入口。
  3. 點擊新增,系統(tǒng)展示一個表單,要求用戶填寫需要所新增負面信息的詳情。其中包括標題、來源、發(fā)布時間、企業(yè)名稱、詳細內(nèi)容。用戶填寫后,點擊新增負面信息。此時頁面會向服務器發(fā)出一個POST請求來提交剛剛填寫的表單。服務器接收表單后,通過數(shù)據(jù)訪問層,把收到的信息保存到數(shù)據(jù)庫。頁面返回到負面信息管理。
  4. 點擊修改,頁面向服務器發(fā)送一個GET請求,請求中包含對應負面信息的ID,之后服務器獲取ID所對應的信息后,返回一個填入那些信息的表單。用戶可以對信息進行更改。點擊提交修改后,頁面發(fā)出一個POST請求。服務器收到請求后,把修改寫入數(shù)據(jù)庫。頁面返回到負面信息管理。
  5. 點擊刪除,頁面向服務器發(fā)送一個偽造的請求。請求中包含負面信息ID,偽造的請求類型為DELETE。服務器收到請求后,執(zhí)行刪除操作,對該ID對應的記錄進行刪除。頁面返回到負面信息管理。

4.3.6??負詞庫管理

  1. 點擊負詞庫管理,可以進入負詞庫管理模塊。在此處展示了負詞內(nèi)容以及管理模塊的子功能入口。
  2. 點擊新增,系統(tǒng)展示一個表單,要求用戶填寫需要所新增負面信息的詳情。其中包括負詞和分級。用戶填寫后,點擊提交負詞。此時頁面會向服務器發(fā)出一個POST請求來提交剛剛填寫的表單。服務器接收表單后,通過數(shù)據(jù)訪問層,把收到的信息保存到數(shù)據(jù)庫。頁面返回到負詞庫管理。
  3. 點擊編輯,頁面向服務器發(fā)送一個GET請求,請求中包含對應負詞的ID,之后服務器獲取ID所對應的信息后,返回一個填入那些信息的表單。用戶可以對信息進行更改。點擊提交修改后,頁面發(fā)出一個POST請求。服務器收到請求后,把修改寫入數(shù)據(jù)庫。頁面返回到負詞庫管理。
  4. 點擊刪除,頁面向服務器發(fā)送一個偽造的請求。請求中包含負詞ID,偽造的請求類型為DELETE。服務器收到請求后,執(zhí)行刪除操作,對該ID對應的記錄進行刪除。頁面返回到負詞庫管理。

4.3.7??爬蟲管理

  1. 點擊爬蟲管理進入爬蟲模塊。頁面展示一個表單,在表單中填寫企業(yè)名稱后點擊查詢負面信息,表單會以POST請求提交給服務器。收到請求的服務器執(zhí)行爬蟲模塊從互聯(lián)網(wǎng)獲取企業(yè)負面信息。
  2. 爬蟲首先通過URL參數(shù),把公司名稱作為關(guān)鍵字,向百度提交一個GET請求。通過get_html收到請求返回的結(jié)果后,爬蟲模塊通過get_url方法,從搜索結(jié)果中提取出指向負面信息來源的URL,之后對于提取到的每一個URL,再次通過get_html方法獲取到網(wǎng)頁文本并保存到本地。獲取到的網(wǎng)頁文本包含了廣告,頁頭,側(cè)邊欄等許多無效信息。通過dom_resorce對文本進行解析,提取出標題、時間、來源、正文等信息,對于無法提取出完整信息的文本,我們認為其信息不完整,做丟棄處理。
  3. 得到負面信息后,我們對其進行去重,對于標題或內(nèi)容完全相同的信息,即使來自不同的來源,我們也認為其相同。丟棄判斷為重復的信息。
  4. 對于不重復的信息,我們獲取其正文,并通過get_level方法處理,得到文本的負面等級。get_level方法通過分詞算法對文本進行分詞,然后把分詞后的文本向量化。通過文本分類算法,對向量化的文本進行分類,之后基于詞庫對分類的文本計算出負面等級。這部分通過百度提供的情感分析API實現(xiàn)。對API提交文本,會得到一個包括負面可能,正面可能,置信度,情感傾向等信息的數(shù)組。通過

Level?=?2?*?(負面概率?-?0.5)?*?置信度?*?10

變換得到負面等級。此時得到完整的負面信息,將其保存到數(shù)據(jù)庫。算法執(zhí)行結(jié)束后,會返回一個執(zhí)行結(jié)果頁面。

 

http://www.wxtxxndq.com

http://www.guanjunguanyu.cn

http://www.nuomasilin.cn/

http://www.anlancs.com/

更多
  • 該日志由 于2020年06月03日發(fā)表在 未分類 分類下, 你可以發(fā)表評論,并在保留原文地址 及作者的情況下引用到你的網(wǎng)站或博客。
  • 本文鏈接: 企業(yè)負面信息采集和分級系統(tǒng)設計與實現(xiàn)《網(wǎng)站規(guī)劃與設計》期末論文3 | 幫助信息-動天數(shù)據(jù)
  • 版權(quán)所有: 幫助信息-動天數(shù)據(jù)-轉(zhuǎn)載請標明出處
  • 【上一篇】 【下一篇】

    0 Comments.

    發(fā)表評論