All Projects → aistairc → Market Reporter

aistairc / Market Reporter

Automatic Generation of Brief Summaries of Time-Series Data

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Market Reporter

Texar
Toolkit for Machine Learning, Natural Language Processing, and Text Generation, in TensorFlow. This is part of the CASL project: http://casl-project.ai/
Stars: ✭ 2,236 (+4040.74%)
Mutual labels:  natural-language-processing, text-generation
Attention Mechanisms
Implementations for a family of attention mechanisms, suitable for all kinds of natural language processing tasks and compatible with TensorFlow 2.0 and Keras.
Stars: ✭ 203 (+275.93%)
Mutual labels:  natural-language-processing, text-generation
Tensorflow Nlp
NLP and Text Generation Experiments in TensorFlow 2.x / 1.x
Stars: ✭ 1,487 (+2653.7%)
Mutual labels:  natural-language-processing, text-generation
Kadot
Kadot, the unsupervised natural language processing library.
Stars: ✭ 108 (+100%)
Mutual labels:  natural-language-processing, text-generation
Awesome Text Generation
A curated list of recent models of text generation and application
Stars: ✭ 370 (+585.19%)
Mutual labels:  natural-language-processing, text-generation
Summarization Papers
Summarization Papers
Stars: ✭ 238 (+340.74%)
Mutual labels:  natural-language-processing, text-generation
Deep Generative Models For Natural Language Processing
DGMs for NLP. A roadmap.
Stars: ✭ 185 (+242.59%)
Mutual labels:  natural-language-processing, text-generation
Leakgan
The codes of paper "Long Text Generation via Adversarial Training with Leaked Information" on AAAI 2018. Text generation using GAN and Hierarchical Reinforcement Learning.
Stars: ✭ 533 (+887.04%)
Mutual labels:  natural-language-processing, text-generation
Awesome Financial Nlp
Researches for Natural Language Processing for Financial Domain
Stars: ✭ 220 (+307.41%)
Mutual labels:  finance, natural-language-processing
Coarij
Corpus of Annual Reports in Japan
Stars: ✭ 55 (+1.85%)
Mutual labels:  finance, natural-language-processing
Textgan Pytorch
TextGAN is a PyTorch framework for Generative Adversarial Networks (GANs) based text generation models.
Stars: ✭ 479 (+787.04%)
Mutual labels:  natural-language-processing, text-generation
Texar Pytorch
Integrating the Best of TF into PyTorch, for Machine Learning, Natural Language Processing, and Text Generation. This is part of the CASL project: http://casl-project.ai/
Stars: ✭ 636 (+1077.78%)
Mutual labels:  natural-language-processing, text-generation
Pattern
Web mining module for Python, with tools for scraping, natural language processing, machine learning, network analysis and visualization.
Stars: ✭ 8,112 (+14922.22%)
Mutual labels:  natural-language-processing
Alphavantage.net
.Net client library for Alpha Vantage API
Stars: ✭ 52 (-3.7%)
Mutual labels:  finance
Convai Baseline
ConvAI baseline solution
Stars: ✭ 49 (-9.26%)
Mutual labels:  natural-language-processing
Cs224n Solutions
Solutions for CS224n course from Stanford University: Natural Language Processing with Deep Learning
Stars: ✭ 48 (-11.11%)
Mutual labels:  natural-language-processing
Gpt2 Ml
GPT2 for Multiple Languages, including pretrained models. GPT2 多语言支持, 15亿参数中文预训练模型
Stars: ✭ 1,066 (+1874.07%)
Mutual labels:  text-generation
Nlp Various Tutorials
자연어 처리와 관련한 여러 튜토리얼 저장소
Stars: ✭ 52 (-3.7%)
Mutual labels:  natural-language-processing
Mtnt
Code for the collection and analysis of the MTNT dataset
Stars: ✭ 48 (-11.11%)
Mutual labels:  natural-language-processing
Cdqa Annotator
⛔ [NOT MAINTAINED] A web-based annotator for closed-domain question answering datasets with SQuAD format.
Stars: ✭ 48 (-11.11%)
Mutual labels:  natural-language-processing

Market Reporter

CircleCI

日本語

Market Reporter automatically generates short comments that describe time series data of stock prices, FX rates, etc. This is an implementation of Murakami et al. (ACL 2017) [bib] [paper] and Aoki et al. (INLG 2018) [bib] [paper] [poster].

Table of Contents

  1. Requirements
    1. Architecture
    2. Resources
    3. S3
    4. Docker
    5. Pipenv
    6. PostgreSQL
  2. Usage
    1. Training
    2. Prediction
  3. Web Interface
  4. Test
  5. License and References
  6. Copyright and Acknowledgment

