Publicité

可視化法学(studycode編)

lead software engineer at Aiming Inc. à Aiming Inc.
25 Sep 2017
Publicité

Contenu connexe

Similaire à 可視化法学(studycode編)(20)

Plus de (shibao)芝尾 (kouichiro)幸一郎(16)

Publicité

Dernier(20)

可視化法学(studycode編)

  1. 可視化法学の紹介 あるいはcode(コード)≒ code(法令)について 芝尾幸一郎(ソフトウェアエンジニア)
  2. 自己紹介
  3. 芝尾幸一郎 • Aiming(ソーシャルゲーム会社)でデータ分析の仕事をして いる。 • 教育のバックグラウンドはメディアアート • ドワンゴで、ニコニコ動画for iphoneの開発をしていた。 • 趣味でデータ分析をしている。 • 趣味で動画サイトの分析やランキングサイトを作ってい る
  4. 今回の目的 • 可視化法学の紹介(12分) • Codo = Codeの紹介(3分) • プログラマと法曹の気質?(5分)
  5. 可視化法学とは
  6. 可視化法学 • 概要 「可視化法学-法教育に役立てるためにICT を活用して法律の構造を解析して可視化す る個人のプロジェクト」
  7. 法律の参照構造を解釈 してその繋がりを可視 化
  8. 作り方
  9. 法令データ収集 • 総務省法令データベースから データを取得。 • 今はzipがありますが、昔は webからスクレイプしてまし た。
  10. 全ての参照構造を抜き出 す。 • 救急救命士法の中に刑 法へのリンクが有る 刑法 救急救命士法
  11. 刑法 売春防止法 刑法 労働者派遣事業の適正な運営の確保及び派遣労 働者の保護等に関する法律 刑法 育児休業、介護休業等育児又は家族介護を行う 労働者の福祉に関する法律 刑法 特定機器に係る適合性評価手続の結果の外国と の相互承認の実施に関する法律
  12. グラフ理論に基づいて描画 胡一凡さんの考えたアルゴリズム
  13. グラフ理論の基づいて描画 • 多くの法律から参照される法律のサイズは大きくした。 • eg刑法、刑事訴訟法 • 点の色は、その法律が、どの分野に属するか? • 刑事、民事、教育、厚生、労働etc • 色々な分野から参照される法律は鮮やか
  14. 描画の様子
  15. 色んな法律を見てみる
  16. 似たものは近くに配置される 人間が手動で配置しているのではなく、参照し ている法が近くにあれば機械的に自然と集まる
  17. 憲法分野 • 憲法には、基本法が良くくっ 付く。 • 憲法に並んで、沖縄の復帰に 関する法案が大きなウェイト を占めており、占領されて復 帰するのは一つ国作るみたい な大変さがあるようだ。 26
  18. 教育法分野 • 学校教育法が超大きなウェイ トを占めている。 • 地味に、放送大学学園法、私 立学校教職員共済法が多くの リンクを得ている。 27
  19. 税制分野 • 所得税、法人税、関税法が大 きい。 • 租税特別措置法は多くの法か ら参照され、実はあんまり特 別措置じゃなかった。 28
  20. 河川分野 • シンプル • 河川法だけ覚えれば後はそれ の派生でなんとかなるんじゃ ないか? • 法の修正もまだ容易だろう • バグも入り込みにくい 29
  21. 社会保険分野 • 死ぬほど複雑で相互依存が激し い。 • 社会保障は利害関係者が多くて 、なかなか難しいのだろう。 • 何か法改正や追加の度にバグる だろう。 • リファクタリング( コードをシンプル にするプログラミング用語)出来るとい いな。 30
  22. 今後作りたい物
  23. インタラクティブな web版可視化法学
  24. web版DEMO(作りかけ版) http://graph.lawvis.info/ basic認証id:test,pass:test 止まっていることもあります 33
  25. 法分野の時系列変化
  26. 法律がいつ出来ていつ 繋がったかを可視化
  27. 国別の比較
  28. などをやりたい
  29. その他の取り組み
  30. 法令要約(テスト版) 貸金業法
  31. 法令要約 • 機械学習(自然言語処理) • トピックモデルを使って、法令を一枚の画像に要約でき ないか? • その法令に特徴的な用語を抜き出す。 • ガウス過程に基づく連続空間トピックモデル
  32. 宣伝
  33. 冊子を売ってます。 1号、2号、800円 技術書典3 き27 10/22(日)アキバUDX
  34. 法律の専門家の助力を 求めます。
  35. @lawvis をフォロー ブログも有るよ。「可視化法学」で検索
  36. モチベーション
  37. 法は複雑すぎる • 市民は理解できない。 • 複雑になっていくばかりで、誰もリフ ァクタリングしない。
  38. エンジニアは複雑さが嫌い • プログラムのコードは、複雑であるが、シンプルにする 努力を、日々続けている。 • プログラム言語の進化やシステムを利用することで、シ ンプルにしている。 • アセンブラからスクリプト言語へ。 • 継続的テストとリファクタリング
  39. Code(法令)≒ Code(プログラミング)
  40. code(法令)もcode(ソース コード)もcodeである。
  41. 類似点 • 構造を持ち、他者(人、CPU)の理解可能な形で書かれてい る。 • 複雑な(社会、事象)を制御する為に用いられる。 • しばしばバグが有るw
  42. 川上会長の著作権 • 著作権法をjavascriptで書き直 して複雑さを測定する。 • http://bizzine.jp/article/detail/63 7 コードを書く経営者ドワン ゴ川上会長「プログラミン グこそが基礎教養」
  43. 川上会長の著作権 これ、構造化するとわかるん ですけど、実はこの中にコピ ペされている部分がある。(会 場笑) JavaScriptの形式に直 してコンパイルしたら、複雑 度の合計が103になりました。 通常70以上はメンテ不可能と いう先ほどの循環的複雑度か らいえば、この法律は、いか なる変更をしてもバグを生む ということが判明したわけで す。
  44. 論理憲法 https://twitter.com/bitlawjp
  45. 憲法をprologでリライト
  46. プログラマー気質 • Code = Codeで先に考えるべきこと • 法曹とプログラマーで気質に違いがありそう
  47. プログラマー三大美徳 •怠惰 •短気 •散漫
  48. 怠惰 • 全体の労力を減らすために手間を惜しまない気質。 • この気質の持ち主は、役立つプログラムを書いてみんな の苦労を減らしたり、同じ質問に何度も答えなくてもい いように文書を書いたりする。 • よって、プログラマーの第一の美徳である。
  49. 短気 • コンピューターが怠慢な時に感じる怒り。 • この怒りの持ち主は、今ある問題に対応するプログラム にとどまらず、今後起こりうる問題を想定したプログラ ムを書く。少なくともそうしようとする。 • よって、プログラマーの第二の美徳である。
  50. 散漫 • 神罰が下るほどの過剰な自尊心。 • または人様に対して恥ずかしくないプログラムを書き、 また保守しようとする気質。 • よって、プログラマーの第三の美徳である。
  51. 怠惰であるために • DRY(Don’t Repeat Yourself) • 単純作業の繰り返しは悪
  52. 新旧改め文を10秒で • 法制執務業務支援システム(e-laws) • 法改正のための、新旧改め文を、人手ではなく、プログラミ ングで行なう。 • 作業時間は、30時間から10秒へ • 人間が楽するために、機械に頑張らせる • 働くママが終止符を打った霞が関の“伝統芸能”
  53. ある人のツィート
  54. 大量の情報処理(人力) • 法曹は大量の情報処理をしなければならない。 • ファイリング資料2冊、DVD
  55. エンジニアは怠惰 • エンジニアは怠惰なのでこう考える • この資料の内、重要な箇所はどこだろう? • 過去の交通事故と比べて、この事故に特徴的なことは なんだろう。 • 法的事実をこの資料から自動生成出来ないか?
  56. コードの活用 人力で行わず、機械で要約出来ないか? コンピュータを使って迅速化、楽に出来ないか? 怠惰であるために今日頑張る
  57. 気質の違いを理解 •法曹とエンジニアで気質 がだいぶ違うので、互い の気質を理解して付き合 おう。
  58. まとめ • 可視化法学をやっています。 • ICTを利用して法律を分かりやすくする試みです • Code(法)=Code(コード)には類似点がある。 • プログラミングで、法は楽にならないか? • 同じCodeを扱っても気質はだいぶ違う • 仲良くやっていきましょう
  59. 最後にお願い
  60. 法律の専門家の助力を求めま す。 速いマシンを使わせてくださ い。
  61. @lawvis をフォロー ブログも有るよ。「可視化法学」で検索
  62. 時間が余ればや るスライド
  63. DOC2VECで 法令理解
  64. DOC2VEC(曖昧な理解) ➤ Word2Vecをパラグラフへ応用したもの。 ➤ Paragraph2Vecが元論文の名前 ➤ Word2Vec ➤ 文章における各単語間の関連を元に、単語の重みを 付けたもの ➤ 詳しくはこちら ➤ https://deepage.net/machine_learning/2017/01/08/do c2vec.html
  65. 法令の類似度を測るには ➤ 単語の抜き出し(形態素解析) ➤ MeCab % mecab すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS ➤ Doc2Vec ➤ Gensim https://radimrehurek.com/gensim/models/doc2vec.html
  66. WEBサイト作ってみた ➤ Doc2Vecを利用して法令の類似性を測るサイトを作っ た ➤ http://54.238.251.57:5000/ (現在停止中) ➤ 出来ること ➤ 法律用語のにた単語を調べる(死刑ににた単語) ➤ ランダムに選んだカテゴリと近いカテゴリを列挙 ➤ ランダムに選んだ法令と近い法令を列挙
  67. 作り方 ➤ 法令を集める ➤ 法令データをmecabを使って、名詞だけ抽出 ➤ name=未成年者飲酒禁止法(大正十一年三月三十日法律第二十号) word=['未成年', '者', '飲酒', '禁止', '法', '大正 ', '年', '三月', '日', '法律', '号', '最終', '改正', '平成', '年', '二月', '日', '法律', '号', ‘条'] ➤ gensim.doc2vecを利用して、単語間の繋がりを学習。 model = models.Doc2Vec(size=400, alpha=0.0015, sample=1e-4, min_count=10, workers=4) model.build_vocab(sentences) for x in range(30): model.train(sentences)
  68. 学習パラメータの調整 ➤ 名詞だけを含めるか?動詞や形容詞も含めるか? ➤ 多くの法律に共有する単語は無視するか? ➤ どの程度の頻度で出たらその法令を特徴づける単語だ と認識するか?
  69. パラメータを色々いじる ➤ law(名詞、形容詞、動詞) ➤ law2 min_count=1 最低1回以上出た単語を学習に使用 ➤ law3 min_count=10 ➤ law4 min_count=40 ➤ law5 min_count=100 ➤ law7 tagを法令名ではなく、カテゴリ名に変更
Publicité