このページはMNTSQ株式会社のAIエンジニア選考課題です。
背景
- 一般的な日本語の契約書は、契約の内容が 条 / 項 / 号 と呼ばれる項目で箇条書きされています
- 項 は 条 の下位構造にあたります
- 号 は 項 の下位構造にあたります
- MNTSQでは契約書本文を 条 / 項 / 号 の単位に分解して、階層ツリー構造のデータモデルに変換しています
- 変換したデータを条項データと呼んでおり、契約書の目次表示や条項データ単位での検索等に活用しています
https://speakerdeck.com/mntsq/mntsq-careersdeck?slide=19
課題
- 条項データのデータモデルを設計してください
- 契約書本文を条項データに変換するアルゴリズムを実装してください
- 技術選定の根拠やアルゴリズムの品質について論じてください
より詳細な機能要件
- Viewerで目次を表示するため、条番号や条見出しを抽出してください
- 条項データ単位で全文検索するため、本文を抽出してください
- お渡しする契約書データは日本語のものですが、データモデルは他言語にも拡張されることを想定してください
提出物
- 次の内容を含んだGitHubリポジトリのURL
- 条項データのデータ定義
- 課題を解くために使用したソースコードと実行手順
- 技術選定や品質に関するレポート
データ
- アノテーション済み契約書データ
- 契約書本文に1行ずつ 条 / 項 / 号 をアノテーションしています