Embeddable concept maps
FOR
websites
Ashish Dubey
B.Tech CSE, 2013-14
What is a concept Map?
Representation of entities and relationships in natural language text.
- Concepts in a document become nodes
- Relationships become the edges connection concepts.
Example
Extracted from an article about tree. Clearly shows the interesting attributes.
HOW CAN THEY be USED?
- Easy understanding of an article.
- Concept discovery
- Helps in ideation
- Natural language search - answer finding
Purpose of embeddable concept maps
-
Can be used as an infographic for representing text.
- Just like word clouds.
- Can be used on blogs, and other websites
project aim
- Build a concept graph engine
- Should be re-usable
- Build a service to allow easy embedding of concept maps into web pages.
existing work
- Lot of manual tools for concept map construction
- Not many automatic tools
- No re-usable frameworks
Workflow
- (registered) User adds their websites and pages.
- Pages are processed upon adding
- Users copy-paste the embed snippet into their page
- The embed script constructs the concept map on the page
Architecture interaction
Extraction service
- Written in Scala
- Uses StanfordCoreNLP and OLLIE libraries for information extraction
- Simple TCP server accepting text and returning relation triples
Web/API server
- Written in Python/Django
- Serves all the web content
- Handles user registration and sign-in
- Serves the data for the frontend using the API
- Communicates with the extraction service whenever a new page is added
Dashboard
- Written in JavaScript/CSS
- Allows users to manage websites/pages
- Client side app which gets data via API
Embed script
- Uses D3.js to contruct graphs
- Gets data for a particular page via API as well
- Allows user to zoom-in/out to control details in the concept map
(DEMO)
FUTURE WORK
- Research on better extraction methods
Thank you
Source Code
Sem8 Midterm
By Ashish Dubey
Sem8 Midterm
- 1,468