高木 一 (TAKAGI, Hitoshi)
公開開始 2025/ 4/26
文章から感情を読み取る感情分析システム「ライム回路」における、速度と正確さを両立させた高速化手法について説明します。
まず、本報 2節では、「ライム回路」計算の中で大きな部分を占めるレーベンシュタイン距離計算を 1.7倍に高速化しました。
さらに、本報 3節では、速度と正確さを両立させて 計算に使用する文章データの数を減らすことにより、話し手の感情(主観感情)のみの推定で、正確さをランダム判定に比べて 2.3倍持たせて、従来からの正確さの低下は 7%に抑えつつ、従来から計算量を 1/6程度にしました。2節の効果以外に(次文も同様)従来に比べ単位時間当たりの正確さは 5.6倍です。
また、主観感情と聞き手の感情(客観感情)を合わせた推定では、正確さはランダム判定に比べて 2.5倍であり、従来に比べ単位時間当たりの正確さは 3.6倍です。
「ライム回路」では、入力された文章の聞き手と話し手それぞれの、ロバート・プルチックの 8つの基本感情※、合計16個の感情強度を、感情情報付きコーパス※※を参考にして、算出します。感情強度は、0以上 3.5未満の数値※※※で出力されます。
※ 心理学者ロバート・プルチック (Robert Plutchik、1927年-2006年)が1980年に提唱した「感情の輪」における基本感情: 喜び (Joy)、悲しみ (Sadness)、予期(期待) (Anticipation)、驚き (Surprise)、怒り (Anger)、怖れ (Fear)、嫌悪 (Disgust)、信頼 (Trust)。基本感情を組み合わせることにより、混合感情を表現可能である(例: 喜び×信頼=愛)。
※※ 梶原 智之さん、中島 悠太さんによる「WRIME: 主観と客観の感情分析データセット」(Ver.1)を使用している(以下、「WRIME Ver.1」と記す)。なお、句読点等の半角・全角の統一、文章末に句読点がない場合の補完、改行の削除、などの標準化を実施した。
※※※「WRIME Ver.1」の感情強度は、0:無、1:弱、2:中、3:強 の4段階であり、これに合わせて「ライム回路」では、四捨五入して3になる 3.5未満を上限として、0以上 3.5未満の数値で出力する。
「ライム回路」全体の計算量の中に占めるレーベンシュタイン距離計算の割合は高い(→参考: 第2報 #2. 計算の方法)ので、同計算の高速化は、全体の高速化に大きく寄与します。
最適化によって、同計算を 1.7倍に高速化できることを確認し、2024年11月に採用しました。
「ライム回路」の計算に使用する(=Plutchikの基本8感情それぞれの感情強度を推定するために参考される)文章データ La[k] (k=0,1,2,…)※の数を減らせば、「ライム回路」全体の計算量は凡そ比例して減少し、高速化できますが、同時に感情強度推定の正確さは低下します。速度と正確さを両立できる、計算に使用する文章データの数を探しました。
※ 第2報 #2. 計算の方法と表記を合わせている。
「ライム回路」計算に使用している文章データは、感情情報付きのコーパスである、梶原 智之さん、中島 悠太さんによる「WRIME: 主観と客観の感情分析データセット」(Ver.1)です。「WRIME Ver.1」(全 43,200件。ここでは、1番目〜43,200番目の文章をそれぞれ #1〜# 43,200 と呼称する)のなかの、#42,001〜#43,200の1,200件の文章を評価データとして※、#1〜#42,000からランダムに選んだ文章を計算に使用して「ライム回路」による感情分析を実施しました※※。
※ 「ライム回路」計算内の定数の最適化(第2報 #3. 定数の最適化にて報告)に際し評価データにしたのは #1〜#300 であり、今回の評価データと重複しない。したがって、今回の評価の結果は、一般的な(未知の)文章での結果とよく合うと考えられる。
※※ 計算時間短縮のため、第2報 #2. 計算の方法の後方文字列切り出しの文字数 a[6] の値が似通っている場合は、ひとつのa[6]値で計算した。即ち、入力された文章の話し手(話し手の感情=主観感情)と聞き手(聞き手の感情=客観感情)それぞれの、ロバート・プルチックの 8つの基本感情、合計16個の感情強度毎に a[6]値は存在するが、これを±3の差までは似通っているとして、ひとつにまとめた。これにより、a[6]値の種類は 11種類になった(主観感情の8つの基本感情に限れば、a[6]値の種類は 7種類になった)。この手法は、従来から実施している。(第1報 #2. 推定の正確さの評価時には実施しておらず、その後から実施している)
Plutchikの基本8感情それぞれについて、「ライム回路」は感情強度を0以上3.5未満の値で出力します。これを、第1報 #2. 推定の正確さと同様に、「WRIME Ver.1」の各文に付された、基本8感情それぞれの感情強度(0:なし、1:弱い、2:中程度、3:強い)と比較しました。
即ち、主観感情(話し手の感情)では感情強度1.5以上、客観感情(聞き手の感情)では感情強度0.5以上を感情有りとして※、感情有り・無しを「ライム回路」が正しく判定できているか(正答率)を数値化しました。
※主観に比べて客観は、感情強度の値が低いため。
計算に使用する文章データの数と正確さの関係について、結果を図1、図2に示します。図2は、図1の横軸が 14,000件以下の部分を拡大したものです。
横軸は、計算に使用する感情強度データ付き文章の数です。前述のとおり、「WRIME Ver.1」の #1〜#42,000文章からランダムに選んだ文章数です。
縦軸は、正確さです。より詳しくは、感情推定の正答率をランダム判定での正答率 50%と比較した倍率(以下、正答率倍率と記す)です。基本8感情それぞれの、感情有りの場合の正答率(条件付き確率)p1と感情無しの場合の正答率(条件付き確率)p2の単純平均値(p1+p2)/2を、ランダム判定での正答率 50%=(1/2)と比較した [{p1+p2)/2}/(1/2)] 後、基本8感情について積を計算 Π[{p1+p2)/2}/(1/2)] しました。第1報 #2. 推定の正確さにおいて総合評価に使用した指標と同じですので、詳細は同既報をご覧ください。
図では、青色◇プロットが主観感情(Subjective emotion, 話し手の感情)推定の正答率倍率であり、赤色●プロットが客観感情(Objective emotion, 聞き手の感情)推定の正答率倍率です。

図1. 計算に使用する文章データの数と正確さの関係

図2. 計算に使用する文章データの数と正確さの関係 (図1.の横軸 14,000件以下の部分を拡大)
主観感情推定では、計算に使用する文章データの数 7,000件程度から、計算に使用する文章データの数の増加に伴う正確さの上昇が緩やかになっています。
客観感情推定では、計算に使用する文章データの数 8,000件程度から、計算に使用する文章データの数の増加に伴う正確さの上昇が緩やかになっています。そして、19,000件程度から再び計算に使用する文章データの数の増加に伴う正確さの上昇が起きています。
前述のとおり、図2から、主観感情推定では、計算に使用する文章データの数 7,000件程度、客観感情推定では 8,000件程度から正確さの上昇が緩やかになっています。 このため、高速化が強く求められる「人工知性 新浜メチス 高度型(高度型E、高度型F)」における「ライム回路」の使用では、主観感情推定では、計算に使用する文章データの数を 7,000件、客観感情推定では同 8,000件(主観感情推定と客観感情推定を同時に行う場合は同 8,000件)を、2025年3月に標準にしました。
なお、計算に使用する文章データをこれまでに既述したようにランダムに選ぶのではなく、選び方を工夫することによって、若干正答率を上げています。
その結果、推定の正確さは、主観感情のみでランダム判定に比べて 2.33倍、主観感情推定と客観感情推定の同時実施で同 2.48倍になっており、42,000件を計算に使用する場合に比べて、主観感情のみの推定では計算量を 1/6にしつつ、精度の低下は 7% に抑えました。
単位時間当たりの正確さは、42,000件を計算に使用する場合に比べ、主観感情のみで 5.57倍、主観感情推定と客観感情推定の同時実施で 3.65倍になります。
42,000件は、「WRIME Ver.1」の全件数 43,200件と 2.9%の違いしかないため、上記は、「WRIME Ver.1」の全件数 43,200件を「ライム回路」計算に使用した場合との比較と凡そ一致します。
表2. 感情推定の正答率倍率
表2.1 主観感情のみ
| 項目 | (1) 42,000件を計算に使用する場合の 正答率倍率 | (2) ランダムに選出した7,000件を 計算に使用する場合の正答率倍率 | (3) 工夫して選出した7,000件を 計算に使用する場合の正答率倍率 | (3)/(1) |
| 主観感情 | 2.51倍 (n=2での平均値、以下同じ) | 2.29倍 (n=2) | 2.33倍 (n=3) | 92.8% |
単位時間当たりの正確さは、42,000件を計算に使用する場合に比べ、(2.33/7000)÷(2.51/42000)= 5.57倍。
表2.2 主観感情、及び客観感情
| 項目 | (1) 42,000件を計算に使用する場合の 正答率倍率 | (2) ランダムに選出した8,000件を 計算に使用する場合の正答率倍率 | (3) 工夫して選出した8,000件を 計算に使用する場合の正答率倍率 | (3)/(1) |
| [A] 主観感情 | 2.51倍 (n=2での平均値、以下同じ) | 2.32倍 (n=2) | 2.37倍 (n=4) | 94.4% |
| [B] 客観感情 | 4.62倍 (n=2) | 2.58倍 (n=2) | 2.58倍 (n=4) | 61.4% |
| 総合評価 ([A]+[B])/2 | 3.57倍 | 2.45倍 | 2.48倍 | 69.5% |
単位時間当たりの正確さは、42,000件を計算に使用する場合に比べ、(2.48/8000)÷(3.57/42000)= 3.647倍。
公開開始: 2025/ 4/26
© 2025 TAKAGI-1