https://github.com/inanyan/physics-solver
PWP solver
https://github.com/inanyan/physics-solver
Last synced: about 1 year ago
JSON representation
PWP solver
- Host: GitHub
- URL: https://github.com/inanyan/physics-solver
- Owner: InAnYan
- Created: 2023-12-02T18:43:41.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-11T17:03:02.000Z (over 1 year ago)
- Last Synced: 2025-02-24T14:47:49.936Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 253 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Physics word problem solver (library part)

AI system that solves physics problems stated in natural language (without LLMs!).
To access, use this website: .
Website's source code: .
Paper: .
## Features
- Understands English language.
- Provides not only the answer, but also how it got the answer (solution steps, formulas).
- Solves 4 types of problems:
- Value conversion.
- Value comparison.
- Unknowns finding.
- Value change.
- Utilizes rule-based Natural Language Processing with modern libraries.
- Does not utilize LLMs.
To see website's features, go to .
## How to Run this Project
Install dependencies:
```sh
pip install -r requirements.txt
```
This is a library part of the project, so you need to import it in your app.
You can look at the website's source code (), to see how its used.
## How this Project is Implemented
Tech stack:
- `spaCy`
- `SymPy`
- `spacy_pat_match_dsl` ([this is my package, actually!](https://pypi.org/project/spacy-pat-match-dsl/))
Algorithm:
- At first, the text is pre-processed and named entities are recognized.
- Then, the program tries to determine the type of the question.
- If the program guessed the type, an intermediate representation is constructed.
- Then, different algorithms are applied to solve the problem.
- Finally, the solution is presented to the user.
To see website's tech stack and implementation, go to .