Editing
Simple sentiment analysis using regular expression
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
使用 [[Regular expression]] 簡易地進行文字的「情感分析」([https://en.wikipedia.org/wiki/Sentiment_analysis sentiment analysis])。 == 輸入文字範例1 == <pre> 我喜歡 pokemon。 我不喜歡 pokemon。 我樂愛 pokemon。 我不樂愛 pokemon。 </pre> 三種類型情緒 # 正面情緒 (positive sentiment) #* 方式: 搜尋包含「喜歡」、「樂愛」但是前面不緊接「不」字 #* 搜尋: {{kbd | key =<nowiki>[^不](喜歡|樂愛)</nowiki>}} # 負面情緒 (negative sentiment) #* 方式: 搜尋包含「不喜歡」、「不樂愛」 #* 搜尋: {{kbd | key =<nowiki>[不](喜歡|樂愛)</nowiki>}} # 中性情緒 (neural sentiment) #* 方式: 搜尋不包含「喜歡」、「樂愛」 #* 搜尋: {{kbd | key =<nowiki>^((?!(喜歡|樂愛)).)*$</nowiki>}} 但是這樣的搜尋方式,沒有處理到雙重否定 (double negative,負負得正) 比較複雜文法的句子。 == 輸入文字範例2 == <pre> 我喜歡 pokemon。 我不喜歡 pokemon。 說我不喜歡 pokemon 是錯誤的。 我樂愛 pokemon。 我不樂愛 pokemon。 說我不樂愛 pokemon 是錯誤的。 </pre> 三種類型情緒 # 正面情緒 (positive sentiment) #* 方式: 搜尋 (1) 包含「喜歡」、「樂愛」但是前面不緊接「不」字 (2) 包含「不喜歡」、「不樂愛」,句子中同時包含否定字串,如例子的「錯誤」。 #* 搜尋: #** 條件 (1) 搜尋: {{kbd | key =<nowiki>[^不](喜歡|樂愛)</nowiki>}}、 #** 條件 (2) 搜尋: 找到雙重否定 {{kbd | key =<nowiki>(?=.*[不](喜歡|樂愛))(?=.*錯誤).*</nowiki>}}、 #** 整合條件 (1) 和條件 (2) 的搜尋: {{kbd | key =<nowiki>[^不](喜歡|樂愛)|(?=.*[不](喜歡|樂愛))(?=.*錯誤).*</nowiki>}} # 負面情緒 (negative sentiment) #* 方式: 搜尋包含「不喜歡」、「不樂愛」,同時句子中同時不包含否定字串,如例子的「錯誤」。 #* 搜尋: {{kbd | key =<nowiki>^(?!.*錯誤).([不](喜歡|樂愛)).*$</nowiki>}} # 中性情緒 (neural sentiment) #* 方式: 搜尋不包含「喜歡」、「樂愛」 #* 搜尋: {{kbd | key =<nowiki>^((?!(喜歡|樂愛)).)*$</nowiki>}} == 輸入文字範例3 == 「不」、「愉快」相隔幾字 <pre> 與 pokeman 的冒險,會有不少的爭執、不愉快 與 pokeman 的相處比較不會因為這個方面而鬧得不愉快 和 pokeman 相處滿愉快 鬧的心情不是很愉快 沒有很愉快 很愉快 </pre> 三種類型情緒 # 正面情緒 (positive sentiment) #* 方式: 搜尋包含「愉快」但是前面不包含「不」或「沒」字 #* 搜尋: 搜尋: {{kbd | key =<nowiki>^((?![不|沒]).)+(愉快)</nowiki>}} 或 {{kbd | key =<nowiki>^([^不|沒])+(愉快)</nowiki>}} ([https://regex101.com/r/ABzfEj/1 線上測試]) # 負面情緒 (negative sentiment) #* 方式: 搜尋包含「愉快」但是前面包含「不」或「沒」字 #* 搜尋: {{kbd | key =<nowiki>([不|沒]).*(愉快)</nowiki>}} # 中性情緒 (neural sentiment) #* 方式: 搜尋不包含「愉快」、「喜歡」、「樂愛」 #* 搜尋: {{kbd | key =<nowiki>^((?!(愉快|喜歡|樂愛)).)*$</nowiki>}} == 備註 == * 段落每個句子需要資料前處理,分成每個句子一行。 * 情緒文字需要事先建立詞庫。 * 詞庫文字大量時,效能未知。 * 本方法沒有處理: 段落文字不包含關鍵字,需要透過前後文判斷情緒時。 issues * 以標點符號當作斷點 == 延伸閱讀 == * [https://en.wikipedia.org/wiki/Sentiment_analysis Sentiment analysis - Wikipedia] * [https://en.wikipedia.org/wiki/Emotion_classification Emotion classification - Wikipedia] * [http://www.rexegg.com/regex-lookarounds.html Lookahead and Lookbehind Tutorial—Tips &Tricks] * [http://www.alchemyapi.com/products/alchemylanguage/sentiment-analysis Sentiment Analysis | AlchemyAPI] [[Category:Regular expression]] [[Category:Software]] [[Category:Programming]] [[Category:Data Science]] [[Category:Search]] [[Category:String manipulation]]
Summary:
Please note that all contributions to LemonWiki共筆 are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
LemonWiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Template:Kbd
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Current events
Recent changes
Random page
Help
Categories
Tools
What links here
Related changes
Special pages
Page information