オーストラリアのほぼすべての法律・規則・判例をマッピングするプロジェクト
(umarbutler.com)- Australian law map は Open Australian Legal Corpus の法律・規則・判例を2次元の意味空間に配置し、オーストラリア法体系の構造を一目で探索できるようにする
- 地図では、同じ主題よりも文書種別ごとの文体や目的の違いのほうが強く作用し、判例と立法の間に 見えない壁 が現れる
- 管轄ごとの境界は明確ではないが、コーパスには著作権上の制約により Commonwealth と New South Wales の判決しか含まれず、Victoria・Northern Territory・Australian Capital Territory の立法は欠けている
- 移民法・家族法・実体刑法は判例領域で最も孤立しており、立法文書からも遠い一方、開発法の判例は立法文書に最も近い分野として現れる
- 実装は、テキスト埋め込み、PaCMAP による次元削減、HDBSCAN クラスタリング、tf-idf ラベリング、手動統合、Plotly 可視化を組み合わせた汎用的な意味マッピング手順で、再利用可能である
オーストラリア法を意味空間に配置した地図
- 地図はオーストラリアの法律・規則・判例を2次元空間に配置し、文書間の 意味的類似性 を距離として示す
- 各点は Open Australian Legal Corpus の固有の法律・規則・判例文書を表す
- コンピューター上で文書にマウスを重ねると、タイトル、種別、管轄、カテゴリを確認でき、クリックすると文書を開ける
- 文書はカテゴリごとに色分けされ、凡例でカテゴリをクリックするとそのカテゴリを除外し、ダブルクリックするとそのカテゴリのみを表示する
判例と立法の間の見えない壁
- 地図には判例文書と立法文書を分ける 見えない壁 が現れ、北極と南極のように両極へ分かれる構造を示す
- 同じ主題を扱っていても、判例は判例同士、立法文書は立法文書同士のほうが多くの共通点を持つ
- この違いは、主題そのものよりも判例と立法の 文体と目的 の違いが意味空間に強く反映された結果と見られる
管轄ごとの境界は明確ではない
- 管轄ごとに文書を色分けしても、異なる管轄の文書間に明確な 境界 は現れない
- ただし、Open Australian Legal Corpus には著作権上の制約により Commonwealth と New South Wales の判決しか入っておらず、Victoria・Northern Territory・Australian Capital Territory の立法は含まれていない
- 地図上で管轄が混在していることは、オーストラリアの州法と連邦法が比較的 同質的 である可能性を示す
- 残っている州法・連邦法の境界も、管轄上の法理より主題の違いとよりよく対応している
- これは、州・連邦の裁判所と議会が一つの法体系の中で運営され、High Court of Australia が憲法上の権利と権限の限界をめぐる政府間紛争を仲裁する構造とも整合する
判例と立法の本土と島々
- 判例と立法の領域の中には、大半の文書が属する 本土 と、同じ主題の文書が集まる複数の 島 がある
- 本土の存在は、ほとんどの判例と立法が一つのつながった知識プールから生まれ、再びその中へ戻っていくことを示唆する
- 一部の立法・判決の島は本土から完全に切り離されている
- Tariff concession orders は輸入可能商品の技術的カテゴリを規制し、固有の群島を形成する
- airworthiness directives は航空機部品の規制に焦点を当てた大きな島を形成する
- 面積基準で最大の島は、ほぼすべてが 移民事件 で構成される
- 19の可能な法分野のうち、移民法と家族法だけが本土内より本土外でより頻繁に現れる
- 家族法はすでに法体系の他の部分からやや孤立していると認識されており、地図もその孤立性を裏づける形を示す
- 移民法事件は、移民法に特化した立法と判例を参照する傾向があり、比較的自己完結的に現れる
刑法・家族法・移民法の位置
- 移民法、家族法、実体刑法は緯度上でも互いに近くに集まり、潜在的なつながりを示す
- この3分野はいずれも個人の生活を規律することに特に焦点を当てており、法人の財産権だけを扱うものではない
- これら3分野の判例は、地図上で立法文書から最も遠く離れた判例タイプである
- この距離は、その分野が立法をまったく引用しないという意味ではなく、他の判例分野より先例により頻繁に依存している可能性、あるいは複雑な多次元関係を2次元地図で表現することの限界に関係している可能性がある
- 立法文書に最も近い判例分野は 開発法 であり、地域計画の法律・規則と密接に関わることが多いためである
- 刑法の大きな六角形の島は主として実体刑法事件で構成され、司法の本土につながった刑法事件は刑事手続に関する事件が多い
- これは、実体法を刑法と民法に分ける大きな区分と、刑事手続法と民事手続法が自然的正義のいくつかの共通原則を共有していることによく一致する
判例法は連続体のように見える
- 判例の本土を下から上へたどると、オーストラリアの判例法は厳密に分かれた構造というより 連続体 に近い
- 開発事件は環境事件とつながり、環境事件は土地事件へと続く
- 土地事件は契約事件と接し、契約事件の北には手続事件、西には知的財産事件、東には商事事件がある
- 手続法の北には刑法と名誉毀損があり、知的財産法の西には行政法・保健および社会サービス法・雇用法・過失・運輸法が続く
- 商事法の東には衡平法と家族法の一部がある
- 開発・環境・土地法が互いに絡み合っていることや、過失事件が交通事故・労災請求と多く関係し、運輸法・雇用法の近くに集まることは、既存の法分野の関係理解とよく一致する
- 一部の土地法判決は商事・手続事件と重なり、この縞模様の事件群は債務不履行が関わるモーゲージ紛争に焦点を当てる傾向がある
- 運輸法判決は、本土につながるグループと実体刑法の島につながるグループに分かれる
- 刑法の島につながる運輸判決は、運転免許停止に焦点を当てることが多い
- 本土につながる運輸判決は、交通事故に焦点を当てる傾向がある
意味マッピングで確認した構造と拡張可能性
- 地図は判例と立法の既知の違いを反映しつつ、法分野間の潜在的な区分や隠れたつながりも明らかにする
- 特に次のパターンが際立つ
- 移民法、家族法、実体刑法は、地図上で最も孤立した判例分野である
- 移民法、家族法、実体刑法は、立法文書から最も遠い判例分野である
- 開発法は、立法文書に最も近い判例分野である
- オーストラリアの州法と連邦法の間には、文体、解釈原則、一般法理の面で目立つ区別は現れない
- 3次元地図を作れば、2次元では表現しにくい新たな隠れた関係を明らかにできる可能性がある
- 他の州・準州の判例と立法を追加すれば、オーストラリア法地図の解像度を高められる
- UK、Canada、New Zealand のような他の common law 諸国の法文書を追加すれば、法体系間の歴史的かつ継続的な相互作用を捉えられる
- 意味マッピングはオーストラリア法に限られず、大規模な非構造化データセットの構成と構造を素早く理解するのに使える
実装手順: ベクトル化から可視化まで
- 任意のデータセットを意味地図化する過程は、大きく ベクトル化、クラスタリング、ラベリング、次元削減、可視化に分かれる
- テキストの意味を数値集合であるベクトルまたは埋め込みとして表現し、ベクトル類似度を用いて文書間の意味的類似性を大まかに把握する
- テキスト埋め込みモデルは Hugging Face の Massive Text Embedding Benchmark (MTEB) Leaderboard を参考に選定した
- 地図作成当時は
BAAI/bge-small-en-v1.5がサイズ対性能に優れたオープンソースモデルの一つであり、現在ではそのファインチューニング版avsolatorio/GIST-small-Embedding-v0のほうが高い順位を記録している - 現代のテキスト埋め込みモデルには、一度にベクトル化できるトークン数である コンテキストウィンドウ が固定されている
GIST-small-Embedding-v0のコンテキストウィンドウは512トークンである- 単語1語はおよそ0.75トークンとみなせるため、約384語を一度にベクトル化できる
- 長いテキストは512トークン以下のチャンクに分割し、各チャンクをベクトル化したうえで平均ベクトルを作成して、テキスト全体の平均的な意味を表現する
- 単純に512番目のトークンごとで切ると意味的に重要な情報が途切れる可能性があるため、意味のある区切りで分割する semantic chunker が必要になる
semchunkは、連続する改行やタブのような意味的区切りを示す文字列を探し、再帰的にテキストを分割する Python ライブラリである
次元削減とクラスタリング
- ベクトル化したデータは、高次元ベクトルから2次元またはより低い次元の座標へ縮約して地図上に表示する
- 次元削減は、高次元データのクラスタリングを難しくする 次元の呪い を緩和するためにも使われる
- 使用した次元削減モデルは PaCMAP で、グローバル構造とローカル構造の両方を保存できる高速かつ高精度なモデルとして活用した
- 地図表示には2次元を使用し、クラスタリングを容易にするためには80次元へ縮約した
- 約400データポイントを持つ別のデータセットでは、80次元より2次元のほうがうまく機能したため、データに応じて複数の次元を試す必要がある
- クラスタリングには HDBSCAN を使用した
- HDBSCAN は
k-means と異なり、すべてのデータポイントを必ずクラスタに入れるわけではない - 地図作成当時、Open Australian Legal Corpus には218,336件の法テキストがあり、そのうち84,780件(38.8%)はクラスタリングされなかった
- さらに10,100件(4.6%)は、意味のある共通特徴がないように見えるクラスタに配置された
- 合計94,880件(43.4%)の文書は意味のあるクラスタに割り当てられず、地図から除外された
- 当時は
fast_hdbscanを使っていたが、その後、通常の HDBSCAN よりもところどころ空白のクラスタを作りやすいことが分かったため、コード例では通常の HDBSCAN を使用している min_cluster_sizeはクラスタの最小データポイント数を定め、低いほど細かいクラスタ、高いほど広いクラスタが作られる- 最終作業では
min_cluster_sizeを50に設定して507個の固有クラスタを作成し、これを手動で19の法分野にまで減らした
ラベリングと手動統合
- クラスタに意味のあるラベルを付けるため、tf-idf で各クラスタの上位トークンを確認した
- tf-idf は、特定クラスタで頻出しつつ、データセット全体では相対的にあまり一般的でないトークンに高いスコアを与える
- 上位4トークンが同じクラスタを先に統合したが、507個のうち削除されたクラスタは2個だけだった
- その後、上位トークンを基準にクラスタ統合ルールを337個手動で作成し、最終的に19の法分野へ整理した
- 手動統合の過程では、データがカテゴリを導くようにしようとしたが、クラスタ数が減るほど、どのカテゴリを含め何を除くか難しい判断が必要になった
- 19カテゴリを互いに識別可能な色で表示することも容易ではなく、Sasha Trubetskoy が公開したカラーパレットを使って解決した
- 手動統合は、データ構成への深い理解が必要な場合や、最終結果の精密さと正確さが特に重要な場合に適している
- それ以外では、クラスタリングモデルを調整してより少ないクラスタを作り、上位 tf-idf トークン3個または大規模言語モデルで自動ラベリングする方法のほうが有利である
- 自動ラベリングの例としては、
gpt-4または OpenAI API 互換モデルにランダムな文書スニペットと上位 tf-idf トークンを渡し、4語未満のラベルを作成させる構成がある
Plotly 可視化と限界
- 最終的な地図は Plotly により、2次元または3次元の散布図を作成できるよう構成した
- Plotly の主な限界は、地図を拡大してもデータポイントの大きさを一緒に大きくできない点である
- 数十万のデータポイントがあると点が重なり合い、点サイズを小さくすると拡大時に識別しにくくなる
- Plotly の一部の問題はカスタム CSS と JavaScript で回避したが、そのコードは共有していない
- 可視化の後には、地図の地形的パターン、外れ値、島、データの基本構造を観察する分析段階が続く
- 同じ手法を Common Crawl コーパスに適用すれば、インターネットの高解像度な意味地図を作れると考えている
1件のコメント
Hacker Newsのコメント
素晴らしい仕事だ。特に「この手法をCommon Crawlに適用すれば、インターネットの地図を作れる」という一文が強く響いた。
私は以前から、普通は地図になっていないものを地図にすることに何年も夢中で、いくつも作ってきた。その中で比較的知られているものがMusic-Mapだ: https://www.music-map.com
昔からウェブの地図を作りたくて、web-map.comのドメインも登録してあり、カスタムクローラーや関連ウェブサイトを素早く見つけるアルゴリズムも試してみたが、十分実現可能に思えた。
ただ、すでに複数の実験的な地図を運営していることと、あらゆるものの地図作りのビジネスモデルをまだ見つけられていないことから、保留中だ。
小さな埋め込みモデルと、次元削減のための主成分分析(PCA)を使った: https://weblog.snats.xyz/posts/2024/03/20/
2人のアーティストが長いコラボの連鎖を通じてどれくらい離れてつながっているかを見るのはかなり面白かった。ほとんどの人間関係の地図と同じく、結局は何百人ともコラボする少数のスーパ―コネクターと、その周囲の小さな集団に収束したが、興味深いクラスターも現れた。
似たような素晴らしい地図はあるが、かなり古い: http://internet-map.net/
「オーストラリアの判例法が一種の連続体のように見える」という表現は美しい図を与えてくれるが、地図は領土ではないという格言を強調したい。
その連続体は、実際の法知識の構造というより、投影方法や選んだ類似度尺度などの関数かもしれない。
もちろん、地図から学べないという意味ではないが、文書全体の実際の知識構造が必ずしも扱いやすい連続体である必要はない。
それでも、プロジェクトの文書化の仕方は素晴らしく、オーストラリア法の領域を新しい見方で捉えられるようにしてくれる。
法律の読者とデータサイエンスの読者の両方を念頭に置いて書いたので、推論を推論以上のものに見せないようにしつつ、現代の技術で知識を意味論的にマッピングしようとする試みの限界を、あまり技術的すぎる形で説明しないようにした。
ただ、法を学んだ立場からすると、オーストラリアの判例法は実際にある程度連続体に近い。1つの事件が複数の法領域にまたがることがあり、裁判官が判断する際に参照できる先例の主題には、関連性と拘束力の有無以外に大きな制約がない。
最終的なクラスタリングが、大学で法を学んだときの構成と驚くほど似たものになったのも興味深かった。これは、オーストラリアの法学課程の設計に多くの考慮が払われていることを示している。実際、必修11科目であるPriestley 11があり、地図にもすべて反映されている: https://en.wikipedia.org/wiki/Priestley_11
この種の可視化はかなり奇妙に感じられる。法律の専門家ではないが、法学の教科書はたくさん読んできた。
普通、制定法は比較的まばらな触手のような構造になると予想する。
判例法は本質的に、制定法の曖昧な意味や空白を裁判官が埋めるという中間的性格が強い。
なのに判例法と制定法が2つの明確なクラスターを成しているのは納得しがたく、ドメインモデリングの誤りのように見える。ドメインモデルを考慮せずに、データセットへテキスト類似度尺度を素朴に適用すると出てきそうな結果だ。
そのうえ、オーストラリアのようなコモンロー国家では、法令とは独立して発展した法概念が多く、それらは今も独立したままだったり、後に法令として成文化されたりする。たとえば不法行為がある: https://www.alrc.gov.au/publication/traditional-rights-and-freedoms-encroachments-by-commonwealth-laws-ip-46/16-authorising-what-would-otherwise-be-a-tort/the-right-to-sue-in-tort/
とてつもない作業だ。自己資金でWeb開発をしている立場として、こんなことをする時間をどうやって捻出しているのか気になる。
履歴書を強化するためなのか、製品や試作品なのか、あるいは純粋な愛情の産物なのかは分からないが、少なくとも画期的だ。
技術面の説明も良かったし、途中からは流し読みになったものの、現代的な埋め込みアルゴリズムと従来の機械学習クラスタリングを組み合わせたものに見えた。
ベースとなるデータができたのだから、フル生成モデルを使って「この事件の部分集合を要約し、特定の状況や微妙な争点でタグ付けせよ」といった意味解析を試し、その結果をクラスタリングすることも考えたのか気になる。米国でこの1年間、判例法に大規模言語モデルを適用してきた大勢の開発者たちが、おそらくそういうことをやっていてほしい。
こういうプロジェクトは、すでに予定がぎっしりでも協力したいと言いたくなる類いのものなので、コメント欄とインスピレーション用ブックマークフォルダのかなり名誉ある場所で満足するしかなさそうだ。
Umar Butlerはオーストラリアのデータサイエンティスト、リーガルテックの専門家、人工知能研究者であり、法・技術・人工知能、そしてその間にあるテーマについて書くブログを運営している。
リーガルテックと人工知能研究の一環として、オーストラリア法学習用LLMデータセット、最大の公開オーストラリア法データベース、オーストラリア法向け初の公開LLMなどを発表している。
現在はAttorney-General’s Departmentでデータサイエンス副部長を務めており、公共の意思決定と法・政策分析を可能にし、加速・改善するための責任ある人工知能活用と、中核的な人工知能政策の策定について助言している。
モバイルでインタラクティブな可視化をスクリーンショットに置き換えてくれたのが本当に良かった。スマホで読む体験がずっと良くなる。
とても素晴らしく、祝福に値する仕事だ。
ロースクールに通っていた頃、コモンローを相互依存の網として想像していたが、この可視化も似ている。ただ、自分が思い描いていた依存関係までは完全には捉えていない。
コモンローとは主として控訴審の裁判官が作る法を意味する。ときには制定法の上に意味・解釈・定義を積み重ね、ときには当該争点にぴったり合う法が存在しないときに完全に作り出されることもある。ここで「作る」とは、ヴィクトリア朝時代の英国やそれ以前にまでさかのぼる歴史的先例の長い流れの上に構築されるという意味だ。
だから、米国で「裁判官が作った法」を非難する人たちは滑稽に聞こえる。米国のほぼすべての法は、実際のところ裁判官が作った法だからだ。
コモンローは、事件や先例をノードとし、エッジが先例を支える強さを何らかの形で符号化するグラフ構造で表現するのに向いていると、ずっと思っていた。裁判官が先例の強さを可視化して見られるなら、先例から逸脱することをもっと慎重に考えるようになるかもしれない。
この表現はその方向への一歩であり、この技術がほかのコモンロー諸国にも広がることを願う。
オーストラリアの法制度の中であれこれ長く対処してきて、しばらくは本人訴訟と独学でやっていたが、最近は弁護士の助けを得るようになった。
民事・刑事手続に関する法律も自分でいくつも読み、立法と判例法のあいだにある見えない壁にもぶつかってきた。
この仕事は自分の関心と驚くほど一致していて、整理してくれてありがたい。ただ、数か月前に投稿されていればずっと助かっただろうというのが唯一の惜しい点だ。
データの記述的分析と、プロセスの技術的な分解の両方に注がれた労力が感じられる、見事な記事だ。
昨年、英国の判例法と制定法を地図化しようとする似たアイデアを持っていた。
いつものように生活に追われて中途半端に終わったプロジェクトのコレクション入りしてしまったが、この素晴らしい記事を読んでまた挑戦してみたくなった。
多くの英連邦諸国では、判例法、行政法、立法府が可決し行政府が裁可した法律を公式に体系化したものが存在しないように見える。
英連邦から分かれた米国には公式のUS Codeと州法典があり、判例法・行政法・成立法の影響を整理しようとする試みがある。一方、カナダにはCriminal Codeのような一部の体系化はあるが、すべての議会制定法が単一の法典に整理されているわけではない。
英国には、自分の見る限りイングランドやウェールズにそのようなものはなく、香港にはBasic Lawと条例群によってある程度の体系化の形がある。オーストラリアには連邦レベルまたは州レベルで法典体系化があるのか気になる。
US Codeは成文法であり、Code of Federal Regulationsは行政法だ。判例法の法典体系化はなく、あるのは判例集だけだ。
判例集は、判決結果が順次流れてくるものに近く、これは成文法を法典化しない場所で法令を逐次公表するやり方に似ている。州もおおむね成文法と行政法は法典化するが、判例法はそうではない。