Upgrade to Pro — share decks privately, control downloads, hide ads and more …

公開している Notion サイトから人名を抽出して、誤って個人情報を記載していないか検出できるようにしてみた

公開している Notion サイトから人名を抽出して、誤って個人情報を記載していないか検出できるようにしてみた

YUMEMI.grow 【自動化特集】の発表資料です。

https://yumemi.connpass.com/event/257184/

おかやまん

September 01, 2022
Tweet

More Decks by おかやまん

Other Decks in Programming

Transcript

  1. 公開している Notion サイトから人名を抽出
    して、誤って個人情報を記載していないか
    検出できるようにしてみた
    YUMEMI.grow 【自動化特集】

    View Slide

  2. 自己紹介

    View Slide

  3. ・おかやまん
    ・株式会社ゆめみ3年目
    ・Android、Flutter テックリード
    ・趣味は将棋とプログラミング
    あっ、自動化も趣味です(笑)

    View Slide

  4. 公開している Notion サイトから人名
    を抽出して、誤って個人情報を記載
    していないか検出できるようにしてみ

    View Slide

  5. View Slide

  6. モチベーション

    View Slide

  7. ゆめみでは「ゆめみオープン・ハンドブック」として、社内ドキュメントを外部に公開しています

    View Slide

  8. 仕組み

    View Slide

  9. Notion でドキュメントを書いて、それを Super でウェブサイト化しています

    View Slide

  10. Notion × Super 最高!

    View Slide

  11. 注意点

    View Slide

  12. ゆめみオープン・ハンドブック配下の
    ページは全て外部に公開される

    View Slide

  13. 誤って個人情報が公開されてし
    まうことがありそう、、

    View Slide

  14. ゆめみオープン・ハンドブックのペー
    ジ数は 1200 以上

    View Slide

  15. え、、、
    人力で全てのページを監視するの
    無理そう、、

    View Slide

  16. 自動化すればいっか

    View Slide

  17. 個人情報を抽出する

    View Slide

  18. ※ 今回は人の名前のみ

    View Slide

  19. 作ってみた

    View Slide

  20. Super を利用して構築された Notion サイトから人名を抽出するツール

    View Slide

  21. View Slide

  22. 利用しているもの

    View Slide

  23. ・Web ブラウザの操作を自動化
    ・主な目的は Web アプリの UI テストの自動化
    詳しくは↓
    https://www.selenium.dev

    View Slide

  24. ・Python で自然言語処理を行うためのライブラリ
    ・解析結果を扱いやすいようにコンポーネント化
    ・速い
    詳しくは↓
    https://spacy.io

    View Slide

  25. ・日本語に特化した自然言語処理ライブラリ
    ・spaCy を NLP Framework として使用
    ・日本語 20 億文以上を用いて事前学習
    詳しくは↓
    https://megagonlabs.github.io/ginza

    View Slide

  26. ざっくりコード紹介

    View Slide

  27. requirements.txt

    View Slide

  28. .env

    View Slide

  29. settings.py

    View Slide

  30. main.py

    View Slide

  31. main.py

    View Slide

  32. main.py-analyze()

    View Slide

  33. main.py-analyze()

    View Slide

  34. View Slide

  35. View Slide

  36. main.py-analyze()

    View Slide

  37. main.py-extract()

    View Slide

  38. outputs.electra.log

    View Slide

  39. 課題

    View Slide

  40. ・それなりに時間がかかる
    ・ホワイトリスト必要そう
    ・個人情報は人名だけじゃない

    View Slide

  41. いろいろと課題はあるけど、、

    View Slide

  42. 自動化はすばらしい!

    View Slide

  43. ご清聴ありがとうございました

    View Slide