Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BERTで文章関連度算出して戯れてみる

Kawazu
November 25, 2021

 BERTで文章関連度算出して戯れてみる

Kawazu

November 25, 2021
Tweet

More Decks by Kawazu

Other Decks in Programming

Transcript

  1. BERTで文章関連度算出して戯
    れてみる
    河津正和

    View full-size slide

  2. 河津正和
    株式会社博報堂アイ・スタジオ所属
    ● 主にバックエンド領域のテクニカルディレクター
    ● 新規事業開発的なお仕事をしてます
    ● コンテナ技術とか機械学習とか電子工作にも興味あり
    Twitter:@kawazu255_
    Qiita:kawazu255
    note:kawazu255

    View full-size slide

  3. 以前作ったもの
    ● メロディ・伴奏・ドラムのmidi音源
    を自動生成し続けるプログラム
    ● ぼっちでも音楽セッションしたかっ

    ● StayHome先駆けプロダクト

    View full-size slide

  4. BERTとは?
    ● Googleが発表した自然言語処理モデルで、2019年からは検索エンジンにも使用さ
    れている
    ● 文脈理解の精度が評価
    ● 様々な自然言語処理タスクにファインチューニングする前の、ベースモデルとしても
    使用できる
    ● BERT日本語学習済みモデル->https://yoheikikuta.github.io/bert-japanese/

    View full-size slide

  5. 気になるなあと思いつつもよくわからなかった
    ->実際に触りつつ、どんなことができるか試したい

    View full-size slide

  6. 試したこと
    ● 文章同士の関連度合いを出してみる
    ● 参考にさせていただいた記事:BERT(Keras BERT)を使用した文章ベクトル作成
    https://qiita.com/jjking/items/a9fe907f992ccaefbd2a

    View full-size slide

  7. 文章の特徴量を出す(768次元ベクトル)
    ...
    「今日は月が
    綺麗ですね」

    View full-size slide

  8. 比較したい2つの文章のベクトルを出した後、
    コサイン類似度を用いて
    それぞれの関連度合いを出してみる

    View full-size slide

  9. CASE1:厚生労働省のサイト文言
    ● 文章1:「国内で報告された新型コロナウイルス感染症の感染者に係る報告を基に
    した追跡調査の結果、感染者間の関連が認められた集団(クラスター)を地図上に
    表示したものです。」
    ● 文章2:「クラスターは、現時点で、同一の場において、5人以上の感染者の接触歴
    等が明らかとなっていることを目安として記載しています。家族等への二次感染等
    を載せていません。また、家族間の感染も載せていません。」
    ● コサイン類似度:0.24

    View full-size slide

  10. CASE2:厚生労働省のサイト文言+吾輩は猫である
    ● 文章1:「国内で報告された新型コロナウイルス感染症の感染者に係る報告を基に
    した追跡調査の結果、感染者間の関連が認められた集団(クラスター)を地図上に
    表示したものです。」
    ● 文章2:「吾輩は猫である。名前はまだない。どこで生れたか頓(とん)と見当がつか
    ぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
    吾輩はここで始めて人間というものを見た。」
    ● コサイン類似度:0.41

    View full-size slide

  11. せっかくなので色々試してみましょう

    View full-size slide

  12. CASE3:ふなっしー&くまもんTwitter
    ● 文章1:「みんなー今日も一日お疲れ様なっしー♪ヾ(。゜▽゜)ノはふーん♪
    ぱふぇー♪夏になったら旅行行きたいなっしー♪明日もみんな良いこと
    有りますように梨汁ブシャー:*もやぱふぇ」
    ● 文章2:「なんだか眠くなってきた・・・モン・・・おやくま〜☆」
    ● コサイン類似度:0.21

    View full-size slide

  13. CASE4:西野カナ&あいみょん歌詞
    ● 文章1:「会いたくて 会いたくて震える君想うほど遠く感じてもう一度聞
    かせて嘘でもあの日のように"好きだよ"って… 」
    ● 文章2:「麦わら帽子の君が揺れたマリーゴールドに似てるあれはまだ
    空が青い夏のこと懐かしいと笑えたあの日の恋」
    ● コサイン類似度:0.18

    View full-size slide

  14. CASE5:西野カナの歌詞(曲違い)
    ● 文章1:「会いたくて 会いたくて震える君想うほど遠く感じてもう一度聞
    かせて嘘でもあの日のように"好きだよ"って… 」
    ● 文章2:「これからもどうぞよろしくねこんな私だけど笑って許してね
    ずっと大切にしてね永久保証の私だから」
    ● コサイン類似度:0.16

    View full-size slide

  15. CASE6:西野カナ&マキシマムザホルモン歌詞
    ● 文章1:「会いたくて 会いたくて震える君想うほど遠く感じてもう一度聞
    かせて嘘でもあの日のように"好きだよ"って… 」
    ● 文章2:「ブッイキス!!てめーらブッイキス!!I wanna ブッイキス!!てめーら
    ブッイキス!!ブッイキス!!貴様らブッイキス!!貴様らブッイキス!!貴様ら
    ブッイキス!!」
    ● コサイン類似度:0.36

    View full-size slide

  16. CASE7:ミルクボーイ&アンジャッシュネタ
    ● 文章1:「いきなりですけどね うちのオカンがね 好きな朝ごはんがあるら
    しいんやけど あっ そーなんや その名前をちょっと忘れたらしくてね 朝
    ごはんの名前忘れてもうて どうなってんねそれ でまあ色々聞くんやけど
    な 全然分からへんねんな 分からへんの? いや ほな俺がね おかん
    の好きな朝ごはん ちょっと一緒に考えてあげるから どんな特徴ゆうてた
    かってのを教えてみてよ あのー甘くてカリカリしてて で 牛乳とかかけて
    食べるやつやって言うねんな おー コーンフレークやないかい その特徴
    はもう完全にコーンフレークやがな コーンフレークなぁ 」

    View full-size slide

  17. CASE7:ミルクボーイ&アンジャッシュネタ
    ● 文章2:「お巡りさん、遅いな…。通報して何分経ってると思ってるんだよ。
    早く来ないとのぞき魔、どっかに逃げちゃうよ。まだ犯人のやつ絶対あの
    女子寮の近くにいるはずなんだよな。はい、今のぞきの通報を受けた現場
    に到着しました。明らかな不審者発見。尋問します。あの、ちょっとすいま
    せん。お巡りさん。この辺りでのぞきがあったって通報受けたんだけど。そ
    れ、僕です。君か!君なんだね。はい。さっきまであそこの女子寮の風呂
    をずっとのぞいてました。何、堂々と言ってるんだよ。状況、分かってる?
    私、警官だよ。はい。早く逮捕してくださいよ!なんなんだ君!新しいタイ
    プだな。君さ、なんでこんなことしちゃったの?」
    ● コサイン類似度:0.15

    View full-size slide

  18. やってみて思ったこと
    ● 肌感的にはそこそこの傾向は見て取れる
    ● ただあくまで傾向にすぎない。どの閾値から先が「関連度が高い」となるのかは
    ルールなし。データによりけり
    ● ここで出してる関連度については、「絶対値」的な判断よりも「相対値」的に判断した
    方が良いかも
    ● 書き方・表現の仕方からどのくらい影響を受けているのかを探る必要はありそう
    ● 特定の文章に特化させるならば、ファインチューニングが必要かも
    ● 学習モデルの読み込みが重くてアプリケーション化するには要検討
    ● 浮気はいけないこと

    View full-size slide

  19. オンライン会議支援サービス          開発中!
    ←サービス紹介ページです(事前登録できます)

    View full-size slide