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
公開している Notion サイトから人名を抽出して、誤って個人情報を記載していないか検出でき...
Search
おかやまん
September 01, 2022
Programming
0
450
公開している Notion サイトから人名を抽出して、誤って個人情報を記載していないか検出できるようにしてみた
YUMEMI.grow 【自動化特集】の発表資料です。
https://yumemi.connpass.com/event/257184/
おかやまん
September 01, 2022
Tweet
Share
More Decks by おかやまん
See All by おかやまん
具体と抽象の行き来を意識する
blendthink
0
410
FlutterKaigi Day1「Dart のこれから」
blendthink
1
6.1k
Yumemi.apk #6 ~ゆめみのAndroidエンジニア 日頃の成果大発表会!~ Session 2
blendthink
1
620
株式会社ゆめみの Android の採用コーディング試験を公開しました
blendthink
0
88
Yumemi.apk #5 ~Kotlin夏祭り~ Session 2
blendthink
0
390
Developers Boost Session 6
blendthink
1
890
Other Decks in Programming
See All in Programming
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
230
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
850
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
ML.NETで始める機械学習
ymd65536
0
230
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.5k
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
460
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
280
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
970
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
250
Rubyと自由とAIと
yotii23
6
1.6k
Domain-Driven Transformation
hschwentner
2
1.9k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Adopting Sorbet at Scale
ufuk
74
9.2k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Practical Orchestrator
shlominoach
186
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
510
How to Ace a Technical Interview
jacobian
276
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Transcript
公開している Notion サイトから人名を抽出 して、誤って個人情報を記載していないか 検出できるようにしてみた YUMEMI.grow 【自動化特集】
自己紹介
・おかやまん ・株式会社ゆめみ3年目 ・Android、Flutter テックリード ・趣味は将棋とプログラミング あっ、自動化も趣味です(笑)
公開している Notion サイトから人名 を抽出して、誤って個人情報を記載 していないか検出できるようにしてみ た
None
モチベーション
ゆめみでは「ゆめみオープン・ハンドブック」として、社内ドキュメントを外部に公開しています
仕組み
Notion でドキュメントを書いて、それを Super でウェブサイト化しています
Notion × Super 最高!
注意点
ゆめみオープン・ハンドブック配下の ページは全て外部に公開される
誤って個人情報が公開されてし まうことがありそう、、
ゆめみオープン・ハンドブックのペー ジ数は 1200 以上
え、、、 人力で全てのページを監視するの 無理そう、、
自動化すればいっか
個人情報を抽出する
※ 今回は人の名前のみ
作ってみた
Super を利用して構築された Notion サイトから人名を抽出するツール
None
利用しているもの
・Web ブラウザの操作を自動化 ・主な目的は Web アプリの UI テストの自動化 詳しくは↓ https://www.selenium.dev
・Python で自然言語処理を行うためのライブラリ ・解析結果を扱いやすいようにコンポーネント化 ・速い 詳しくは↓ https://spacy.io
・日本語に特化した自然言語処理ライブラリ ・spaCy を NLP Framework として使用 ・日本語 20 億文以上を用いて事前学習 詳しくは↓
https://megagonlabs.github.io/ginza
ざっくりコード紹介
requirements.txt
.env
settings.py
main.py
main.py
main.py-analyze()
main.py-analyze()
None
None
main.py-analyze()
main.py-extract()
outputs.electra.log
課題
・それなりに時間がかかる ・ホワイトリスト必要そう ・個人情報は人名だけじゃない
いろいろと課題はあるけど、、
自動化はすばらしい!
ご清聴ありがとうございました