Geometry Problem Solver
Geometry Problem Solver (geosol) automatically solves a geometry problem consisting of question text and a diagram.
Geosol is consisted of largely 3 processes: 1. Textual understanding 2. Diagram understanding 3. Geometric inference
Please see below for detailed explanations. Typical usage often looks like this:
import geosol.txt as gtxt # modules for (1) import geosol.dgm as gdgm # modules for (2) import geosol.inf as ginf # modules for (3)
img = gdgm.open(“diagram.png”) qt = gtxt.open(“question.txt”) txt_rep = gtxt.rep(qt) # abstract representation of question text dgm_rep = gdgm.rep(img, txt_rep) # rep of diagram inf_mod = ginf.inf(dgm_rep, txt_rep) # inference module print(inf_mod.get_answer())
Standard Python packages to be installed (via pip) are: numpy, scipy, pillow, scikit-learn, tinyocr
Please note that tinyocr is an OCR package built by the same author. OCR being a distinct function itself, it has been separately packaged.
In addition, OpenCV and Python wrapper needs to be installed. Please visit the opencv web page. The author has version 2.4.