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
kntn02
Search
hikalium
January 14, 2017
Programming
0
150
kntn02
https://github.com/hikalium/kntn02
hikalium
January 14, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
CSC307 Lecture 07
javiergs
PRO
0
550
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.1k
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
400
ThorVG Viewer In VS Code
nors
0
770
AI & Enginnering
codelynx
0
110
Fluid Templating in TYPO3 14
s2b
0
130
Fragmented Architectures
denyspoltorak
0
150
CSC307 Lecture 01
javiergs
PRO
0
690
ぼくの開発環境2026
yuzneri
0
190
CSC307 Lecture 02
javiergs
PRO
1
770
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.5k
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Everyday Curiosity
cassininazir
0
130
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
77
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Automating Front-end Workflow
addyosmani
1371
200k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
49
Transcript
None
目次 ・手法の検討 ・実装の詳細 ・結果 ・まとめ
手法の検討
元のデータは一体…? ・ある「モデル」で生成されている → 誰かのDNA配列? 画像データ? → モデルを推定できるだろうか?
正解データrefの視覚化
法則はなさそうに見える ・目で見るのは限界がある ・周期性を見つけたい → フーリエ変換!
ランダム 正解データ 視覚化したデータのフーリエ変換像 ランダムなデータと正解データは異なる!
統計的解析 xとなっていた文字の分布 a b c
統計的解析 正解文字列中の3-gram 分布 同じ文字が連続しない場合 (12パターン) 同じ文字が2連続する場合 (12パターン) 同じ文字が3連続する場合(3パターン)
統計的解析からわかること 同じ文字が連続して出現する可能性は低い 連続しない: 79.0% 2文字連続: 19.8% 3文字連続: 1.2%
セグメントの解析 セグメントの長さと個数の分布
セグメントの解析 長さで重み付けたセグメントの長さの分布
そもそも精度100%は可能か 不可能 1文字のセグメント:1700個ほどある 生成モデルも不明 (実は機械学習も試したがダメだった)
2種類の手法の組み合わせ 1. 確実に修復 → 修復した箇所は100%正解 2. 確率的に修復 → 誤った修復をする可能性あり
実装の詳細 〜確実に修復〜
確実に修復 利用可能な情報:2種類 T' = 虫食いデータ Segment = 切れ端 → 全部つなげると元の文書になる
セグメントの配置決定 T'とセグメント情報を利用 → 挿入可能offsetをリストアップ xを無視した完全一致をとる 挿入可能offsetが一つしかないSegment → そこに配置するしかない = 決定!
セグメントの配置決定 セグメントを配置 → 配置可能箇所が減少する可能性 セグメントは重複しないため → 他のセグメントが決定可能になるかも → これ以上決定できなくなるまで反復
セグメントの解析結果 25文字以下のセグメント → ほぼ確定不可能 35文字以上のセグメント → ほぼ確定できる
セグメント配置の高速化 毎回検索していては遅すぎる! → 配置可能ofsのテーブルを 最初に生成 そのテーブル生成も遅い! → prefixツリーをその前に生成 → テーブル生成を10秒に短縮
実装の詳細 〜確率的修復〜
1: もっともらしいoffsetに配置 セグメントの配置先範囲に含まれる… ・多くのa,b,cで一致しているoffset かつ ・a,b,cの数が一定以上のoffset に優先的に配置する
2: 長いセグメントから配置 長いセグメントほど置ける場所は少ない → 正解の可能性が高い と考える →長いセグメントで上書きしていく (確定的に配置された部分は上書きしない)
結果
None
入力データT'の視覚化
確実に修復されたセグメント 全体の14.5%程度
さらに確率的修復をした結果
正解データと比較
テストデータにおける実績 test1 83.46% test2 83.50% test3 83.32% test4 83.68% test5
83.42%
テストデータにおける実績 だいたい30秒以下 on 1.3 GHz Intel Core i5 (きっと計測環境はもっと速いはず…!)
まとめ
まとめ 速度と精度のトレードオフはよくとれた しかし 精度はそこまで上がらなかった → 決定的なモデルではなくて 確率的モデル?
Contributors
Source Code https://github.com/hikalium/kntn02