Skip to content

mitas30/AnalogyPatentFinder

Repository files navigation

AnalogyPatentFinder

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.

What It Does

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.

Demo

Analogy Patent Finder Demo

low_demo_analogical_patent.mp4

Background and Idea

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.

Quick Start

If you have Docker installed, you can try it out locally in just a few steps.

  1. Clone the repository:

    git clone [https://github.com/mitas30/AnalogyPatentFinder.git](https://github.com/mitas30/AnalogyPatentFinder.git)
    cd AnalogyPatentFinder
  2. Prepare the configuration file: Rename server/config/config_example.json to config.json and 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.

  3. Build and run the application:

    docker-compose up --build
  4. 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.

How to Use

  1. In the input fields, describe the "subject" (e.g., battery) and the "aspect to improve" (e.g., safety, efficiency) in natural language.
  2. Run the search to see a list of structurally similar patents.
  3. 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.

How It Works

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.

Roadmap

  • 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).

Contribution Guide

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.

Citation

@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}
}

Star ⭐

If you find this idea useful, please give it a star to show your support! It motivates continued development.

About

An "analogy-based" patent search engine designed to find structurally similar solutions across different fields for the problem you want to solve.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors