任湘 等



楊曦??張俊坤??陳堯
摘? 要:隨著互聯網進入“大數據”時代,為了更好地服務社會,大數據將朝向智能化、個性化、商業化進行發展。隨著網絡用戶的爆發性增長,在交流平臺提供了大量文字內容數據源,實時性評論反映了用戶對于旅游項目各方面的態度,通過分析用戶的評價獲取用戶需求,根據需求提供更加優質的服務、高效的處理流程,成為分析旅游項目的重要方式。鑒于用戶情感觀點表達形式極具開放性,文章通過機器學習實現對評論的情感分析,從而根據情感分析研究結果對攀枝花旅游業發展提出科學合理意見。
關鍵詞:情感分析;機器學習;爬蟲技術
中圖分類號:TP181? 文獻標識碼:A? 文章編號:2096-4706(2023)24-0131-04
Panzhihua Tourism Comments and Emotional Analysis
REN Xiang, YANG Xi, ZHANG Junkun, CHEN Yao
(School of Mathematics and Computers (Big Data Science), Panzhihua University, Panzhihua? 617000, China)
Abstract: As the Internet enters the era of “Big Data”, in order to better serve the society, Big Data will develop towards intellectualization, personalization and commercialization. With the explosive growth of network users, a large number of text content data sources have been provided on the communication platform. Real-time comments reflect users' attitudes towards various aspects of tourism projects. Obtaining user needs through analyzing user evaluation, providing more high-quality services and efficient processing process according to needs, have become an important way to analyze tourism projects. In view of the openness of the expression form of users' emotional views, this paper realizes the emotional analysis of comments through Machine Learning, and puts forward scientific and reasonable opinions on the development of Panzhihua tourism industry according to the research results of emotional analysis.
Keywords: emotional analysis; Machine Learning; crawler technology
0? 引? 言
自媒體的時代,消息傳播異常迅猛,用戶熱衷于使用自媒體分享自己的感官體驗,網絡輿論導向對于旅游、餐飲、航空等領域愈發重要。由于網絡評論的時效性強,若不實時掌控用戶輿論導向,及時對用戶訴求進行響應和解決,將對旅游項目的形象形成負面影響,影響客流量造成經濟損失。
與此同時,網絡評論內容以及網絡評分高低也是影響用戶輿論導向的重中之重,網絡評論是分享用戶體驗的網絡文學載體,在實際情況中,用戶表達的多樣性以及隱性表達使得獲取反饋信息并不理想。而目前平臺上的網絡評分,是根據各方面服務進行星級選擇,從而形成“好”“中”“差”這三類別評價,而實際生活中,用戶可能因為某些原因進行好評,但實際文字評論中表現了負面情緒,或者提出了優化建議,若僅僅片面地通過三個類別判斷用戶滿意度,將無法發現問題并進行改善。
根據上述信息可知,如果只從好評和高分從而得出用戶滿意度結論,不深度挖掘用戶評價中反饋的信息,往往達不到預期的效果,用戶真正訴求得不到相應處理。因此,本文在獲取攀枝花旅游評論數據的基礎上,設定情感傾向詞,根據語義使用線性代數和統計分析的方法,建立基于事理圖譜文本的情感傾向分析,從而對用戶評論進行情感傾向挖掘,幫助旅游項目發現旅游路線、景區交通、員工服務、酒店設施等存在的不足之處,及時采取響應的補救措施,改善景區各方面服務,提高用戶滿意度,完善景區建設,從而引導積極的輿論導向,產生更大的經濟效益。
1? 處理流程
本文通過爬蟲進行數據獲取,使用pandas庫進行初步的數據處理,根據需要選取不同的詞向量化方式ConutVector或TF_IDF后傳入模型進行情感分析。流程圖如圖1所示。
2? 數據來源
數據來源為使用Python爬取攜程旅行網上攀枝花旅游景點的評論數據,由于攀枝花旅游景點數量較多,因此使用seleium自動化工具對數據進行爬取,防止IP地址被封禁。其關鍵函數實現如下:
def open_browser():
chrome = webdriver.Chrome()
url ="https://you.ctrip.com/sight/pzhu/s0-p1.html"
chrome.maximize_window()
chrome.get(url)
time.sleep(1)
return chrome
def clicks(chrome):
element_A = chrome.find_element_by_xpath()
webdriver.ActionChains(chrome).move_to_element(element_A).perform()
chrome.find_element_by_xpath().click()
time.sleep(1)
# 切換窗口
windows = chrome.window_handles
chrome.switch_to.window(windows[-1])
# 下拉窗口及點擊
element_new = chrome.find_element_by_xpath()
webdriver.ActionChains(chrome).move_to_element(element_new).perform()
# 選擇排序方式
chrome.find_element_by_xpath().click()
time.sleep(0.5)
3? 數據處理
3.1? 數據預處理
首先我們發現原始數據中顧客評分采用0~5分制,為便利后續處理,根據原始評分生成一個新的對應標簽。新標簽將評分低于3分標為-1,表示游客對該景點評價較低;3分標為0,表示游客對該景點評價較為一般;而高于3分標為1,表示游客對該景點較為滿意。處理后的部分數據如圖2所示。
部分實現代碼如下:
# 生成標簽
label = []
for grade in science["grades"]:
if int(grade[0]) < 3:
label.append(-1)
elif int(grade[0]) == 3:
label.append(0)
else:
label.append(1)
science["label"] =? label
science = science[["comments", "label"]]
3.2? 分詞處理
由于中文字符間邊界不明顯,因此需要對待評論內容進行分詞處理。這里使用Python中jieba中文分詞組件。jieba分詞運用到了數據結構里的trie(前綴樹)對詞語進行高效的分類,便于查找,最后將生成所給句子中漢字所有可能成詞情況所構成的有向無環圖,主要采用了動態規劃來找出詞頻最大切分組合;對于未登錄詞,采用了基于漢字成詞能力的HMM模型,采用Viterbi算法進行計算,將詞語分為開始、中間、結束和單獨成詞四種分類來自動分詞。jieba共有三種分詞模式:精確模式、全模式、搜索引擎模式。考慮到游客表達方式的多樣性以及重復性,為了提高分詞的準確性以及解決語句中的歧義,并且不存在冗余單詞,本文采用jieba分詞中精準模式,將語句用最精確的方式分開,相關函數為jieba.cut(),并返回一個可迭代的數據類型。部分內容如圖3所示。
# 分詞及文本處理
for line in science["comments"]:
#文本中的中文符號和英文符號
line = re.findall(r"[\u4e00-\u9fa5]", line)
line = "".join(line)
# 精準模式分詞
line = jieba.cut(line)
line = " ".join(line)
comment.append(line)
science["comments"] = comment
science.to_csv("comments/science_jieba.csv")
3.3? 特征提取
特征提取是機器學習的重要步驟,其目的是在最小維數特征空間中異類模式點相距較遠(類間距離較大),而同類模式點相距較近(類內距離較小),從而獲得一組“少而精”且分類錯誤概率小的分類待征。本文嘗試了兩種算法進行特征提取,分別通過使用TF-IDF和CountVectorizer對分詞后的中文語句做向量化處理。TF-IDF與一個詞語在文章中的出現次數成正比,與該詞在整個文章中的出現次數成反比,并且詞語對文章的重要性越高,它的TF-IDF值就越大。TF-IDF的計算分為三步:
1)計算詞頻:
2)計算文檔逆頻率:
3)計算TF-IDF:
為了保證模型的預測和良好的泛化能力,對相應參數進行設定。并且使用CountVectorizer時,追加對參數token_pattern進行一定設定,去除了干擾數據,提高了數據的精準性。
3.3.1? 使用TF-IDF進行特征提取
部分代碼如下:
#開始使用TF-IDF進行特征的提取,對分詞后的中文語句做向量化。
TF_Vec=TfidfVectorizer(max_df=0.8,
min_df = 3,
stop_words=frozenset(stopwords)
)
#擬合數據,將數據準轉為標準形式,一般使用在訓練集中
train_x_tfvec=TF_Vec.fit_transform(train_x)
#通過中心化和縮放實現標準化,一般使用在測試集中
test_x_tfvec=TF_Vec.transform(test_x)
3.3.2? 使用CountVectorizer()進行特征提取
部分代碼如下:
#開始使用CountVectorizer()進行特征的提取。它依據詞語出現頻率轉化向量。并且加入了去除停用詞
CT_Vec=CountVectorizer(max_df=0.8,#去除超過這一比例的文檔中出現的關鍵詞(過于平凡)。
min_df = 3,#去除低于這一數量的文檔中出現的關鍵詞(過于獨特)。
token_pattern=u'(?u)\\b[^\\d\\W]\\w+\\b', #使用正則表達式,去除想去除的內容
stop_words=frozenset(stopwords))#加入停用詞)
#擬合數據,將數據轉化為標準形式,一般使用在訓練集中
train_x_ctvec=CT_Vec.fit_transform(train_x)
#通過中心化和縮放實現標準化,一般使用在測試集中
test_x_ctvec=CT_Vec.transform(test_x)
3.4? 劃分數據集
本文將數據集劃分為訓練數據與測試數據,訓練數據與測試數據按照2:8的比例進行分配,訓練數據用于訓練機器學習算法,測試集用于檢測訓練數據所訓練出模型的效果,并且采用了sklearn中的model_selection中的train_test_split()方法,對訓練數據進行分割。劃分訓練數據與測試數據代碼如下:
train_x, test_x, train_y, test_y = model_selection.train_test_split(science["comments"], science["label"], test_size=0.2, random_state=0, shuffle=False)
其中本研究將隨機關閉,是為了當訓練出現過擬合或其他情況時便于復現。
4? 模型構建
本文在構建模型時,因部分參數不確定,進行模型優化時,模型將自行在訓練過程中確定參數,最終分別得到經過兩種方法得到的實驗結果。如表1所示,其中,使用ConutVector轉化的向量作為特征傳入模型后,使用模型優化的程序時間更長,相應的測試集準確率高于使用TF_IDF的準確率。
5? 結果分析
本文通過模型發現游客評論主要情感體現有以下詞語:“景色優美、文化底蘊、震撼、游客滯留、消費高、商品貴、避暑勝地”,從“景色優美”“震撼”等詞語分析出游客對于攀枝花景色的正面情緒,游客需求可以體現在其文本評論中,如“游客滯留”“消費高”此類詞語表現游客對于交通及商品消費的消極和負面情緒,因此有關部門應當根據此類詞語采取相應措施,滿足游客需求,進一步提高公共文化服務的效能。部分詞語如圖4所示。
6? 結? 論
總的來說,本文在特征提取過程中,CountVectorizer只考慮詞匯在文本中出現的頻率,TfidfVectorizer在考慮詞頻的基礎上,還考慮了詞匯在文本中的數量,在數據充足的情況下,效果將會更顯著。而本文受困于評論數據單一并且不充足,若有更充足的攀枝花旅游評論數據,該預測值的偏差將會更小。并且本文針對評論情感分析的實現方法,也可應用在其他領域,例如對產品體驗評論、餐飲服務評論等進行用戶情感分析,收集結果后對產品、服務等進行調整。該方式能更好地滿足游客精神文化服務需求,從而進一步帶動攀枝花城市建設,促進城市發展。
參考文獻:
[1] 何雪琴,楊文忠,吾守爾·斯拉木,等.融合句法規則和CNN的旅游評論情感分析 [J].計算機工程與設計,2019,40(11):3306-3312.
[2] 楊英.小空間尺度區域旅游資源及其評價:以香港為例 [J].產經評論,2012,3(1):104-110.
[3] 薄湘平,張慧.旅游服務補救質量的綜合模糊評價方法探討 [J].南開管理評論,2005(4):12-13+16.
[4] 劉逸,保繼剛,朱毅玲.基于大數據的旅游目的地情感評價方法探究 [J].地理研究,2017,36(6):1091-1105.
[5] 趙忠君,孫霞.基于扎根理論的出境游游客滿意度影響因素研究——以途牛旅游網游客點評為例 [J].湘潭大學學報:哲學社會科學版,2015,39(5):87-91.
[6] 朱峰,呂鎮.國內游客對飯店服務質量評論的文本分析——以e龍網的網友評論為例 [J].旅游學刊,2006(5):86-90.
[7] 高靜,章勇剛,莊東泉.國內旅游者對海濱旅游城市的感知形象研究——基于對攜程網和同程網網友點評的文本分析 [J].消費經濟,2009,25(3):62-65.
[8] 張珍珍,李君軼.旅游形象研究中問卷調查和網絡文本數據的對比——以西安旅游形象感知研究為例 [J].旅游科學,2014,28(6):73-81.
作者簡介:任湘(2002—),女,漢族,四川綿陽人,本科在讀,研究方向:機器學習。
收稿日期:2023-05-06
基金項目:四川省社會科學重點研究基地中國酒史研究中心資助項目(ZGJS2022-07)