Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
パチンコ問題ってのがあってだな(改)
Search
souki_tn
October 15, 2014
Technology
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
パチンコ問題ってのがあってだな(改)
souki_tn
October 15, 2014
Other Decks in Technology
See All in Technology
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
400
Classmethod Company Deck
satoshi7
1
730
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
300
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
190
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
200
夫婦で子育てするための育児標準化
codmoninc
PRO
0
460
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
160
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
290
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
350
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Fireside Chat
paigeccino
43
4.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Practical Orchestrator
shlominoach
192
12k
Ethics towards AI in product and experience design
skipperchong
2
440
My Coaching Mixtape
mlcsv
0
360
Transcript
パチンコ問題 ってものが あってだな 2014.10.1 モバイルファクトリーヴォラーレ共同勉強会 ヴォラーレ株式会社 CTO 田中創基
パチンコ問題とは 一般ユーザーが投稿するCGMサイト では、不適切な投稿というものがある ・ち◦ことか f*ckとか しかし、マッチしたら一律禁止にすると ・パチンコ、ウルトラマンコスモス とかが書き込めなくなる
昔の人は言いました
敵を知り己を知れば 百戦危うからず
今回の敵
コーヒー・ライター
コーヒー・ライターとは 昔の深夜ラジオで 「アメ」とか「ヤッターマン」とか 前に並べて、女性ゲストに読ませる コーナーがPTAで問題になったらしい。 口には出すなよ
ヤッターマン コーヒー ライター
改行しようが 長音入れようが 逝ってよし
敵とは 中坊神経が発達した連中 きっとギリギリを攻めて来る
今回の己
禁止キーワード管理とは ホワイトリストとブラックリストで運用 ブラックリストは言わずもがな ホワイトリストには 「ウルトラマンコスモス」とかを入れる
運用上の都合で さらに、無視リストを作る 改行とか長音「ー」 句読点「、。」 挟めば通るのでは意味がない ブラックリストだけに使う
処理のタイミング 当然のようにバリデーションで行う 0.1秒以内ぐらいが理想
ぱっと考えると 全パターンをstrposで探す →検索パターン数が増えたら死ぬ →ホワイトリストとブラックリストの被り 判定とか死にそう
どーすんの?
昔の人は言いました
故きを温ねて 新しきを知る
検索アルゴリズム KMP法という検索アルゴリズムがある くわしくはググれ(クヌース-モリス-プラット法) KMP法のエッセンス ・テキスト一文字ずつ処理・線形処理 ・検索パターンの先頭を特別扱いする ・検索パターンを事前に調理しておく
今回の設計の肝 ・パターンの頭文字を特別扱いする ・文中に含まれる文字で頭文字で 検索パターンを絞り込む ・テキストの先頭から一字ずつ調べる 頭文字が該当のパターンで十分 ・対象テキスト量のO(n)〜O(n2)ぐらい
実際 入力されるテキストは200字行くことは 少ない 字種はさらに少なく、NGワードの頭文 字はさらに少ないから、実質凄く軽い はず
実際の処理1 ・やまもといちろう がよく吠えてますが ・ちろう はNGらしく本名が使えないらしい http://kirik.tea-nifty.com/diary/2014/07/gmo-a7df.html
実際の処理2 やまもといちろう 重複なしなので頭文字で抽出する -- WHERE `capital` IN (‘や’,‘ま’,‘も’,‘と’,‘い’,‘ち’,‘ろ’,‘う’) ホワイトワードの「いちろう」 ブラックリストの「ちろう」
実際の処理3 一文字ずつチェックして行き 最長一致で いちろう が優先され、ホワイト認定となります
そうはいっても問題点 オーマン国際女子マラソン とか、当て字には無力 →人力チェックは必須
最後に 古いアルゴリズムを 勉強しよう 発想の宝庫です