見出し画像

NLPによる個人情報の仮名化: 民事判決のオープンデータ化へ向けた取り組みの紹介

これは Legalscape アドベントカレンダー2021🎄 のエントリです。昨日はCTO城戸による「PDFと、出版社と、私」でした。

・・・

こんにちは。Legalscapeソフトウェア・エンジニアの久本(@sorami)です。

今回は弊社が取り組む、自然言語処理(Natural Language Processing, NLP)を活用した判例データの匿名加工処理(仮名化)について紹介します。

2020年3月、「民事判決のオープンデータ化検討プロジェクトチーム(PT)」が日弁連法務研究財団により開始されました。裁判所の判断を示す判決は、弁護士や法務家にとって非常に重要な情報源ですが、そのほとんどが一般公開されていないのが現状です。この取り組みはその名の通り、日本国における民事判決のオープンデータ化を目指すものです。

この取り組みには、日本弁護士連合会(日弁連)の関係者や法学研究者、法律系出版社などが構成員として関わり、加えてオブザーバーとして内閣官房や法務省、最高裁も参加しています。ここにLegalscapeも、主に技術検証を担当するメンバーとして参加しています。

判例のオープンデータ化へ向けて大きな課題となるのが「個人情報」の取り扱いです。センシティブな情報が含まれうる判決文は、そのままの形で公開することは難しく、これらの匿名加工(仮名化)が必要になります。

日本において年間数十万件とも言われる民事判決の全てを、人手(だけ)で匿名加工することは現実的ではありません。そのときに、それをNLPの技術で(半)自動化するということが考えられます。現在、当PTではLegalscapeがその技術検証を行っています。

日本の現状やPTの背景については、弊社CTO城戸による以下の記事を是非ご覧ください。

また、上記記事に加え、音声として以下のポッドキャストでも当件について解説しています。

上記解説を踏まえて当記事では、この取り組みにおけるNLPを活用した実証実験の一端を紹介します。

判例の仮名処理とその自動化

「仮名化」は、いわゆる匿名加工処理のことです。ただ、今回のようなケースでは、単に個人情報など文中のセンシティブな部分を「黒塗り」すれば良いわけではありません。

例えば、「原告城戸」「被告久本」「久本が〜」といった文章を、一律に「原告」「被告」「が〜」と黒塗りだけしてしまうと、各箇所がどの実体を指すかがわからず、閲覧者にとっての利用価値が損なわれます。そのために、それらが同一実体であることを示すために仮名記号を割り振り、「原告X」「被告Y」「Yが〜」などとします。これらの処理を総称して仮名化と呼んでいます。

現在でも、裁判所や民間商用判例データベースを通じて、一部の判例は仮名化されて公開されています。これらは人間により仮名処理作業がなされています。

しかし、もしこれが年間数十万件というスケールになると、それら全てを人手のみで実施するのは現実的ではありません。そこで検討したいのが、NLP技術の活用による(半)自動化です。

他国での取り組み

米国においては既に Public Access to Court Electronic Records (PACER)という公的データベースが整備されており、典型的には裁判後24時間以内に情報が閲覧可能となります。これは、多くにおいて仮名化がなされていないために可能だと考えられます(刑事事件では一部の個人情報が除去・編集される)。

一方、他の多くの国では日本と同様に仮名化の問題があります。そして近年では、その機械処理に取り組んでいる事例もいくつか公開されてきています。しかし未だどの国においても、その仕組みが回り始めるまでは至ってないのが現状のようです。以下に、学術論文として発表をされた例をいくつか述べます。

学術論文以外の形でも、例えば以下の記事ではフランスの法律系出版社Lefebvre Sarrutによる取り組みが紹介されています。

また日本においても我々PTの取り組みとは別に、データ分析コンペティションサービスを提供するNishika株式会社により、法律系データベースを扱う株式会社TKCの後援で、判例個人情報マスキングタスクが開催されていました。

NLPによる日本語判例の自動仮名化

ここからは、Legalscapeが民事判決のオープンデータ化検討PTで行った実証実験について、一部(2020年末から2021年初に実施したものの一端)を紹介します。

問題設定と評価指標

今回紹介するケースでは、約1,600件の「判例の原文書」「人手により仮名化した文書」ペアを用意し、検証を行いました。

具体的に仮名化は、以下2ステップに分けて行いました。

  • ① 対象語句の特定

  • ② 語句属性の特定

機械処理の流れ

はNLPでのいわゆる固有表現抽出(Named Entity Recognition, NER)タスクです。

