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.
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
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.
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.
- 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.
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.
- 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).
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.
@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}
}If you find this idea useful, please give it a star to show your support! It motivates continued development.
