Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BERTで文章関連度算出して戯れてみる
Search
Kawazu
November 25, 2021
Programming
0
150
BERTで文章関連度算出して戯れてみる
Kawazu
November 25, 2021
Tweet
Share
More Decks by Kawazu
See All by Kawazu
個人的に考える要件定義でやる一連の流れ
kawazu
0
380
ChatGPTで水平思考ゲームを行えるか試してみた
kawazu
0
310
新人プロダクトマネージャーの試行錯誤記録
kawazu
0
170
バックエンドエンジニアが初めてReactを触って感じたこと
kawazu
0
250
音楽仲間がいないのでバンドメンバーを実装した話
kawazu
0
100
JetsonNanoで自動作曲配信システムを作ってる途中の話
kawazu
0
720
bert-tokenizerノードを触ってみた
kawazu
0
300
Node-REDとAutomatorでプライバシーマスク作成を自動化する
kawazu
0
160
AWS DeepComposerで作業用BGMを作った話
kawazu
0
160
Other Decks in Programming
See All in Programming
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
230
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
630
NPOでのDevinの活用
codeforeveryone
0
380
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
100
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
250
Is Xcode slowly dying out in 2025?
uetyo
1
200
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
XSLTで作るBrainfuck処理系
makki_d
0
210
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
220
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
Featured
See All Featured
Building an army of robots
kneath
306
45k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
How to Ace a Technical Interview
jacobian
277
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Balancing Empowerment & Direction
lara
1
370
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Being A Developer After 40
akosma
90
590k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Transcript
BERTで文章関連度算出して戯 れてみる 河津正和
河津正和 株式会社博報堂アイ・スタジオ所属 • 主にバックエンド領域のテクニカルディレクター • 新規事業開発的なお仕事をしてます • コンテナ技術とか機械学習とか電子工作にも興味あり Twitter:@kawazu255_ Qiita:kawazu255
note:kawazu255
以前作ったもの • メロディ・伴奏・ドラムのmidi音源 を自動生成し続けるプログラム • ぼっちでも音楽セッションしたかっ た • StayHome先駆けプロダクト
BERT
BERTとは? • Googleが発表した自然言語処理モデルで、2019年からは検索エンジンにも使用さ れている • 文脈理解の精度が評価 • 様々な自然言語処理タスクにファインチューニングする前の、ベースモデルとしても 使用できる •
BERT日本語学習済みモデル->https://yoheikikuta.github.io/bert-japanese/
気になるなあと思いつつもよくわからなかった ->実際に触りつつ、どんなことができるか試したい
試したこと • 文章同士の関連度合いを出してみる • 参考にさせていただいた記事:BERT(Keras BERT)を使用した文章ベクトル作成 https://qiita.com/jjking/items/a9fe907f992ccaefbd2a
文章の特徴量を出す(768次元ベクトル) ... 「今日は月が 綺麗ですね」
比較したい2つの文章のベクトルを出した後、 コサイン類似度を用いて それぞれの関連度合いを出してみる
CASE1:厚生労働省のサイト文言 • 文章1:「国内で報告された新型コロナウイルス感染症の感染者に係る報告を基に した追跡調査の結果、感染者間の関連が認められた集団(クラスター)を地図上に 表示したものです。」 • 文章2:「クラスターは、現時点で、同一の場において、5人以上の感染者の接触歴 等が明らかとなっていることを目安として記載しています。家族等への二次感染等 を載せていません。また、家族間の感染も載せていません。」 •
コサイン類似度:0.24
CASE2:厚生労働省のサイト文言+吾輩は猫である • 文章1:「国内で報告された新型コロナウイルス感染症の感染者に係る報告を基に した追跡調査の結果、感染者間の関連が認められた集団(クラスター)を地図上に 表示したものです。」 • 文章2:「吾輩は猫である。名前はまだない。どこで生れたか頓(とん)と見当がつか ぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。 吾輩はここで始めて人間というものを見た。」 •
コサイン類似度:0.41
せっかくなので色々試してみましょう
CASE3:ふなっしー&くまもんTwitter • 文章1:「みんなー今日も一日お疲れ様なっしー♪ヾ(。゜▽゜)ノはふーん♪ ぱふぇー♪夏になったら旅行行きたいなっしー♪明日もみんな良いこと 有りますように梨汁ブシャー:*もやぱふぇ」 • 文章2:「なんだか眠くなってきた・・・モン・・・おやくま〜☆」 • コサイン類似度:0.21
CASE4:西野カナ&あいみょん歌詞 • 文章1:「会いたくて 会いたくて震える君想うほど遠く感じてもう一度聞 かせて嘘でもあの日のように"好きだよ"って… 」 • 文章2:「麦わら帽子の君が揺れたマリーゴールドに似てるあれはまだ 空が青い夏のこと懐かしいと笑えたあの日の恋」 •
コサイン類似度:0.18
CASE5:西野カナの歌詞(曲違い) • 文章1:「会いたくて 会いたくて震える君想うほど遠く感じてもう一度聞 かせて嘘でもあの日のように"好きだよ"って… 」 • 文章2:「これからもどうぞよろしくねこんな私だけど笑って許してね ずっと大切にしてね永久保証の私だから」 •
コサイン類似度:0.16
CASE6:西野カナ&マキシマムザホルモン歌詞 • 文章1:「会いたくて 会いたくて震える君想うほど遠く感じてもう一度聞 かせて嘘でもあの日のように"好きだよ"って… 」 • 文章2:「ブッイキス!!てめーらブッイキス!!I wanna ブッイキス!!てめーら
ブッイキス!!ブッイキス!!貴様らブッイキス!!貴様らブッイキス!!貴様ら ブッイキス!!」 • コサイン類似度:0.36
CASE7:ミルクボーイ&アンジャッシュネタ • 文章1:「いきなりですけどね うちのオカンがね 好きな朝ごはんがあるら しいんやけど あっ そーなんや その名前をちょっと忘れたらしくてね 朝 ごはんの名前忘れてもうて どうなってんねそれ でまあ色々聞くんやけど な 全然分からへんねんな 分からへんの? いや ほな俺がね おかん の好きな朝ごはん ちょっと一緒に考えてあげるから どんな特徴ゆうてた かってのを教えてみてよ あのー甘くてカリカリしてて で 牛乳とかかけて 食べるやつやって言うねんな おー コーンフレークやないかい その特徴 はもう完全にコーンフレークやがな コーンフレークなぁ
」
CASE7:ミルクボーイ&アンジャッシュネタ • 文章2:「お巡りさん、遅いな…。通報して何分経ってると思ってるんだよ。 早く来ないとのぞき魔、どっかに逃げちゃうよ。まだ犯人のやつ絶対あの 女子寮の近くにいるはずなんだよな。はい、今のぞきの通報を受けた現場 に到着しました。明らかな不審者発見。尋問します。あの、ちょっとすいま せん。お巡りさん。この辺りでのぞきがあったって通報受けたんだけど。そ れ、僕です。君か!君なんだね。はい。さっきまであそこの女子寮の風呂 をずっとのぞいてました。何、堂々と言ってるんだよ。状況、分かってる? 私、警官だよ。はい。早く逮捕してくださいよ!なんなんだ君!新しいタイ
プだな。君さ、なんでこんなことしちゃったの?」 • コサイン類似度:0.15
やってみて思ったこと • 肌感的にはそこそこの傾向は見て取れる • ただあくまで傾向にすぎない。どの閾値から先が「関連度が高い」となるのかは ルールなし。データによりけり • ここで出してる関連度については、「絶対値」的な判断よりも「相対値」的に判断した 方が良いかも •
書き方・表現の仕方からどのくらい影響を受けているのかを探る必要はありそう • 特定の文章に特化させるならば、ファインチューニングが必要かも • 学習モデルの読み込みが重くてアプリケーション化するには要検討 • 浮気はいけないこと
オンライン会議支援サービス 開発中! ←サービス紹介ページです(事前登録できます)