は、関係抽出エンティティ・リンキング共参照解析といったタスクと類似したものです。仮名対象語句ごとに、適切な「仮名記号」を選択します。そのとき、単に「同じ文字列」=「同じ記号」とするのではなく、指し示す実体や、語句の種類を考慮しなければなりません。同じ「山田」でも、それが同性の別人物であれば別記号を付与する必要があります。他にも、住所が「本籍」か「本籍以外」かで仮名化の粒度を区別することもあります。これは仮名基準次第で、今回はある一定の基準をもとに検証しましたが、法的要件や利用ニーズによって基準は変化します。この基準については別途PTで、法学者らなどにより議論が進められています。

②語句属性の特定

①はいわゆるNERではありますが、機械が「間違えた」とき、それがどのような種類の誤りかによって、実務への影響が異なります。仮名が「漏れた」時にはプライバシーリスクに影響し、逆に仮名「し過ぎた」時には、閲覧者の利用性や権利へ影響します。

①における誤りの種類と評価指標: 仮名過多と仮名漏れ

またNER(系列ラベリング)の場合には、単純な分類問題とは違い、「部分的な誤り(部分的な正解)」もありえます。これは、例えばもし機械処理後に人手修正をするのであれば、その生産性へ影響することが考えられます。

①における誤りの種類と評価指標: 完全な誤りと部分的な誤り

これらの観点を踏まえて、単に「精度95%」などというのではなく、適合率・再現率それぞれの値や、完全一致と部分一致での性能の違いなどを確認していく必要があります。

手法

色々と試行錯誤した結果、当検証では最終的に、①はBERT、②はルール処理を用いて仮名化を行いました。

①について、法文書は一般的な自然言語文書に比べて規則的に書かれていることからまずはルール記述による処理を試みましたが、試した範囲ではかなり低い性能にしか至りませんでした。次に、spaCy(Transformerベースではないv2系)を用いNERモデル学習を実施しましたが、結果としては再現率85%、適合率92%程度に留まりました。また加えて、spaCyモデル時点では言語資源として法律用語一覧(約1.2万語)の活用も試みましたが、性能への影響は確認できませんでした。これには、そもそも対象判例データ約900万語中0.9%のみが該当する法令用語であること、また法律用語自体が仮名対象になることはないこと、などがいくつかの理由として考えられます。人名辞書や企業名辞書であればより有用かもしれません。

それらを経て、今回最終的に利用したのは次のようなモデルです。ベースには、東北大学による日本語の事前学習済みBERT(Whole Word Masking)を用いました。簡単の為に文字単位でのモデルを使っています。ここから、別途用意した判例文書(仮名後のみ)約2.5万件を用い、MaskedLMで100kステップの継続学習を行いました。そしてその後、判例約1,400件によりNERモデルをファインチューニングしました。またBERTモデルに加えて、少しの簡単な後処理(「当事者」セクションのルール解析による原告・被告名の把握、日付や電話番号のパターンによる抽出、など)も行っています。

また、今回は時間やリソースの都合上、各設定で一つのモデルのみを学習しました。異なる初期値から複数のモデルを学習し平均値などを確認したわけではありません。あくまでも大まかに、このデータと問題設定で、どの程度の性能が達成可能か、どのような誤り傾向になるかを確認したのみであることにご注意ください。

同様に今回は、いわゆる分析コンペのように最高性能の追求をやりつくしたわけではありません。例えば、簡単に思いつくだけでも以下のような取り組みによって、幾ばくかの性能向上が見込めるかもしれません。

  • 文字単位ではなく単語単位BERTの利用

  • CRF層の追加

  • BERT以外の言語モデルの検討

結果

前節で述べた最終的なモデルでの性能を以下の図で示します。①(NER)において、仮名箇所ベースで、再現率94.5%(部分正解含め96.8%)適合率93.4%(部分正解含め96.4%)となりました。一方、仮名単語種類ベースではより低い数値となっており、これは出現回数が多い単語における誤りが比較的少ないことを示しています。また別の見方をすると、5割の判例は修正を全く必要とせず、必要とする場合でも平均7箇所・3単語の修正に留まるという結果となっています。そして②(仮名記号の選択)おいては、ルールによる処理だけでほぼ100%の精度となりました。

2021年1月実証実験での結果

今回は学習データとして約1,400件の判例を利用しましたが、その量を減らしたモデルで性能を確認したところ、360件程度で、最大量と同程度の性能に至りました(先述したように今回は、各設定で異なる初期値から複数のモデルを用意したわけではないので、あくまで参考程度の結果です)。ここから、単に学習データ量を10倍にしたからといって、性能が今より大幅に上がることはないのではないかと想像されます。またこの背景には、そもそも法律文書は規則的に記述されているためであるとか、難しいエラー事例(後述)は基本的に変わった固有名詞であり判例データが増えたからといってそれらのカバレッジが上がるわけではないから、といったことが考えられます。

