Simple sentiment analysis using regular expression: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Created page with "使用 Regular expression 簡易地進行「情感分析」([https://en.wikipedia.org/wiki/Sentiment_analysis sentiment analysis])。 == 輸入文字範例1 == <pre> 我...")
 
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
使用 [[Regular expression]] 簡易地進行「情感分析」([https://en.wikipedia.org/wiki/Sentiment_analysis sentiment analysis])。
使用 [[Regular expression]] 簡易地進行文字的「情感分析」([https://en.wikipedia.org/wiki/Sentiment_analysis sentiment analysis])。


== 輸入文字範例1 ==
== 輸入文字範例1 ==
Line 36: Line 36:
#* 方式: 搜尋 (1) 包含「喜歡」、「樂愛」但是前面不緊接「不」字  (2) 包含「不喜歡」、「不樂愛」,句子中同時包含否定字串,如例子的「錯誤」。
#* 方式: 搜尋 (1) 包含「喜歡」、「樂愛」但是前面不緊接「不」字  (2) 包含「不喜歡」、「不樂愛」,句子中同時包含否定字串,如例子的「錯誤」。
#* 搜尋:  
#* 搜尋:  
#** 條件(1): {{kbd | key =<nowiki>[^不](喜歡|樂愛)</nowiki>}}、
#** 條件 (1) 搜尋: {{kbd | key =<nowiki>[^不](喜歡|樂愛)</nowiki>}}、
#** 條件(2) 找到雙重否定 {{kbd | key =<nowiki>(?=.*[不](喜歡|樂愛))(?=.*錯誤).*</nowiki>}}、
#** 條件 (2) 搜尋: 找到雙重否定 {{kbd | key =<nowiki>(?=.*[不](喜歡|樂愛))(?=.*錯誤).*</nowiki>}}、
#** 整合條件 (1) 和條件 (2) 的搜尋 {{kbd | key =<nowiki>[^不](喜歡|樂愛)|(?=.*[不](喜歡|樂愛))(?=.*錯誤).*</nowiki>}}
#** 整合條件 (1) 和條件 (2) 的搜尋: {{kbd | key =<nowiki>[^不](喜歡|樂愛)|(?=.*[不](喜歡|樂愛))(?=.*錯誤).*</nowiki>}}
# 負面情緒 (negative sentiment)
# 負面情緒 (negative sentiment)
#* 方式: 搜尋包含「不喜歡」、「不樂愛」,同時句子中同時不包含否定字串,如例子的「錯誤」。
#* 方式: 搜尋包含「不喜歡」、「不樂愛」,同時句子中同時不包含否定字串,如例子的「錯誤」。
Line 46: Line 46:
#* 搜尋: {{kbd | key =<nowiki>^((?!(喜歡|樂愛)).)*$</nowiki>}}
#* 搜尋: {{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.rexegg.com/regex-lookarounds.html Lookahead and Lookbehind Tutorial—Tips &Tricks]
* [http://www.alchemyapi.com/products/alchemylanguage/sentiment-analysis Sentiment Analysis | AlchemyAPI]


[[Category:RegExp]] [[Category:Software]] [[Category:Programming]] [[Category:Data Science]] [[Category:Search]] [[Category:Text file processing]]
[[Category:Regular expression]] [[Category:Software]] [[Category:Programming]] [[Category:Data Science]] [[Category:Search]] [[Category:String manipulation]]
Anonymous user

Navigation menu