Code Monkey home page Code Monkey logo

accelerated-text's Introduction


A picture is worth a thousand words. Or is it? Tables, charts, pictures are all useful in undestanding our data but often we need a description; a story to tell us what are we looking at. Accelerated Text is a natural language generation tool which allows you to define data descriptions and then generates multiple versions of those descriptions varying in wording and structure.


About

Accelerated Text can work with all sorts of data:

  • descriptions of business metrics,
  • metadata describing interactions with the customers,
  • product attributes,
  • financial metrics.

Based on it will generate text to be used in business reports, e-commerce platforms or your customer support system.

Accelerated Text provides a web based Document Plan builder, where

  • the logical structure of the document is defined,
  • communication goals are expresed,
  • data usage within a text is defined.

Document Plans and the connected data are used by Accelerated Text's Natural Language Generation engine to produce multiple variations of the text exactly exactly expressing what was intended to bo communicated to the readers.

Philosophy

Whereof one cannot speak thereof one must be silent
-- Wittgenstein

Natural language generation is a broad domain with applications in chat-bots, story generation, and data description to name a few. Accelerated Text focuses on applying NLG technology to solve your "data to text" needs.

Data descriptions require precision. For example, a text describing weather conditions can not invent things beyond what it was provided: Temperature: -1C, Humidity: 40%, Wind: 10km/h. A generated text can only state those facts. The expression of an individual fact - temperature - could vary. It could result in a "it is cold", or "it is just below freezing", or "-1C" but this fact will be stated because it is in the data. A "data to text" system is also not one to elaborate on a story about the serenity of the freezing lake - again, it was not in the supplied data.

Accelerated Text follows the principle of this strict adherence to the data-bound text generation. Via its user interface it provides instruments to define how the data should be translated into descriptive text. This description - a document plan - is executed by its natural language generation engine to produce texts that vary in structure and wording but are always and only about the data provided.

Key Features

  • Document plan editor to define what needs to be said about the data.
  • Data samples can be uploaded as CSV files to be used when building Document Plans.
  • Text structure variations to provide richer reading experience going beyond rigid template generated text.
  • Vocabulary control to match the language style of each of your reader groups.
  • In build rule engine to allow the control of what is said based on the different values of the data points.
  • Life preview to see variations of generated text.

Getting Started

Running

Docker

To run Accelerated Text via Docker, just type

docker-compose -p dev -f docker-compose.yml pull && \
        docker-compose -p dev -f docker-compose.yml down && \
        docker-compose -p dev -f docker-compose.yml build && \
        docker-compose -p dev -f docker-compose.yml up --remove-orphans

After running this command the front-end will be availabe at the http://localhost:8080

The generation back-end API is at http://localhost:8081

From Source

If you want to start tinkering and run it based on the latest code in the repository, first make sure that you have the following dependencies installed:

Then clone the project and run

make run-front-end-dev-deps

follwed by

make run-front-end-dev

After running this command the front-end will be availabe at the http://localhost:8080

The generation back-end API is at http://localhost:8081

Usage

Follow the step by step guide bellow to create a very simple document plan which generates book authorship sentences.

View Step
Firstly a new document plan has to be created. The application starts with a Create Plan button in its workspace.
You get an initial empty plan.
You'll need to select a CSV file to provide data for the natural language generation. Select a books.csv file.
The central part of the plan is the Abstract Meaning Representation element which defines the message to be communicated. Select Author from the AMR section.
Then we need to select from where in our book store data we'll have the Author field.
Same for Title field.
That's it, the plan is ready and should look like in the picture to the right.
Text Analysis section shows text variations generated by the natural language generation engine.

Development

To get started with a development environment for Accelerated Text please follow the instructions in our developer's guides for the front-end and the text generation engine.

Getting Help

If you have any questions, do not hesitate asking us at [email protected]

If you'll submit an Issue this will help everyone and you will be able to track the progress of us fixing it. In order to facilitate it please provide description of needed information for bug requests (like project version number, Docker version, etc.)

License

Copyright © 2019 TokenMill UAB.

Distributed under the The Apache License, Version 2.0.

accelerated-text's People

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.