Skip to main content

Emotion analyzer for Japanese

Project description

pymlask

coveralls.io pyversion latest version license

pymlask is a Python version of ML-Ask (eMotive eLement and Expression Analysis system)

For details about ML-Ask, See http://arakilab.media.eng.hokudai.ac.jp/~ptaszynski/repository/mlask.htm

See also http://qiita.com/yukinoi/items/ef6fb48b5e3694e9659c (in Japanese)

Contributions are welcome!

Dependencies

MeCab binary

Installation

Modified dictionary version (recommended)

pip install pymlask

ML-Ask Original dictionary version (same as Ptaszynski’s Perl version)

pip install git+https://github.com/ikegami-yukino/pymlask@original

Example

from mlask import MLAsk
emotion_analyzer = MLAsk()
emotion_analyzer.analyze('彼のことは嫌いではない!(;´Д`)')
# => {'text': '彼のことは嫌いではない!(;´Д`)',
#     'emotion': defaultdict(<class 'list'>,{'yorokobi': ['嫌い*CVS'], 'suki': ['嫌い*CVS']}),
#     'orientation': 'POSITIVE',
#     'activation': 'NEUTRAL',
#     'emoticon': ['(;´Д`)'],
#     'intension': 2,
#     'intensifier': {'exclamation': ['!'], 'emotikony': ['´Д`', 'Д`', '´Д', '(;´Д`)']},
#     'representative': ('yorokobi', ['嫌い*CVS'])
#     }
emotion_analyzer = mlask.MLAsk('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')  # Use other dictionary

Dictionary sources

  • 中村 明 (1993) “感情表現辞典” 東京堂出版

  • 学研辞典編集部 (2017) “感情ことば選び辞典” 学研プラス

  • Angela Ackerman, Becca Puglisi (2012) “The Emotion Thesaurus: A Writer’s Guide to Character Expression” JADD Publishing. (滝本 杏奈 (訳) (2015) “感情類語辞典” フィルムアート社)

  • Angela Ackerman, Becca Puglisi (2013) “The Positive Trait Thesaurus: A Writer’s Guide to Character Attributes” JADD Publishing (滝本 杏奈 (訳) (2016) “性格類語辞典 ポジティブ編” フィルムアート社)

  • Angela Ackerman, Becca Puglisi (2013) “The Negative Trait Thesaurus: A Writer’s Guide to Character Attributes” JADD Publishing (滝本 杏奈 (訳) (2016) “性格類語辞典 ポジティブ編” フィルムアート社)

LICENSE

The BSD 3-Clause License

Cited by

Scientific paper

  • Yingying Lao, Tomoya Kishida, Junqi Zhao, Dongli Han. A Practical and Emotional Response Technique: Context-Based Sticker Suggestion Model on the Line App. In Proceedings of the 8th International Conference on Frontiers of Educational Technologies (ICFET ‘22), p.162–168, 2022.

  • 大澤 卓也. 「いじめ自殺」の社会問題に対するツイッター上の感情分析. 立命館産業社会論集, 第56巻, 第4号, p.85-104, 2021.

  • Yoshihiro ADACHI, Tomohiro KONDO, Takamitsu KOBAYASHI, Nao ETANI, Kaito ISHII. Emotion Analysis of Japanese Sentences Using an Emotion-word Dictionary. Journal of the Visualization Society of Japan, Volume 41, Issue 161, p.21-27, 2022.

  • 吉田 光男, 鳥海 不二夫, 榊 剛史. COVID-19流行下でのインフォデミック ―Twitterで流れたGoToトラベルに関する情報―. オペレーションズ・リサーチ, 2021年4月号, p.216-223, 2021.

  • Tomoya Kitayama. COVID-19 and its impact on the national examination for pharmacists in Japan: An SNS text analysis. PLoS ONE, 18(6), 2023.

  • 山田耕. コロナ禍の中で語られた「広島の観光」とは? ― 広島観光客数を Twitter から予測する ―. 安田女子大学 現代ビジネス学会誌 2022 年度, Vol.11, p.28-56, 2023.

  • 星野 雄介. ⾃然⾔語処理技術を⽤いた新型コロナウイルスに関する新聞社説の予備的分析 ―新聞社ごとの違いと研究の展望―. 武蔵野大学経営研究所紀要, 第5号, p.113-148, 2022.

Blog

CHANGES

0.3.3 (2024-07-26)

  • Support mecab and mecab-python3 simultaneously (thanks @phuongdo)

0.3.2 (2019-07-09)

  • Fix bugs about emotion pattern matching (thanks @brunotoshio)

  • Fix bug about activation count (thanks @brunotoshio)

0.3.1 (2019-05-22)

  • Use MeCab.Tagger().parse() instead of MeCab.Tagger().parseToNode

0.3 (2019-05-17)

  • The 712 emotional words from Kanjou kotoba erabi jiten (感情ことば選び辞典) are newly added

  • Support Python 3.7

  • Unsupport Python 2.6 and 3.3

0.2.5 (2017-09-14)

  • Fix bugs about MeCab (thanks @Kensuke-Mitsuzawa)

  • Delete install_requires

0.2.4 (2017-03-01)

  • Fix many bugs

  • Add some emotional words

  • Delete invalid words

  • Correct typo

0.2.1 (2017-02-23)

  • Add 67 emotional words

0.2 (2017-02-22)

  • Support Python 2.X

  • Add 52 emotional words

  • Fix bug

0.1.1 (2017-02-15)

  • Delete debug print (thanks @ssirai)

0.1 (2017-02-10)

  • First release.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page