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
文字列(ダジャレを言いシャレ)
Search
vaaaaanquish
December 08, 2020
Technology
1
16k
文字列(ダジャレを言いシャレ)
エムスリー社内でのLTで文字列について話したスライド
vaaaaanquish
December 08, 2020
Tweet
Share
More Decks by vaaaaanquish
See All by vaaaaanquish
LLMが機械学習分野と他分野に起こしたキャズムから見極めるエンジニアの未来像
vaaaaanquish
0
110
エムスリー流!難読クイズを作ってPythonの深淵に触れるコツ! - 技育CAMPアカデミア
vaaaaanquish
1
310
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
6
6.1k
Pythonのパッケージ管理の中級者の壁を超える stapy#98
vaaaaanquish
19
21k
Tech LT #4 人を選ぶ技術
vaaaaanquish
3
4.5k
CADDi AI LabにおけるマネージドなMLOps
vaaaaanquish
2
3.5k
RustとCADDi AI LabとML
vaaaaanquish
1
1.1k
機械学習OSSの変遷と未来
vaaaaanquish
2
4.3k
xonshとかいうshellの話
vaaaaanquish
1
1.9k
Other Decks in Technology
See All in Technology
Operating Operator
shhnjk
1
630
shake-upを科学する
rsakata
7
830
ソフトウェアテストのAI活用_ver1.25
fumisuke
1
400
United Airlines Customer Service– Call 1-833-341-3142 Now!
airhelp
0
170
Claude Code に プロジェクト管理やらせたみた
unson
7
4.7k
ゼロからはじめる採用広報
yutadayo
3
1k
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.2k
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
450
LLM時代の検索
shibuiwilliam
2
510
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
180
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
410
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.9k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Side Projects
sachag
455
42k
The World Runs on Bad Software
bkeepers
PRO
69
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Faster Mobile Websites
deanohume
307
31k
Into the Great Unknown - MozCon
thekraken
40
1.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Building Applications with DynamoDB
mza
95
6.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Transcript
文字列 AIチーム 河合
河合 俊典 • AIチーム • Twitter: @vaaaaanquish • 3度の飯よりTwitterが好き
あたまのおかしい回だ・・・ 参加しなきゃ・・・
文字列・・・文字列・・・
モジモジしてないで 好きな文字列の話を せんかーい!! ※ 社外の@_329_さんのプライバシー保護のため一部画像を加工しています
ダジャレを言いなシャレ AIチーム 河合
調査をする俺は慎重さwwwww • 駄洒落をテーマとしたAI関連研究 ◦ 駄洒落の検出、評価 ◦ データベースの構築 ◦ 面白さの分析 ◦
生成 ◦ 対話 https://github.com/vaaaaanquish/dajare-pythonより
ダジャレを研究してるのはダレじゃwwwwww • 北海道大学・荒木健治 教授が第一人者(多分) ◦ 多く論文がこの荒木研から出ている https://www.ist.hokudai.ac.jp/netjournal/net_31_1.html より引用
データはどこで得たwwwwwwww 駄洒落データベースの構築及び分析 , Construction and Analysis of Pun Database in
Japanese, 荒木 健治, Kenji Araki, 人工知能学会 2018 より引用 データセットは HPより申請する事で研究用途でのみ共有されるとのこと • ダジャレナビ ◦ 『アタマがめざめる! なぞなぞ脳活 (かんき出版,2016)』等を執筆した ながれおとや氏が運営 • ダジャレステーション ◦ 福井県のWeb制作会社 cheltenham software(チェルトナム・ソフトウェア)が作成 ◦ 6万5千件のデータがあるとされる https://kanki-pub.co.jp/pub/author/details/1004 より抜粋
クロールする玄人wwwwwww • クローラ及び、関連研究をOSSとして公開 ◦ https://github.com/vaaaaanquish/dajare-python ◦ time.sleepによる厳しめの調整 ◦ 論文内のサイト以外からもクロール先を追加 ▪
社内Slackなど ▪ 合計12万件のダジャレデータを所持 ▪ 多分日本で一番持ってる ◦ データをノーマライズして Driveに設置しました ▪ 社外への持ち出し厳禁でお願いします
マルコフ連鎖が惜しかった未練さwwwww • 最もシンプルに思い付くマルコフ連鎖を試す(意外と既存研究がない) ◦ ダジャレは言葉同士の確率過程から作成できるだろうという仮説 ◦ GiNZAで形態素解析して計算 ◦ Google Colabで計算済みモデルをロードして今すぐ遊べます
▪ https://~~~~(社内のみ) 概ね勢いがあって面白い
BERTでバーッと生成wwwwwwww • BERTとは ◦ Pre-training of Deep Bidirectional Transformers for
Language Understanding, Devlin, J. et al. (2018, Google) ◦ 何がすごい? ▪ 自然言語処理における分類、対話、翻訳 …など全てのタスクに応用しても精度が出る ▪ 行列積くらいしか複雑な処理がなく学習時にリソースをフル活用できる ◦ 何故すごい? ▪ Transformerがすごい ▪ 双方向Transformerの学習法がすごい • 普通にやると学習が収束しないのでゴリゴリにノウハウを付与 + 問題設計を工夫 word2vec (2016, Google) Transformar (2017, Google) fasttext, rcnn, attentionを経て… 拡張 BERT (2018, Google)
BERTでバーッと生成wwwwwwww • BERTで文章生成タスクを解く ◦ ベースとして京大 黒橋・河原研究室 が公開する日本語学習済みモデルを使う ▪ 一般的に0からの学習はリソースが必要なので「転移学習」という手法を利用する ◦
Google Colabで計算済みモデルをロードして今すぐ遊べます ▪ https://~~~ (社内のみ) 色々チューニングしてみたがダメそうな例
何で上手くいかないんだろう … データも十分あるはずだし … ベースかタスク設計が悪いのか … もしかしてバグか…?
バグを疑わず もっと基本に バックせんかーい!! ※ 社外の@_329_さんのプライバシー保護のため一部画像を加工しています
Elasticsearchにindexingすればいいんでっくすww • データが大規模かつスパース ◦ queryに対して近いダジャレを引く所から始めてみる ▪ 検索によるダジャレ生成サポート → 対話における正解データの収集 → 対話タスクと捉えて ▪
Indexingの仕方を考える必要がある query: 蜜柑食べたいな result: みつかんないんですか?
indexingを考えればいいんでっくすwwwww • ダジャレの面白さを考慮したスコアリングを考える ◦ 単語、単語の一部が被っている → 一般的なmatch, fuzziness ◦ 音が同じである → 文章をヘボン式ローマ字に変換して index
◦ 近い意味の単語で作られている → ES 7.3から追加されたvector feildをindexしcosine距離 ▪ 複合的に含まれていれば高いスコアとなるよう boost, weightを調整する 駄洒落の面白さにおける要因の分析 , An Analysis of Factors of Funniness of Japanese Puns, 谷津, 荒木, 2016 日本知能情報ファジィ学会 より
embeddingを確認すればいいんでっくすwwww 食べ物のダジャレが集まる例
indexをつくればいいんでっくすwwwwwww {"query": { "bool": { "should": [ {"match":{ "roman": {
"query": qr, "fuzziness": "AUTO" }}}, {"match":{ "body": { "query": q, "fuzziness" : "AUTO", "boost":100 }}}, {"match":{ "vec": { "query": qev }}}]}}} + score function ... "tokenizer": { "normal_tokenizer": { "type": "kuromoji_tokenizer", "mode": "normal"} }, "analyzer": { "normal_analyzer": { "type": "custom", "tokenizer": "kuromoji_tokenizer", "filter":[ "trim", "kuromoji_stemmer", "ja_pos_meishi_filter" ]}}}}, "mappings": { "dynamic": "strict", "properties": { "body": { "type": "text", "analyzer": "normal_analyzer", "search_analyzer": "normal_analyzer", "term_vector" : "with_positions_offsets" }, "roman": { "type": "text"}}, "vec": {"type": "vector"}}} 検索 index
検索だけに幸ありwwwwwwwwwww fuzzy、vector検索によって 吉野家、松山などが引けている (上手いダジャレの返しができそう)
運用するうんようwwwwwwwwww • 2020/06/22 (月) 各位のtimelineでオンラインテスト
駄率wwwww • Slackへの投稿をqueryとしtop10以内の結果から良さげな回答を選んで返す • challengeした数:10 ◦ :da: が付いた数:7 ◦ しーきび:2 ◦
Iwasa method:1 参考:皆に優しいダジャレ評価フローとリアクション(一部) すごい回答の例 vector検索で「ケーブル」関連語として 「故障」があがる
検索すれば幸になるのか • 検索によるサポートで誰でも :da: が取得できる ◦ ESのvector検索、ローマ字検索の queryの重みを変更する事で、 誰でも簡単に、好きな面白い方向性でダジャレを検索、投稿できる ◦
果たしてその :da: に価値はあるのかという議論は別途ある ▪ 敷居を下げる十分な効果がある • 難しい例も存在する 利用困難な例
今後の改善点 • 「Docker」「JIS」「Jenkins」「Jira」「CI/CD」など 英語、技術用語に対応したダジャレがデータベース上にない ◦ ローマ字変換を試みたが、オノマトペ難しい • Elasticsearchをどう管理するか ◦ Elasticsearch
docker-composeを使っておりローカルマシンが重くて仕事にならない • End2Endなモデルの作成 ◦ 大きなMLモデルは事前学習モデルが基本自然文で学習されているため唐突な遷移が難しい ▪ 今後のfeature worksとしたい
華金だから もうおしごとは できんよう〜〜w ※ 社外の@_329_さんのプライバシー保護のため一部画像を加工しています