学習データ量とNER性能

エラー事例

さて性能はさておき、具体的にはどのような誤りがあったのでしょうか。具体的な本物の事例は、判例というデータの性質上お見せできないのですが、ニュアンスを伝える疑似的な例を以下で紹介します。当記事に本物の判例データ本文は一切登場しません。

まず、①(NER)での誤りの種類とその割合を以下に示します。人名や企業名が、そもそも出現回数が多く、またそれら語句にバリエーションも多いため、割合が高くなっています。

①仮名対象の語句: タイプごとの誤りの割合

いくつかエラー事例を以下の図で紹介します(先述したように、以下の例は全て、本物の判例本文ではなく、あくまで疑似例です)。

人名や企業名における誤りの例(実際の判例データではないことに注意)
固有名詞、住所、数値、日付における誤りの例(実際の判例データではないことに注意)

人間が見ても難しそうだと感じるようなケースが多いです。逆に言うと、先述した再現率・適合率が示すように、一般的な表記がされているほとんどのケースでは機械が正解できているようです。しかし例えば、インターネット上での出来事を対象にした際のハンドルネームやスレッド名といった仮名対象は、表記にバリエーションがかなりあり得えるため、機械には難しいことが多いという印象を抱きました。ちなみに、現在実際に人手で仮名作業されている方にお話を伺った際にも、人間でもそういったものは時間がかかることが多いと仰っていました。

次に②の語句属性の特定についてです。これはルール処理のみでほぼ100%正解ができており、誤りの事例も図右下に述べた少数のケースのみでした。本来、関係抽出や共参照分析といった類いのタスクは容易なものではありません。しかし法律文書においては、曖昧な記述は基本的になく、「山田太郎(以下山田という。)」と明示的に述べられていたり、ルールによる処理と相性が非常に良いと言えます。

②語句属性の特定: 詳細と結果

また、この②での誤りは、①(NER)と違ってプライバシーリスクには影響しません。そして、一方で閲覧者の利便性には影響しますが、現在の簡単なルール処理によっても100%に近い精度が達成できています。そのため、判例の仮名化においては①が、より難しく重要な問題だと言えます。

NLP2022

当検証については、言語処理学会第28回年次大会(NLP2022)でも発表する予定です。

民事判決のオープンデータ化へ向けて

ここまで解説した初期検証により、機械処理で「95%」というようなレベルでの自動仮名化は達成しうるということが確認できました。

しかし、個人情報への配慮や閲覧者の利便性を考えると、必ずしも「95%だからOK」と言えるわけではありません。そして機械で処理する限り、ここからいくら性能改善をしても「100%を保証」するようにはなりません。100%の仮名化をしようとすると、やはりどうしても人間のチェックが必要になります。また違う方向性としては、例えば利用者を限定することで、100%ではなくても一部の人手修正のみで足りるということもあるかもしれません。

人手修正オプションの一例

人間が作業するとき、従来のようにゼロから行うのではなく、機械を上手く活用することで、大幅に生産性を向上させることが出来るのではないかというのが、オープンデータ化へ向けて一つ検討している方向性です。そのためには、機械処理の適合率(仮名過多)を妥協してでも再現率(仮名漏れ)を向上させることが有用かもしれません。また、人手による修正のモデルへの適切なフィードバックが効果的かもしれません。人間が作業しやすいツールの開発も非常に重要でしょう。

Legalscapeでは、ここまで述べてきた検証結果も踏まえて、判決のオープンデータ化へ向けて、機械出力を活用した効果的な人手修正作業の実証実験などに引き続き取り組んでいます。

当件はLegalscapeだけの取り組みではなく、民事判決オープンデータ化PTの皆様と共同で進めているものです。特に法的な面や実務運用の面で、法務省や出版社の方々から弊社は多大なご助言やサポートを頂いています。また法律分野でのNLPについては、名古屋大学の外山勝彦教授小川泰弘准教授にご助言を頂きました。ありがとうございます。

PTの資料などは、以下のページから参照することができます。

おわりに

Legalscapeは「すべての法情報を見渡す景色を描き出す」ことを目指して、リーガルリサーチサービスの開発に加えて、このような取り組みにも関わっています。地道ではありますが、法治国家のインフラ整備へ向けて欠かすことができないことだと考えています。ご興味持っていただけた方は、ぜひ採用情報もご覧ください。

Legalscape アドベントカレンダー2021🎄 も明日でついに最終日。最後は、CEO八木田による「リーガルテック業界の展望」です!

(カバー写真: Legalscapeのオフィスがある東大本郷キャンパスにて筆者撮影)