人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第30回)
SIG-AM-30-07

日常の SNS コメントに対する褒めリプライの自動生成システム
Automatic Generation System of Compliment Replies to Daily SNS
Comments
藤原 弘貴 1∗
砂山 渡 1
Koki Fujiwara1
Wataru Sunayama1

服部 峻 1
Shun Hattori1

滋賀県立大学 工学部
School of Engineering, The University of Shiga Prefecture1

1

Abstract: 日本人は謙遜することが多く自分を褒めることが少ないため，自己肯定感を高めにくく，ストレスを溜めやすい状況がある．そのため，褒められる機会を増やすことは重要と考えられる．そこで本研究では，日常の出来事に関する SNS コメントに褒めリプライを自動生成するシステ
ムを提案する．実験により，提案システムが作成する褒めリプライが，人を嬉しくさせる効果があることを確認した．

1

はじめに現代社会はインターネット社会と言われている．イ
ンターネットを利用したオンラインコミュニケーショ
ンツールは非常に多く存在し，生活していく上でなくてはならないものへとなっている．
しかし，対面で会話をする場合と比較して文字でのコミュニケーションは感情が伝わりにくい．相手の表情や仕草，声の調子など感情が現れる部分を受け取れないため，文字のみの会話は無機質な言葉や攻撃的な言葉という印象を感じてしまうことが多い．また，日
本人は謙遜することや謙虚であることなど控えめであることを美徳としている．日本人は他人に褒められる，自分を褒めることが少ないため，自己肯定感を高めにくく，ストレスを溜めやすい状況がある．そのため，褒められる機会を増やすことは重要と考えられる．
そこで本研究では日常生活に関する幅広い内容の SNSの投稿に対して褒められる箇所を自動的に判別し，ユーザが嬉しいと感じる褒めリプライを自動生成するシステムを提案する．先行研究 [1] においては，褒めて欲しい 1 単語をユーザが指定して入力する形となっていたことや，褒める対象が名詞に限られていた．本研究では，褒める対象を自動的に探すことに加えて，褒める対象を動詞にまで拡張する．

∗ 連絡先： 滋賀県立大学工学部 電子システム工学科

藤原 弘貴〒 522-8533 滋賀県彦根市八坂町 2500
E-mail: on23kfujiwara@ec.usp.ac.jp

2

関連研究

2.1

SNS コメントの自動返信に関する研究

マイクロブログサービスにおいてユーザの投稿に対して自動リプライを生成する研究 [2] がある．ツイー
ト中に含まれる単語の中から特徴がある単語を抽出し，その単語を元に対話データから返信を作成する．
この研究はツイートに含まれる単語に注目し，返信を行う点で本研究と共通している．しかし，この研究では過去に投稿されたツイートを検索によって抽出し，それに対応するリプライを提案するため過去のツイートと同じものを出力する．本研究ではコメントごとに既存のものではないバリエーションのある返信を作成する．

2.2

褒め言葉を生成する研究

囲碁の初心者の動機づけのためにユーザの打った手を褒める研究 [3] がある．この研究では囲碁 AI を用いてユーザの打った手を評価し，状況に応じて褒め台詞を出力する．結果として，悪手のみを指摘する場合，動機付けを減少させる傾向にあったが，褒めることで動機付けの向上につながった．ヒューマノイド型ロボッ
トがユーザを褒めることで学習を支援する研究 [4] がある．この研究ではテスト結果に応じて動作と褒め台詞を出力し，学習者をねぎらう．結果として，学習の継続性，学習の達成感，褒められていると感じるという点に褒めることは影響を及ぼした．
どちらの研究も褒めることで能力の獲得支援を行っている．囲碁の初心者の動機づけのためにユーザの打っー 41 ー

人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第30回)
SIG-AM-30-07

図 1: 褒めリプライの自動生成システムの構成図
図 2: 褒め対象単語の抽出の流れた手を褒める研究では AI と同じ最善手を打った場合や，対局後の悪手の少なさを褒めている．ロボットがユーザを褒めることで学習を支援する研究ではテスト結果が低い点数であれば褒め言葉とねぎらいの言葉を，高い点数であればユーザの頑張りを大きな動作で褒めている．これらの研究ではシステムに褒めてもらえる場面が限られる．そこで本研究では日常生活の出来事を褒めることで幅広い場面でユーザを褒める．

3

日常の SNS コメントに対する褒めリプライの自動生成システム

3.1

