解決したい「あなたの課題」と構造的に似た発明を、分野横断で見つけてくる“アナロジー型”特許検索ツールです。 特許を抽象化して捉え、異分野の発明から着想を引き出します。
English
This is an "analogy-driven" patent search tool that discovers structurally similar inventions across different fields to solve your specific problem. It abstracts the core ideas of patents to help you draw inspiration from inventions in unrelated domains.
課題の対象と、どの指標を良くしたいかを入力すると、特許の根本アイデアを抽象化して比較し、構造的に類似する特許を提示します。提示時には、課題・解決アイデア・応用可能性を自然言語で補助説明し、専門が違っても理解しやすい形でインスピレーションを与えます。
本リポジトリでは、特許を抽象クラスと改善パラメータで整理し、検索に使える形へと再表現しています。プロトタイプ段階のため、データは限定的ですが、アナロジー探索の体験をすぐ再現できます。
English
By inputting the subject of your problem and the metric you want to improve, this tool abstracts and compares the fundamental ideas of patents to present structurally similar ones. When presenting results, it provides supplementary explanations in natural language covering the problem, solution idea, and potential for application, offering inspiration in a way that is easy to understand even for non-experts.
This repository reorganizes patents using abstract classes and improvement parameters, making them searchable. As a prototype, the dataset is limited, but you can immediately experience analogy-based exploration.
low_demo_analogical_patent.mp4
既存の特許検索はキーワード一致に強い一方で、“構造的に似た解決”を異分野から発見するのは得意ではありません。そこで、特許を「抽象クラス」と「改善パラメータ」(TRIZの改善パラメータに相当)で再表現し、分野をまたぐアナロジー検索を可能にします。さらに、LLMによる補助説明を組み合わせ、発明の転用可能性を人が評価しやすい文脈に整えます。
English
While existing patent searches excel at keyword matching, they struggle to discover "structurally similar solutions" from different fields. To address this, we represent patents using "abstract classes" and "improvement parameters" (corresponding to TRIZ's parameters of improvement), enabling cross-domain analogy searches. Furthermore, we combine this with supplementary explanations generated by an LLM to frame the potential for technology transfer in a context that is easy for humans to evaluate.
Dockerがインストール済みであれば、ローカルで数ステップで試せます。
-
リポジトリを取得します。
git clone [https://github.com/mitas30/AnalogyPatentFinder.git](https://github.com/mitas30/AnalogyPatentFinder.git) cd AnalogyPatentFinder -
設定ファイルを準備します。
server/config/config_example.jsonをconfig.jsonにリネームし、最低限の値を設定します。mv server/config/config_example.json server/config/config.json
server/config/config.jsonの例(抜粋):{ "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE", "USE_GEMINI_MODEL": "gemini-1.5-pro" }Google AI StudioからAPIキーを取得して設定してください(請求が発生しないよう課金設定はオフを推奨)。
-
ビルドと起動を行います。
docker-compose up --build
-
ブラウザでアクセスします。 http://localhost:5173/
メモ: プロトタイプでは約2,000件規模のアノテーション済みデータを対象としているため、クエリによってはヒット数が0になる場合があります。
English
If you have Docker installed, you can try it out locally in just a few steps.
-
Clone the repository:
git clone [https://github.com/mitas30/AnalogyPatentFinder.git](https://github.com/mitas30/AnalogyPatentFinder.git) cd AnalogyPatentFinder -
Prepare the configuration file: Rename
server/config/config_example.jsontoconfig.jsonand set the required values.mv server/config/config_example.json server/config/config.json
Example
server/config/config.json(excerpt):{ "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE", "USE_GEMINI_MODEL": "gemini-1.5-pro" }Obtain your API key from Google AI Studio. It is recommended to keep billing disabled to avoid charges.
-
Build and run the application:
docker-compose up --build
-
Access in your browser: Navigate to http://localhost:5173/
Note: This prototype works with an annotated dataset of about 2,000 patents, so some queries may return zero results.
- 画面の入力欄に「対象(例: バッテリー)」と「改善したい観点(例: 安全性、効率)」を自然言語で記述します。
- 検索を実行すると、構造的に近い特許が並びます。
- 各カードでは、課題・解決の要点・転用のヒントを要約表示します。詳細表示から原文・関連情報に辿れます。
English
- In the input fields, describe the "subject" (e.g., battery) and the "aspect to improve" (e.g., safety, efficiency) in natural language.
- Run the search to see a list of structurally similar patents.
- Each card summarizes the problem, the core solution, and hints for transferability. You can click for more details to access the original document and related information.
検索対象の特許文書を、抽象クラスと改善パラメータの二軸で正規化し、クエリ側も同様に抽象化して対応付けます。LLMは説明生成や曖昧な表現の正規化を担い、結果の可読性や転用可能性の判断を補助します。
実装はクライアント/サーバ構成で、Docker Composeでアプリケーション・API・データベース(MongoDB)をまとめて起動します。
English
The system normalizes target patent documents along two axes: abstract class and improvement parameter. It then abstracts the user's query in the same way to find matches. An LLM is used to generate explanations and normalize ambiguous expressions, which aids in readability and helps users assess the potential for technology transfer.
The implementation uses a client/server architecture, and Docker Compose is used to launch the application, API, and database (MongoDB) together.
- データ拡充と評価セットの公開
- 検索ランキングの改善(再ランキング、アナロジー度の可視化)
- 説明生成の一貫性向上と要約品質の評価指標化
- エクスポート(CSV/JSON)とシェア機能
- 事例コレクション(良いアナロジーのギャラリー)
English
- Expand dataset and release an evaluation set.
- Improve search ranking (re-ranking, visualizing analogy scores).
- Enhance consistency of generated explanations and establish quality metrics for summaries.
- Implement export (CSV/JSON) and sharing features.
- Create a case study collection (a gallery of good analogies).
Issue・Pull Requestを歓迎します。まずは以下のラベルからどうぞ。
good first issue: 初手で取り組みやすい改善enhancement: 機能追加・UI/UX改善data: データ拡充・クレンジングdocs: ドキュメント整備(README、チュートリアル、スクショ追加など)
行動規範(Code of Conduct)は一般的なOSSマナーに準拠します。
English
We welcome Issues and Pull Requests! A great place to start is with these labels:
good first issue: Easy improvements to get started with.enhancement: Feature additions or UI/UX improvements.data: Data expansion and cleaning.docs: Documentation improvements (README, tutorials, adding screenshots, etc.).
Our Code of Conduct follows standard open-source etiquette.
本ソフトウェアはMIT Licenseのもとで提供されます。
English
This software is provided under the MIT License.
研究・記事で本ツールを取り上げる際は、以下のように引用していただけると助かります。
@software{AnalogyPatentFinder,
author = {Takuma Mitamura},
title = {AnalogyPatentFinder: An analogy-driven patent search engine},
year = {2025},
url = {[https://github.com/mitas30/AnalogyPatentFinder](https://github.com/mitas30/AnalogyPatentFinder)},
license = {MIT}
}このアイデアが役に立ちそうだと感じたら、ぜひスターで応援してください。継続開発の励みになります!
English
If you find this idea useful, please give it a star to show your support! It motivates continued development.
