Giter VIP home page Giter VIP logo

graph-convolution-on-structured-documents's Introduction

Graph Convolution on Structured Documents

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

Code

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: Graph

Graph Convolution Model

The implementation is still in progress and is being built using Tensorflow 1.8. The implementation details can be found in [1].

References

  1. Riba, Dutta et al - Table Detection in Invoice Documents by Graph Neural Networks - Link
  2. Adam W. Harley, Alex Ufkes, and Konstantinos G. Derpanis - Department of Computer Science, Ryerson University, Toronto, Ontario - Evaluation of Deep Convolutional Nets for Document Image Classification and Retrieval - Link
  3. Victor Garcia, Joan Bruna - Few-Shot Learning with Graph Neural Networks - Link

graph-convolution-on-structured-documents's People

Contributors

dhavalpotdar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.