システムの構成システムの構成図を図 1 に示す．このシステムでは，ユーザが投稿した日常の SNS コメントを入力とする．
入力されたコメントから褒め対象となる単語を抽出し，抽出した褒め対象を褒めることのできる単語を選別する．SNS に投稿されているコメントは，他者に見られることを前提として発信されている．そのためコメン
ト中の動作を表す単語は他者に伝えたい自分が行ったことである．よって本研究では動作と，動作を詳しく説明する動作の対象を褒め対象とする．褒め対象単語と褒め単語から褒めリプライを生成し，出力とする．

3.2

褒め対象単語の抽出

3.2.1

CaboCha について

CaboCha とは，Support Vector Machine に基づく，係り受け解析器である．文節がその直後の文節に係るか係らないかという点に注目して解析を行う [5]．また，
CaboCha における係り受け解析の手順を以下に示す．
1. 入力された文の文節全てに係り受け未定を表すタグ「O」を付与する．
2. 文末の文節を除いた「O」が付与されている文節に対して直後の文節に係るかを解析する．係る場
合は「O」を係り受け確定を表すタグ「D」に置き換える．このとき，後ろから 2 番目の文節は無条件で「D」に置き換える．
3. 「O」が付与されている文節の直後の文節に「D」が付与されている場合，「D」が付与されている文節を削除する．
4. 残った文節が文末の文節のみになるまで 2，3 の処理を繰り返す．

3.2.2

CaboCha による係り受け解析

本システムでは CaboCha を用いて，入力文の主語句，目的語句，述語句を取り出し，その結果から褒め対象を決定していく．係り受け解析の結果から主語句，目的語句，述語句を以下のように定義する．

褒め対象単語の抽出の流れを図 2 に示す．入力されたコメントを係り受け解析器 CaboCha で解析する．係
り受け解析の結果より，入力されたコメントから褒め対象となる単語を抽出する．

ー 42 ー• 係り受け解析の結果，係る先がないと出力される文末の句を述語句とする．また，述語句の中で助詞を除いた形態素解析で「動詞，自立」または「名詞，サ変接続」と出力される単語を述語とする．

人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第30回)
SIG-AM-30-07• 係り受け解析の結果，係る先が述語句となる句のうち形態素解析で「係助詞」と出力される助詞を含む句を主語句とする．また，主語句の中で助詞を除いた部分を主語とする．
• 係り受け解析の結果，係る先が述語句となる句のうち形態素解析で「格助詞」と出力される助詞を含む句を目的語句とする．また，目的語句の中で助詞を除いた単語部分のうち，形態素解析で「名詞」と出力される単語を目的語とする．

3.2.3

3.3

主語の抽出

入力された文の主語を抽出する．本システムは褒めてもらうことで満足し，自己肯定感を高めることを目的としている．そのため抽出した主語が対話相手でない場合はシステムの対象外とし，「褒められません」を出力する．また日本語の文は主語が省略される場面が多くある．その理由としては直前の文と主語が同じ場合や相手と同じ場にいることが挙げられる．システムに文を入力する際はシステムと使用者が同じ場にいるため，省略されている主語は使用者となる．よって，文中に主語が存在しない場合は一人称の主語があることとして扱う．

3.2.4

述語の抽出

入力された文の述語句に注目する．述語句は主語の動作，作用，性質，状態などを動詞，名詞，形容詞，形容動詞，を用いて表される．本システムでは動作を褒めることを目的とするため述語句の中に含まれる単語のうち，形態素解析で「動詞，自立」または「名詞，サ変接続」となる動作を表す単語である述語を褒め対象として抽出する．述語句の中に動作を表す単語が存在しない場合，褒め対象単語なしとする．

3.2.5

図 3: 褒め単語の選別の流れ

目的語の抽出

入力された文の目的語句に注目する．目的語句は述語句に示される動作，作用，性質，状態などの対象，目的を示す．褒め対象となる動作をより詳しくするものとなるため，目的語を入力文の動作と共に褒め対象として抽出する．また日本語の語順はある程度は自由となっているが，より強調したい内容がより文末に位置する．これより動作と共に褒め対象とする目的語はより文末に近い目的語句に含まれる目的語 1 つとする．目的語句が存在しない，目的語句の中に目的語となる名詞が存在しない場合は目的語なしとする．

褒め単語の選別

褒め単語の選別の流れを図 3 に示す．本システムは，BERT の MLM(Masked Language Model) を用いて単語補完を行うことで褒め台詞を生成している．

3.3.1

BERT について

本システムで用いられている BERT に関して述べる．
モデルは東北大学が公開している学習済みのモデルを使用した [6]．
BERT（Bidirectional Encoder Representations fromTransformers）とは自然言語処理のモデルであり，「Transformer による双方向のエンコード表現」を意味する．
Transformer と呼ばれる言語処理に秀でた深層学習モデルを用いて，文章を文頭と文末の双方向から学習する．
双方向学習のために MLM(Masked Language Model)と NSP(Next Sentence Prediction) という 2 つの手法を同時に行っている [7]．