Requirements

Architecture

The architecture is illustrated below.

Credit of the icons

Resources

Amazon S3

This tool stores data to Amazon S3. Ask the manager to give you AmazonS3FullAccess and issue a credential file. For details, please read AWS Identity and Access Management.

Docker

Install Docker and Docker Compose. Edit envs/docker-compose.yaml according to your environment. Then, launch containers by docker-compose.

# Install Docker
sudo apt-get update
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
sudo apt-get update
sudo apt-get install -y \
    docker-ce \
    docker-ce-cli \
    containerd.io

# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# Start Docker and log in
cd envs
sudo service docker start
sudo docker-compose up -d
sudo exec --user reporter -it CONTAINER /bin/bash

Pipenv

We recommend to use pipenv to make a Python environment for this project.

brew install pipenv  # Linuxbrew and Homebrew
pipenv install --dev
pipenv shell

PostgreSQL

Suppose you have a database named master on your local machine. Then, edit config.toml as the following.

[postgres]
- uri = 'postgresql://USERNAME:[email protected]:PORT/DATABASE'
+ uri = 'postgresql:///master'

Usage

Training

Create config.toml based on example.toml or murakami-et-al-2017.example.toml.

Execute the following command for the training of model. When you use GPU (CPU), you specify cuda:n(cpu) for --device option, where n is the device index to use.

python -m reporter --device 'cuda:0'

After the program finishes, it saves three files (reporter.log, reporter.model, and reporter.vocab) to config.output_dir/reporter-DATETIME, where config.output_dir is a variable set in config.toml and DATETIME is the timestamp of the starting time.

Prediction

Prediction submodule generates a single comment of a financial instrument at specified time by loading a trained model.

# -r, --ric: Reuters Instrument Code (e.g. '.N225' for Nikkei Stock Average)
# -t, --time: timestamp in '%Y-%m-%d %H:%M:%S%z' format
# -o, --output: directory that contains 'reporter.model' and 'reporter.vocab'
python -m reporter.predict \
    -r '.N225' \
    -t '2018-10-03 09:03:00+0900' \
    -o output/reporter-2018-10-07-18-47-41

Web Interface

Execute the following command and access http://localhost:5000/ in a web browser.

make  # for the first time
python -m reporter.webapp

When you launch it on a server, execute the following command instead.

nohup uwsgi --ini uwsgi.ini &

You can see a page as the following picture.

The web application can be used for evaluation. Along with the generated sentences, it also shows the movements of prices used in generation.

Test

pytest

License and References

Market Reporter is available under different licensing options:

Commercial licenses are appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU. For details, please contact us at [email protected]

This software uses a technique applied for patent (patent application number 2017001583).

When you write a paper using this software, please cite either or both of the followings.

@InProceedings{murakami2017,
  author = {Murakami, Soichiro
            and Watanabe, Akihiko
            and Miyazawa, Akira
            and Goshima, Keiichi
            and Yanase, Toshihiko
            and Takamura, Hiroya
            and Miyao, Yusuke},
  title = {Learning to Generate Market Comments from Stock Prices},
  booktitle = {Proceedings of the 55th Annual Meeting of
               the Association for Computational Linguistics (Volume 1: Long Papers)},
  year = {2017},
  publisher = {Association for Computational Linguistics},
  pages = {1374--1384},
  location = {Vancouver, Canada},
  doi = {10.18653/v1/P17-1126},
  url = {http://www.aclweb.org/anthology/P17-1126}
}

@InProceedings{aoki2018,
  author = {Aoki, Tatsuya
            and Miyazawa, Akira
            and Ishigaki, Tatsuya
            and Goshima, Keiichi
            and Aoki, Kasumi
            and Kobayashi, Ichiro
            and Takamura, Hiroya
            and Miyao, Yusuke},
  title = {Generating Market Comments Referring to External Resources},
  booktitle = {Proceedings of the 11th International Conference on Natural Language Generation},
  year = {2018},
  publisher = {Association for Computational Linguistics},
  pages = {135--139},
  location = {Tilburg University, The Netherlands},
  url = {http://aclweb.org/anthology/W18-6515}
}

Copyright and Acknowledgment

© 2018 Akira Miyazawa, Tatsuya Aoki, Fumiya Yamamoto, Soichiro Murakami, and Akihiko Watanabe (National Institute of Advanced Industrial Science and Technology; AIST)

This software is based on results obtained from a project commissioned by the New Energy and Industrial Technology Development Organization (NEDO).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].