Simple sentiment analysis using regular expression: Difference between revisions
Jump to navigation
Jump to search
Simple sentiment analysis using regular expression (edit)
Revision as of 11:28, 25 February 2022
, 25 February 2022no edit summary
mNo edit summary |
No edit summary |
||
| (9 intermediate revisions by the same user not shown) | |||
| 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: | [[Category:Regular expression]] [[Category:Software]] [[Category:Programming]] [[Category:Data Science]] [[Category:Search]] [[Category:String manipulation]] | ||