3.3.2

BERT による単語補完

本システムでは BERT の MLM(Masked LanguageModel) を用いて褒め単語の出力を行う．MLM では穴埋めクイズを解くように学習を行う．入力文の 15%のトークン（文章の最小単位となる文字や文字列）をランダムに別のトークンで置き換えし，前後の文脈から置き換える前のトークンを予測させる．選択された 15%のトークンのうち，80%は [MASK] トークンに置き換え，10%をランダムな別のトークンに変換，残りの 10%は変換せず元のままとする．
本システムでは，あらかじめ [MASK] トークンを含む BERT に入力するためのテンプレートを用意する．
入力用テンプレートに褒め対象となる単語を当てはめ，BERT に入力することで [MASK] トークン部分を予測し，褒め言葉を補完する．

ー 43 ー人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第30回)
SIG-AM-30-07

表 1: BERT への入力用テンプレート

表 2: 褒めリプライのテンプレート

自立動詞
サ変接続名詞

目的語なし
あなたはとても＠＠に〇〇あなたはとても＠＠に〇〇する

自立動詞
サ変接続名詞

目的語なし
あなたは＠＠に〇〇ね
あなたは＠＠に〇〇するね

自立動詞
サ変接続名詞

目的語あり
あなたは＊＊△とても＠＠に〇〇
あなたは＊＊△とても＠＠に〇〇する

自立動詞
サ変接続名詞

目的語あり
あなたは＊＊△＠＠に〇〇ね
あなたは＊＊△＠＠に〇〇するね

3.3.3

BERT への入力用テンプレート

表 1 に動作を表す単語の品詞，目的語の有無ごとのBERT への入力用テンプレートを示す．ただし，テンプレート内の〇〇は動作を表す単語，＊＊は目的語，△は目的語と同じ句の助詞とする．＠＠の部分を [MASK]トークンに置き換え，BERT を用いて補完し，褒め単語を出力する．
入力用テンプレートの基本形は名詞 1 単語を褒める
先行研究 [1] で使用していた「あなたの〇〇はとても＠＠です」というテンプレートを参考に，動作を褒める点に注目して「とても＠＠に〇〇（する）」とした．

3.3.4

褒め単語の決定

褒め単語を決定するアルゴリズムは先行研究 [1] で用いられているものと同一の以下のものを用いる．

1. BERT に [MASK] トークンが含まれたテンプレー
ト文を入力し，[MASK] トークン部分に補完されやすい予測単語のリストを得る．
2. 予測単語の上位 20 位以内に汎用的でない褒め単語が含まれるかを調べ，汎用的でない褒め単語が含まれている場合，その褒め単語を出力の褒め単語とする．
3. 汎用的でない褒め単語が含まれていなければ，汎用的な褒め単語が含まれるかを調べ，汎用的な褒め単語が含まれている場合，その褒め単語を出力の褒め単語とする．
4. 2.3. の手順において上位 20 位以内に褒め単語が存在しなければ，順位の閾値を下げて，21 位から 30 位の単語に関して 2.3. の手順を繰り返す．
5. 4. の手順を閾値を 50 位まで下げながら繰り返す．
50 位以内に褒め単語が見つからなければ入力単語は褒められる単語でないとし，褒め単語は出力しない．
また，出力として [UNK] が出力されることがある．
これが出力された際は適切に補完できる単語がそれ以降にはないとし，それ以降の探索は行わない．加えて，全く同じ予測の出力をする単語が複数ある．学習時にトークン分けされた際に，1 単語として学習されていないであろう単語などを入力した時も同様の出力をする．それらの単語は学習がされていないなどの理由で適切に単語を補完されていないとし，褒め単語を出力しない.

3.4

褒めリプライの生成

出力用テンプレートは動作を表す単語の品詞，目的語の有無ごとに設定した．表 2 にそれぞれの場合の出力用テンプレートを示す．褒めることで相手を喜ばせ，自己肯定感を上げることを目的とするため語りかけるような口調とした．また単語が補完されない場合には「褒められません」，入力された文に褒め対象がない場合は「褒め対象がありません」を出力することで入力された文が褒められない原因を示す出力を行う．
例えば，「今日の授業が分からなかったので数学を勉強した」という SNS に投稿されたコメントを入力した
際には，係り受け解析の結果，主語が存在しないため，一人称の主語がある場合として扱う．また，述語は「勉強」，目的語は「数学」となる．述語，目的語が BERTへの入力テンプレートに当てはめられて「あなたは数学をとても＠＠に勉強する」という文において，＠＠に当てはまる単語を BERT の MLM を用いて補完する．
ここで補完された単語が「熱心」となるため，この単語を褒めリプライの出力用テンプレートに当てはめた「あなたは数学を熱心に勉強するね」を褒めリプライとして出力する．

