株式会社LegalForce
契約に関するペインをRubyで解決
東京都千代田区に本社を置く株式会社LegalForceは、自然言語処理を用いたクラウド型契約書レビュー支援ソフトウェア 「LegalForce」を提供している。契約書に潜むリスクを一瞬で洗い出し、自動で契約書に含まれるリスクに対してアラートを出すレビュー機能や、契約書を条文ごとに検索することのできる条文検索機能などを搭載し、法務業務の効率化を実現できるサービスだ。
このサービスはRubyを使って開発されていると聞き、同社CTOの時武氏、CROの舟木氏にお話を伺った。
法律事務所が隣にある環境
ビジネスをする上で避けて通れないのが契約書の締結だ。このチェック業務に多くの時間を費やしている会社も多いのではないだろうか。取引の実態に即しているかどうか、自社に不利なな条文が含まれていないかどうかなど、様々な視点で確認する必要があり非常に手間のかかる作業だ。
こういった業務を効率化するLegalForceは、開発をする上でも法務の知識が必要不可欠に思うのだがどのように開発しているのだろうか。
「これは弊社の特徴なのですが、弊社の代表取締役CEOである角田と代表取締役共同創業者の小笠原が立ち上げた法律事務所ZeLoが物理的に隣にあり、たくさんの弁護士が身近にいる環境です。また、社内にも弁護士が居てヒアリングしやすい体制を取っています。」(舟木)
法律事務所ZeLoはLegalForceを活用して法務を効率化しつつ、LegalForceはフィードバックをもらってサービスの改善に繋げていくという関係性だ。
Rubyのエコシステムを活用したサービス構築
契約書のような自然言語を扱うサービスで、Rubyはどういうところで使われているのだろうか。
「LegalForceは言語処理や機械学習といったAIの技術を組み合わせて、契約に伴うリスクをレビューする機能を提供しています。その中で、Webフレームワークの他にAIのコアロジックでもRubyを使っています。」(時武)
「AIや検索といった技術ドリブンで開発を進めるところは、実際にプロトタイプを作って弁護士の意見をきくことがあります。その際に、実際にモノを見てもらわないとイメージが湧かないことが多く、画面まで作ってヒアリングします。このようなPoCのフェーズにあたる部分は仮説と検証のサイクルを早く回す必要がありますので、Ruby on Railsの開発スピードが活きています。」(舟木)
データベースを使わないケースであればSinatraも使って開発をしているという。
ビジネス上の様々なシーンで、素早くプロダクトを構築できるエコシステムが整っているのもRubyの特徴だろう。
「研究開発では契約書の解析部分でもRubyを使っています。例えば、契約書の条や項などの階層構造を解析するために、構造の遷移をオートマトンを用いた状態遷移で表現しています。これにより、契約書の複雑な構造をよりシンプルに表すことができます。RubyにはAASMというオートマトンのライブラリがありますので扱いやすくなっています。」(舟木)
DSLを構築して開発効率の向上
また、同社は非プログラマ向けのDSLを構築して活用しているのだという。
「AIの開発では弁護士などの専門家の知識が必要ですが、エンジニアにはそのような専門知識はありません。そこで、専門家の考えるロジックをシステムに組み込むために、非プログラマでも扱うことのできるDSLの構築を行いました。Rubyは容易にDSLを構築することができます。」(舟木)
ドメイン固有言語(domain-specific language、DSL)は、特定の処理に最適化して抽象度が高くなるように設計された言語だ。Rubyに詳しく無い人でも、ごく僅かな記述の仕方を覚えるだけで処理を追加することができるようになる。DSLが作りやすいのもRubyの特徴の1つだ。
「LegalForceのDSLは、契約書レビューに差し込むロジックを法律エキスパートの人たちが書けるようにしたものです。もしもエンジニアがロジックを開発した場合、どういうものを作るのかというヒアリング会議を設けてコミュニケーションを繰り返すわけですが、時間がかかる上に正しいものができません。直接そういったところがわかる人たちにロジックの記述をしてもらうことで精度と開発効率の向上に繋がりました。」(舟木)
例えば、契約書の中では契約更新や解約手続きの期限として「1ヶ月前までに」といった表現がある。DSLがあれば、そういった日付計算処理に追加変更を行う際、法律的な観点を持ったメンバーが容易に行えるようになる。
新しい技術も積極的に採用
同社は2017年4月にバージョン1.0をリリースしたHanamiも採用している。
HanamiはClean Architectureを元に設計されている比較的新しいフレームワークだ。
「Hanamiを採用したのは目新しさもありますが、中長期的なメンテナンスのしやすさを目的としています。選定当時は2017年でしたが既に海外では採用事例がありました。Hanamiを使ってみたところ、これまでRailsで仕事をしてきた人なら違和感なく使えたので採用しました。」(時武)
LegalForceのこれから
現在、約500社(2020年9月現在)に導入されている同サービス。多くの会社に早い段階で導入されたのはRubyで高速に開発することができたから、と舟木氏は振り返る。
今後についても伺ってみた。
「今後も新しい技術は積極的に取り入れて技術の優位性は築いていきたいと考えています。その中でRubyは継続的に採用していき、Rubyの会社でありつつ最近の技術も取り入れている会社、というポジションを構築していきたいと思います。」(時武)
「契約に関わるペインっていうのはまだまだ大きいと思います。契約書のレビューや管理以外にも他にも色々あると思いますが、そういった契約についてのペインを解決していきたいと考えています。」(舟木)
契約にまつわる業務は締結前のレビューだけではなく、締結後の管理にもある。同社は、締結済みの契約書を管理できるサービス「Marshall」のベータ版提供を開始している。
コロナ禍でリモートワークに移行する企業であっても、締結済みの契約書はオフィスに保管していて、そのために出社するといったケースはあるのではないだろうか。働き方への変化に関心が高まる中、Marshallのようなサービスはニーズにマッチした存在と言えるだろう。
人間が社会を形成した頃から、法律は生活の様々なところで基盤になっている。にも関わらず身近なものとは言い難い。そこには法律自体の難しさもあるが、どのように解釈適用すればよいのかという運用の悩みが大きい。また、技術の進歩や産業構造の変化、それに伴った日常生活の変化など目まぐるしく変わる社会の中で、それに対応できるよう法律も新しいものができ、少しずつ改正を積み重ねているという点もある。
古くからある法律分野のペインを、最先端の技術とRubyで解決する株式会社LegalForce。今後も活躍に注目したい。
※本事例に記載の内容は取材日時点(2020年9月)のものであり、現在変更されている可能性があります。
事例概要
- 会社名
- 株式会社LegalForce
- 利用技術
- Ruby製Webフレームワーク:Hanami・Ruby on Rails・Sinatra
- Ruby製ツール(一部):sidekiq・AASM・RSpec・Typhoes
- フロントエンド:ReactJS・VueJS・NuxtJS
- クラウドインフラ:AWS・GCP
- DevOps:Docker・Kubernetes・CircleCI・Terraform1
- データパイプライン:fluentd・digdag・embulk
- その他:Elasticsearch
- ニーズおよび解決したかったこと
- 契約リスクの制御
- 契約書レビューにおける品質の担保
- 弁護士や法務担当の契約書レビューにおける負担の軽減
- 契約書レビューに関する教育的課題
- 契約書作成・レビューにおけるリサーチの効率化
- Ruby採用理由
- 非プログラマ向けのDSLの記述言語として適していたため
- Rubyの文法の馴染みやすさから
- 高速なプロトタイピングに適していたため
- 幅広く使われているため
- Ruby採用効果
- レビュー精度の向上
- 開発速度の向上
- コミュニティを通した採用候補者増大