This repo contains code to convert Structured Documents to Graphs and implement a Graph Convolution Neural Network (incomplete) for Node Classification, each node being an entity in the document.
Check out the article for an intuitive explanation on Towards Data Science: Using Graph Convolutional Neural Networks on Structured Documents for Information Extraction
The grapher.py
file contains the code to convert a structured document to a graph.
An object map made using a Commercial OCR Tool is needed as the input which provides the bounding-box coordinates of each entity in the image along with it's recognized text. The script can then be used to generate an object_tree.png
file and a
connections.csv
file. The script joins each object to it's nearest object to the right and underneath thus generating a graph.
Here is what the generated graph looks like:
The implementation is still in progress and is being built using Tensorflow 1.8. The implementation details can be found in [1].