4

日常の SNS コメントに対する褒
めリプライの自動生成システムの評価実験本章では，実装した日常の SNS コメントに対する褒めリプライの自動生成システムが出力した褒めリプライにより，ユーザに嬉しいと感じてもらえるかを検証するために行った実験について述べる.

ー 44 ー

人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第30回)
SIG-AM-30-07

図 4: 褒めリプライに関する質問の回答結果
本実験により，システムの出力したリプライに対して，ユーザが嬉しいと感じる褒めリプライの生成ができるか，入力されたコメントの褒めて欲しい部分を褒めているか，得られた褒めリプライが褒めリプライとして成り立っているかを確認する．

4.1

実験方法

理系の大学生，大学院生 10 名を被験者として，「SNSの日常生活に関するコメントとシステムの生成した褒めリプライの対話文」を，全部で 40 セット用意して，以下の手順で実験を実施した．

1. SNS から収集した日常生活に関するコメントとシステムが出力した褒めリプライの対話文を読む．
2. 質問１：「システムの出力した褒めリプライを，コメント投稿者がどれくらい嬉しく感じると思いますか？」に回答する．
（「1. とても嬉しい」から「5.
全く嬉しくない」の 5 段階評価）
3. 質問２：「システムの出力した褒めリプライが，コメント投稿者が褒めて欲しいところを褒めようとしていると思いますか？」に回答する．
（「1. 褒めて欲しいところを褒めようとしている」から「5.
褒めて欲しいところとは違うところを褒めようとしている」の 5 段階評価）
4. 質問３：「システムの出力した褒めリプライのみを見た場合，褒め言葉として自然に感じますか？」に回答する．
（「1. 自然な日本語だと思う」から「5.
日本語としては不自然だと思う」の 5 段階評価）

4.2

結果と考察

図 4 に褒めリプライに関する質問の回答結果を示す．
質問 1，質問 2，質問 3 の全ての質問において 50%以上は，1 または 2 と回答された．また，いずれの質問も 3という回答が少ないが 4 という回答の多さが目立った．
このことから，一定のコメントに対しては本システムの有用性が示されるとともに，入力コメントは本シス

テムが対応できるコメントと対応できないコメントに分かれていることが考えられる．
システムの出力した褒めリプライを嬉しく感じるかという質問 1 に関する考察を述べる．質問 1，質問 2，
質問 3 の回答の値に大きなばらつきはほぼなく，質問
2，質問 3 の評価に応じて質問 1 の評価が決定されると考えられる．中でも質問 2 のシステムの出力した褒
めリプライが，コメント投稿者が褒めて欲しいところを褒めようとしているかの評価が質問 1 の評価に大きく影響すると考えられる．褒めて欲しいところとは違
うところを褒めようとしている褒めリプライが日本語として不自然になり，その結果システムの出力した褒めリプライを嬉しく感じないことに繋がる．そのため，システムの出力した褒めリプライを嬉しく感じてもらうためにはコメント中の褒めて欲しい部分を自然な褒め言葉で褒めることが必要である．
システムの出力した褒めリプライが，コメント投稿者が褒めて欲しいところを褒めようとしてると思うかという質問 2 に関する考察を述べる．褒めて欲しいところを褒めることができていないと評価されたコメントに注目する．他に褒めるべき対象があることが褒めて欲しいところを褒めることができていない理由となる．
他に褒めるべき対象となる単語として，コメントの中で動作を修飾する（規模，頻度など）単語がある．例
として「10 キロ走った」の「10 キロ」や「たくさん作った」の「たくさん」のように動作をどの程度行ったかを表す単語がある．これらの単語は「動作を修飾する単語」＋「述語」として褒め対象の候補になると考えられる．動作を修飾する単語を抽出するためには述語句にかかる目的語句以外の文節も考慮する必要がある．
述語句に一番近い句に動作を修飾する単語が存在する
場合は優先して褒め対象とするアルゴリズムへの改良や，動作を修飾する単語が褒め対象として抽出された場合のテンプレートを用意する必要がある．
また，コメント中の述語ではなく，1 名詞が褒めるべき対象となる場合がある．述語のみを褒め対象とするのではなく，述語と 1 名詞についてそれぞれ BERT から褒め単語を生成し，より補完される可能性の高い褒
め単語を出力した方を褒め対象することで褒めるべき対象となっている名詞を適切に褒めることができると考えられる．今回の評価実験でこれらの改善方法を用いると質問 2 で評価点の平均が 3 以上となっている 16個の対話文のうち 9 個の対話文の評価を改善することができる．動作の規模や頻度を表す単語と共に述語を褒め対象とする場合は 7 個，コメント中の名詞を褒め対象とする場合は 2 個の対話文に対応できる．
システムの出力した褒めリプライのみを見た場合，褒め言葉として自然に感じるかという質問 3 に関する考察を述べる．褒め言葉として自然に感じない理由として出力されたリプライが日本語として不自然だというこー 45 ー

