🙇♂️
AWS × Terraform でつくる特許検索MVP
背景
特許調査は、関連文献を横断的に調べて比較する作業が多く、時間と労力がかかります。
そこで 「文章で依頼 → 類似特許をリスト化 → 必要に応じて元ソースにジャンプ」 という流れを自動化するMVPを構築しました。
目指すのは、検索プロセスの自動化です。
設計思想と技術選定
1. Infrastructure as Code
-
Terraform を採用。
→ 再現性のあるインフラ構築が可能で、学習コストも比較的低い。
→ AWS CDK ではなく Terraform を選んだのは、YAML/HCLでシンプルに管理したかったからです。
2. ストレージ
-
S3 を利用。
→ フロントエンド(静的HTML/JS)をホスティング。
→ 特許データの正規化JSONやレポートMarkdownも格納。 - DynamoDB と比較すると検索性は劣りますが、まずは「置く場所」としてシンプルにS3を採用。
3. メタデータ管理
-
DynamoDB を利用。
→ 特許のID、検索クエリ、タイムスタンプなど軽量なメタ情報を保存。
→ 低コストでスケールし、サーバーレスな設計に合う。
4. 検索エンジン
-
Google Custom Search (CSE) を利用。
→ 独自クローリングを作らずに、まずはGoogle Patentsに対して自然言語検索できる。
→ MVP段階なので既存の検索インフラを借りるのが合理的。
5. API 層
-
API Gateway + Lambda を利用。
→ CSE呼び出し、検索結果の正規化処理、S3/DynamoDBへの保存を実装。
→ HTTP APIにしたことでCORS対応も簡単。
→ LambdaはPython 3.12で記述、ライブラリ管理はTerraform + Lambda Layerで統一。
6. ワークフロー制御
-
Step Functions を採用。
→ 「検索 → 特許詳細の収集 → レポート生成」という一連の処理を可視化できる。
→ MVP段階では冗長に見えるが、後でAIによる類似度判定や外部API追加を組み込む余地を残した。
7. 将来的なAI導入
- MVPではAIはまだ利用していません。
- 将来的に予定しているのは:
- Amazon Bedrock Titan Embeddings → 特許文書をベクトル化して類似性スコアリング。
-
OpenAI API → 要約や特徴抽出の比較精度向上。
AIを使わず機械学習で十分な理由
今回のMVPでは「特許の全文検索」「候補特許の一覧化」「請求項の比較」などの処理が中心です。
これらのタスクは、必ずしも最新の大規模言語モデル(LLM)を必要とするものではありません。むしろ、次のような既存の検索・機械学習技術で十分に対応できます。
- Google Patents(CSE)による検索
特許全文の検索はすでにGoogleがインデックス化しており、Custom Search APIを利用すれば高度なクエリ検索が可能です。
ここで得られる結果は既に機械学習ベースのランキングが適用されており、基本的な関連性は保証されています。
- OpenSearchによるインデックス化と検索
取得した特許データをOpenSearchに投入することで、全文検索やフィルタリングが容易になります。
これは古典的な BM25アルゴリズム などの情報検索モデルを利用しており、十分に高速かつ信頼性があります。
- 類似性比較(Embeddingやベクトル検索の利用も可能)
もし「請求項の近さ」を評価したい場合でも、必ずしもAIを使う必要はありません。
文章ベクトル化(TF-IDF, Word2Vec, Sentence-BERT など)
コサイン類似度でのスコアリング
といった機械学習ベースのテキスト類似度手法で多くのケースに対応できます。
- AIは「後から差し込める」設計
MVP段階では「検索・収集・保存・比較」を中心とし、十分に実用的です。
一方で、将来的にBedrock TitanやOpenAIのLLMを組み込めば「請求項の自然言語要約」「弁理士向けのレポート生成」「自動分類」など高付加価値な機能を後付け可能です。
そのため、今はAIを無理に入れる必要はなく、まずは既存の機械学習・検索技術で土台を作ることが合理的です。
ユースケース
- ユーザーが「段差を乗り越え/降りできる軽車両」と入力
- → Lambda経由でGoogle Patents検索
- → 結果リストが画面に表示され、クリックでGoogle Patentsの元ページへ遷移
- → さらにStep Functions経由で特許詳細を収集し、レポートをS3に自動生成
まとめ
- 「まずはCSE + AWSサーバーレス」で、シンプルな特許検索MVPを構築
- 設計思想は 拡張性(AI追加を見据えた構造) と 簡素さ(無駄な自前実装を避ける)
- OSSとして公開しています。
GitHubリポジトリ:https://github.com/mailtotakaf/patent-research
Discussion