All Projects → PKU-TANGENT → NeuralEDUSeg

PKU-TANGENT / NeuralEDUSeg

Licence: Apache-2.0 license
A toolkit for discourse segmentation (EDU segmentation).

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to NeuralEDUSeg

spacy-server
🦜 Containerized HTTP API for industrial-strength NLP via spaCy and sense2vec
Stars: ✭ 58 (-30.12%)
Mutual labels:  sentence-segmentation
discourse-js
JavaScript wrapper around the Discourse API
Stars: ✭ 16 (-80.72%)
Mutual labels:  discourse
discourse-telegram-notifications
A plugin for Discourse which allows users to receive their notifications by telegram message
Stars: ✭ 20 (-75.9%)
Mutual labels:  discourse
PragmaticSegmenterNet
Port of PragmaticSegmenter for sentence boundary detection
Stars: ✭ 25 (-69.88%)
Mutual labels:  sentence-segmentation
discourse-mozilla-theme
Theme used on discourse.mozilla.org
Stars: ✭ 23 (-72.29%)
Mutual labels:  discourse
discourse-calendar
Adds the ability to create a dynamic calendar in the first post of a topic.
Stars: ✭ 45 (-45.78%)
Mutual labels:  discourse
DiscEval
Discourse Based Evaluation of Language Understanding
Stars: ✭ 18 (-78.31%)
Mutual labels:  discourse
discourse-question-answer
Discourse Question Answer Plugin
Stars: ✭ 44 (-46.99%)
Mutual labels:  discourse
ckipnlp
CKIP CoreNLP Toolkits
Stars: ✭ 92 (+10.84%)
Mutual labels:  sentence-segmentation
discourse-slack-official
DEPRECATED: Official Slack integration for Discourse
Stars: ✭ 26 (-68.67%)
Mutual labels:  discourse
discourse-translator
No description or website provided.
Stars: ✭ 48 (-42.17%)
Mutual labels:  discourse
discourse ynh
Discourse package for YunoHost
Stars: ✭ 23 (-72.29%)
Mutual labels:  discourse
Discourse
A platform for community discussion. Free, open, simple.
Stars: ✭ 34,626 (+41618.07%)
Mutual labels:  discourse
NextForum
Next Generation Forum App powered by Vue
Stars: ✭ 39 (-53.01%)
Mutual labels:  discourse
discourse-data-explorer
SQL Queries for admins in Discourse
Stars: ✭ 70 (-15.66%)
Mutual labels:  discourse
discourse-locations
Tools for handling locations in Discourse
Stars: ✭ 31 (-62.65%)
Mutual labels:  discourse
discourse-ratings
A Discourse plugin that lets you use topics to rate things
Stars: ✭ 31 (-62.65%)
Mutual labels:  discourse
xpeppers-discourse
Provisioning of @discourse
Stars: ✭ 22 (-73.49%)
Mutual labels:  discourse
discourse-backups-to-dropbox
Backups discourse backups in Dropbox
Stars: ✭ 17 (-79.52%)
Mutual labels:  discourse
Deep-NLP-Resources
Curated list of all NLP Resources
Stars: ✭ 65 (-21.69%)
Mutual labels:  discourse

Neural-EDU-Segmentation

A toolkit for segmenting Elementary Discourse Units (clauses). We implement it as is described in our EMNLP paper: Toward Fast and Accurate Neural Discourse Segmentation

Requirements

  • Python 3.5
  • Tensorflow>=1.5.0
  • allennlp>=0.4.2
  • See requirements.txt for the full list of packages

Data

We cannot provide the complete RST-DT corpus due to the LDC copyright. So we only put several samples in ./data/rst/ to test the our code and show the data structure.

If you want to train or evaluate our model on RST-DT, you need to download the data manually and put it in the same folder. Then run the following command to preprocess the data and create the vocabulary:

python run.py --prepare

Evaluate the model on RST-DT:

We provide the vocabulary and a well-trained model in the ./data/ folder. You can evaluate the performance of this model after preparing the RST-DT data as mentioned above:

python run.py --evaluate --test_files ../data/rst/preprocessed/test/*.preprocessed

The performance of current model should be as follows:

'precision': 0.9176470588235294, 'recall': 0.975, 'f1': 0.9454545454545454}

Note that this is slightly better than the results we reported in the paper, since we re-trained the model and there is some randomness here.

Train a new model

You can use the following command to train the model from scratch:

python run.py --train

Hyper-parameters and other training settings can be modified in config.py.

Segmenting raw text into EDUs

You can segment files with raw text into EDUs:

python run.py --segment --input_files ../data/rst/TRAINING/wsj_110*.out --result_dir ../data/results/

The segmented result for each file will be saved to the --result_dir folder with the same name. Each EDU is written as a line.

Citation

Please cite the following paper if you use this toolkit in your work:

@inproceedings{wang2018edu,
  title={Toward Fast and Accurate Neural Discourse Segmentation},
  author={Wang, Yizhong and Li, Sujian and Yang, Jingfeng},
  booktitle={Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing},
  pages={962--967},
  year={2018}
}
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].