人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第30回)
SIG-AM-30-07とがある．この原因として BERT への入力テンプレー
トや褒めリプライの出力のテンプレートが適切でないことや褒め言葉自体が適切でないことが考えられる．
BERT への入力テンプレートや褒めリプライの出力のテンプレートとして「＠＠に〜する」の他に「〜するなんて＠＠」というテンプレートが考えられる．褒め対象となる述語によっては既存テンプレートよりも「〜するなんて＠＠」のテンプレートの方が褒め単語となる単語が容易に考えられるものがある．そのため，述語ごとに適切なテンプレートを使い分ける，複数のテンプレートを用いて共通する褒め単語を出力する，複数のテンプレートを用いて補完されやすい褒め単語を出力するといったアルゴリズムへの改良が必要である．
また褒め言葉自体が適切でない理由としては，先行研究で用いられた褒め単語をそのまま利用していることが挙げられる．先行研究では，名詞 1 単語を褒め対象とした場合の褒め言葉を用意しているため，本研究における述語用の動詞を褒め対象とした場合の褒め単語としては適切でないものがあったと考えられるため，述語用の褒め単語の再検討が必要と考えている．

5

おわりにSNS 投稿したコメントを褒めることで自己肯定感を高めてもらうことを目的として日常の SNS コメントに対する褒めリプライの自動生成システムを実装した．また，日常の SNS コメントに対する褒めリプライの自動生成システムがユーザの自己肯定感を高めることに有用であるかを確かめるために評価実験を行った.
この実験において，一定のコメントに対しての本システムの有用性が示された．また，本システムが対応できるコメントと対応できないコメントが存在することが確認された．
今後の課題としては，コメント中の適切な褒め単語を抽出するアルゴリズムへの改良や，対応するテンプレートの追加が求められる．また，褒め単語を生成するための BERT への入力テンプレートの追加や動詞用の褒め単語の検討をすることでより適切な褒め単語を出力させる必要がある．
褒めリプライの生成が日常の SNS コメントだけでなく，教育現場や職場など褒められることで自身のモチベーションに繋がる場面で応用されることで，快適な環境構築の足ががりになることを期待したい．

ンタラクティブ情報アクセスと可視化マイニング
研究会，SIG-AM-28-04, pp.20 – 25 (2022)[2] 森下雄太，渋川翔太，佐藤隆士：マイクロブログ
サービスにおける自動リプライシステムの考案，
電子情報通信学会，第 15 回情報科学技術フォーラ
ム，D-027 (2016)[3] 若林広志，伊藤毅志：囲碁初心者の動機づけを目的とした着手を褒めるシステム，情報処理学会研究報告，Vol.2020-GI-43, No.2., pp.1 – 8 (2020)[4] 平野愛里，松田晃一：ヒューマノイド型ロボットを用いた褒める行為に着目した学習支援システムの試作と評価，情報処理学会研究報告，Vol.2019CE-148, No.15, pp.1 – 8 (2019)[5] 工藤拓，松本裕治：チャンキングの段階適用による日本語係り受け解析，情報処理学会論文誌，Vol.43,No.6, pp.1834 – 1842 (2002)[6] 東北大学乾研究室：Pretrained Japanese BERT
models released / 日 本 語 BERT モ デ ル 公開：（URL）https://github.com/cl-tohoku/bertjapanese（2023 年 1 月 24 日確認）
[7] Jacob Declin Ming-Wei Chang Kenton Lee
Kristina Toutanova:BERT: Pre-training of Deep
Bidirectional Transformers for Language Undestanding, In proceedings of the 2019 Conferenceof North America Chapter of Association for
Computational Linguistics: Human LanguageTechnologies, Vol.2 (2019)

参考文献[1] 堀紘之輔，砂山渡：BERT を用いた単語補完による褒め台詞生成システム，第 28 回人工知能学会イー 46 ー