Skip to main content

DeBERTa Emotion Predictor

This package provides a DeBERTa-based model for predicting emotions in Japanese text.

DeBERTa Emotion Predictor は、ファインチューニング済みの DeBERTa モデルを用いて日本語テキストの感情推定を行う Python パッケージです。8 つの感情(Joy, Sadness, Anticipation, Surprise, Anger, Fear, Disgust, Trust)に対するそれぞれのモデルを利用し、各テキストに対する感情の予測ラベルと肯定クラスの確信度を簡単に取得できます。

Install(インストール)

pip を使います。

python -m pip install deberta-emotion-predictor

バージョン 1.2.1 では、互換性を確認済みの Transformers 4 系 (transformers>=4.48.2,<5)が自動的にインストールされます。 すでに旧バージョンを利用している場合は、次のコマンドで更新してください。

python -m pip install --upgrade deberta-emotion-predictor

## Usage (おためし利用)

from deberta_emotion_predictor import DeBERTaEmotionPredictor
predictor = DeBERTaEmotionPredictor()
result = predictor.predict_emotions("今日はとても嬉しい!")
predictor.show_emotions(result)

注)Hugging-face から8種類のDeBERTaをダウンロードするため、初回起動に大変時間がかかります。二回目以降の実行から速くなります。

データフレームも入力できます。

import pandas as pd
from deberta_emotion_predictor import DeBERTaEmotionPredictor

predictor = DeBERTaEmotionPredictor()

# サンプルテキスト(リスト形式)
sample_texts = [
    "そうだ 京都、行こう。",
    "がんばるひとの、がんばらない時間。",
    "わたしらしくをあたらしく",
    "ピースはここにある。",
    "結婚しなくても幸せになれるこの時代に、私は、あなたと結婚したいのです。",
    "これからの地球のために一肌、脱ぎました。",
    "自分は、きっと想像以上だ。",
    "ハローしあわせ。",
    "日本を、1枚で。"
]
res_df = predictor.predict_emotions(sample_texts)

predictor.show_emotions(res_df)

動作に必要な torch、transformers、pandas はパッケージと一緒に インストールされるため、個別にインストールする必要はありません。

バージョン 1.2.0 以前でトークナイザーの読み込み時に KeyError: 0 が発生する場合は、 次のコマンドで Transformers 4 系へ戻すことでも一時的に復旧できます。

python -m pip install --upgrade "transformers>=4.48.2,<5"

また、GPUを使用するには、NVIDIA GPUドライバー等のインストールが必要です。 こちらは、他の資料を参照してください。

特徴

  • 8感情の推定
    各感情ごとにファインチューニング済みのモデルを利用し、テキストの感情推定を行います。

  • 柔軟な入力形式
    単一のテキスト、テキストのリスト、または pandas Series を入力として受け付け、結果を DataFrame 形式で返します。

  • 効率的な推論
    GPU メモリの使用量を抑えるため、必要なときだけモデルを GPU にロードする設計になっています。

使用方法

以下は、パッケージの基本的な使い方の例です:

テキストの渡し方(リスト)

sample_texts = [
    "そうだ 京都、行こう。",
    "がんばるひとの、がんばらない時間。"
]
result_df = predictor.predict_emotions(sample_texts)
predictor.show_emotions(result_df)

単一のテキストの場合

result_single = predictor.predict_emotions("新しい朝が来た。")
print(result_single)

出力されるデータフレーム

出力されるデータフレームには、各感情の有無をあらわす8つの列、及び各感情の確率値が格納されています。

print(result_df)

ディレクトリ構成

deberta_emotion_predictor/         
├── README.md                      # この説明ファイル
├── deberta_emotion_predictor.py   # DeBERTaEmotionPredictor クラスの実装
│   └── tokenizer_DeBERTa_v3_large/ #トークナイザー
├── setup.py
├── pyproject.toml
├── README.md
├── LICENSE
└── usage.py                       

必要環境

  • Python 3.9 以上
  • PyTorch
  • Transformers 4.48.2 以上、5.0.0 未満
  • pandas

License

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

Copyright (c) 2025 Yoichi Takenaka

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/4.0/

This project is based on:

Any modifications or derivative works must also be distributed under the same CC BY-SA 4.0 License.

Metadata

Release files for deberta-emotion-predictor 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deberta-emotion-predictor 1.2.1
File Size Uploaded
deberta_emotion_predictor-1.2.1.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deberta-emotion-predictor 1.2.1
File Interpreter ABI Platform
deberta_emotion_predictor-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.8 kB

Release files / deberta_emotion_predictor-1.2.1.tar.gz

Download URL deberta_emotion_predictor-1.2.1.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4601d62c4df97bbfac54d21748983a4ba5bb2350814d9ef530437cb5666dbbf1
BLAKE2b-256 checksum
How to use checksums
0a1e8f5934ede38692965991f765c741c91439417fa5654b94a776dda6c08098
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release files / deberta_emotion_predictor-1.2.1-py3-none-any.whl

Download URL deberta_emotion_predictor-1.2.1-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e30ca030abd16c009d247d4f577ddfe80573dab61d0b6f7fe738e3bde0a1c8d2
BLAKE2b-256 checksum
How to use checksums
39bb8b048b793e439710ecb03a076f3d1662834dcb61132dbf4bdefda941be81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page