This repository hosts a prototype for patent analysis with a particular focus on extracting specific technical measurements and their associated values
To run this package in Google Colab:
Step 1. Install patentgpt-extract
, simply use pip
:
from patentgpt.main import main
Step 2. Authentication: Before using the package, you need to authenticate with OpenAI. To do this:
import os
from getpass import getpass
token = getpass("Enter your OpenAI token: ()")
os.environ["OPENAI_API_KEY"] = str(token)
Step 3. Importing and Running:
from patentgpt.main import main
main()
Then answer these questions::
- Enter a date in the format 'YYYY-MM-DD': exampe is 2023-01-12
- Enter the number of patents you want to analyze: example is 5 (this randomly select 5 parsed patents)
- Do you want to log the results? (yes/no)
- Select a model for analysis: 1. gpt-3.5-turbo 2. gpt-4
- Clone this repository.
- Install the required Python packages by running
!pip install -r requirements.txt
. - Run the Jupyter notebook
quick_start.ipynb
. - Authenticate and add your OpenAI token. Then answer these questions::
- Enter a date in the format 'YYYY-MM-DD': exampe is 2023-01-12
- Enter the number of patents you want to analyze: example is 5 (this randomly select 5 parsed patents)
- Do you want to log the results? (yes/no)
- Select a model for analysis: 1. gpt-3.5-turbo 2. gpt-4
- JSON results will be saved in the output folder.
Below is an image that illustrates the main design and workflow of the patent analysis system
The project involves the following steps:
- Downloading a ZIP archive that contains granted patent full-text data (without images) from https://bulkdata.uspto.gov/.
- Reading the contained patents from XML files and extracting individual XML file, parsing it to text file and saving it in data.
- Implementing an approach based on a large language model (LLM) to extract measurements from the patents using vector store Chroma. The measurements are returned in a structured format (such as JSON).
- Python 3.10+
- See requirements.txt for Python packages and versions.
This project is licensed under the terms of the MIT license. See LICENSE file.
We welcome contributions to patentgpt-extract! If you're interested in improving the package, adding features, or even fixing bugs, here's how you can get started:
-
Fork the Repository: Start by forking the repository. This creates your own personal copy of the entire project.
-
Clone Your Fork: Once you've forked the repo, clone your fork to your local machine to start making changes.
git clone https://github.com/arminnorouzi/patentGPT.git
- Create a New Branch: Before making changes, create a new branch. This helps in segregating your changes and makes it easier to merge later.
git checkout -b new-feature-branch
Replace `new-feature-branch`` with a descriptive name for your changes.
-
Make Your Changes: Now, you can start making changes, adding new features, fixing bugs, or improving documentation.
-
Commit and Push: Once you're done, commit your changes and push them to your fork on GitHub.
git add .
git commit -m "feat or fix: Description of changes made"
git push origin new-feature-branch
- Open a Pull Request: Go to your fork on GitHub and click the "New pull request" button. Ensure you're comparing the correct branches and then submit your pull request with a description of the changes you made.
For further questions or if you encounter any problems, please do not hesitate to open an issue.
- My Website - More details about me and my projects.
- LinkedIn - See the post related to machine learning and software development on LinkedIn.
- Medium - See my posts related to ML/AI, algorithms, and system design.