Vietnamese NLP Toolkit
Project description
Under The Sea - Vietnamese NLP Toolkit
underthesea is a suite of open source Python modules, data sets and tutorials supporting research and development in Vietnamese Natural Language Processing.
Free software: GNU General Public License v3
Documentation: https://underthesea.readthedocs.io
Live demo: underthesea app
Facebook Page: https://www.facebook.com/undertheseanlp/
Installation
To install underthesea, simply:
$ pip install underthesea==1.1.5rc1
✨🍰✨
Satisfaction, guaranteed.
Usage
1. Corpus
Collection of Vietnamese corpus
2. Word Segmentation
Vietnamese Word Segmentation using Conditional Random Fields
>>> # -*- coding: utf-8 -*-
>>> from underthesea import word_sent
>>> sentence = u"Chúng ta thường nói đến Rau sạch, Rau an toàn để phân biệt với các rau bình thường bán ngoài chợ."
>>> word_sent(sentence)
[u"Chúng ta", u"thường", u"nói", u"đến", u"Rau sạch", u",", u"Rau", u"an toàn", u"để", u"phân biệt", u"với",
u"các", u"rau", u"bình thường", u"bán", u"ngoài", u"chợ", u"."]
>>> word_sent(sentence, format="text")
u'Chúng_ta thường nói đến Rau_sạch , Rau an_toàn để phân_biệt với các rau bình_thường bán ngoài chợ .'
3. POS Tagging
Vietnamese Part of Speech Tagging using Conditional Random Fields
>>> # -*- coding: utf-8 -*-
>>> from underthesea import pos_tag
>>> text = u"Chợ thịt chó nổi tiếng ở TP Hồ Chí Minh bị truy quét"
>>> pos_tag(text)
[(u'Chợ', 'N'),
(u'thịt', 'N'),
(u'chó', 'N'),
(u'nổi tiếng', 'A'),
(u'ở', 'E'),
(u'TP HCM', 'Np'),
(u'bị', 'V'),
(u'truy quét', 'V')]
4. Chunking
Vietnamese Chunking using Conditional Random Fields
>>> # -*- coding: utf-8 -*-
>>> from underthesea import chunk
>>> text = u"Bác sĩ bây giờ có thể thản nhiên báo tin bệnh nhân bị ung thư?"
>>> chunk(text)
[(u'Bác sĩ', 'N', 'B-NP'),
(u'bây giờ', 'P', 'I-NP'),
(u'có thể', 'R', 'B-VP'),
(u'thản nhiên', 'V', 'I-VP'),
(u'báo tin', 'N', 'B-NP'),
(u'bệnh nhân', 'N', 'I-NP'),
(u'bị', 'V', 'B-VP'),
(u'ung thư', 'N', 'I-VP'),
(u'?', 'CH', 'O')]
5. Named Entity Recognition
Vietnamese Chunking using Conditional Random Fields
>>> # -*- coding: utf-8 -*-
>>> from underthesea import ner
>>> text = u"Chưa tiết lộ lịch trình tới Việt Nam của Tổng thống Mỹ Donald Trump"
>>> ner(text)
[('Chưa', 'R', 'O', 'O'),
('tiết lộ', 'V', 'B-VP', 'O'),
('lịch trình', 'V', 'B-VP', 'O'),
('tới', 'E', 'B-PP', 'O'),
('Việt Nam', 'Np', 'B-NP', 'B-LOC'),
('của', 'E', 'B-PP', 'O'),
('Tổng thống', 'N', 'B-NP', 'O'),
('Mỹ', 'Np', 'B-NP', 'B-LOC'),
('Donald', 'Np', 'B-NP', 'B-PER'),
('Trump', 'Np', 'B-NP', 'I-PER')]
6. Text Classification
Vietnamese Text Classification using Fasttext
Install dependencies and download default model
$ pip install Cython
$ pip install future scipy numpy scikit-learn
$ pip install -U fasttext --no-cache-dir --no-deps --force-reinstall
$ underthesea data
Run classify
>>> # -*- coding: utf-8 -*-
>>> from underthesea import classify
>>> classify("HLV đầu tiên ở Premier League bị sa thải sau 4 vòng đấu")
['The thao']
>>> classify("Hội đồng tư vấn kinh doanh Asean vinh danh giải thưởng quốc tế")
['Kinh doanh']
>>> classify("Đánh giá “rạp hát tại gia” Samsung Soundbar Sound+ MS750")
['Vi tinh']
Up Coming Features
Sentiment Analysis
Word Representation (Word Representation Experiments)
Dependency Parsing
Contributing
Do you want to contribute with underthesea development? Great! Please read more details at CONTRIBUTING.rst.
History
1.1.5 (2017-10-12)
New feature: named entity recognition
Refactor and update model for word_sent, pos_tag, chunking
1.1.4 (2017-09-12)
New feature: text classification
[bug] Fix Text error
[doc] Add facebook link
1.1.3 (2017-08-30)
Add live demo: https://underthesea.herokuapp.com/
1.1.2 (2017-08-22)
Add dictionary
1.1.1 (2017-07-05)
Support Python 3
Refactor feature_engineering code
1.1.0 (2017-05-30)
Add chunking feature
Add pos_tag feature
Add word_sent feature, fix performance
Add Corpus class
Add Transformer classes
Integrated with dictionary of Ho Ngoc Duc
Add travis-CI, auto build with PyPI
1.0.0 (2017-03-01)
First release on PyPI.
First release on Readthedocs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for underthesea-1.1.5rc1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 041fc09b2aa1a908eb63c4156970c9de40b8bafa1af92b543830d24bc8feafc6 |
|
MD5 | 2b65924c5ff26338c99feb7df96aa1c7 |
|
BLAKE2b-256 | 404ac4e7d42fc003ac56da6d55cf45d5186296e8258557c58c9e05fa0b63b39a |