Underthesea 项目介绍
简介
Underthesea 是一个专注于越南语自然语言处理的开源工具包。它提供了一系列开源的 Python 模块、数据集和教程,旨在支持越南语自然语言处理的研究与开发。用户可以通过简单的 API 快速应用训练好的自然语言处理模型,比如词切分、词性标注、命名实体识别、文本分类和依存句法分析等。
主要功能
1. 句子切分
Underthesea 能够将一段文字切分为单独的句子,这对于语言理解和信息提取非常有用。
>>> from underthesea import sent_tokenize
>>> text = 'Taylor cho biết lúc đầu cô cảm thấy ngại với cô bạn thân Amanda nhưng rồi mọi thứ trôi qua nhanh chóng. Amanda cũng thoải mái với mối quan hệ này.'
>>> sent_tokenize(text)
["Taylor cho biết lúc đầu cô cảm thấy ngại với cô bạn thân Amanda nhưng rồi mọi thứ trôi qua nhanh chóng.", "Amanda cũng thoải mái với mối quan hệ này."]
2. 文本标准化
该功能用于标准化文本的数据表示形式。
>>> from underthesea import text_normalize
>>> text_normalize("Ðảm baỏ chất lựơng phòng thí nghịêm hoá học")
"Đảm bảo chất lượng phòng thí nghiệm hóa học"
3. 词切分
能够将文本分解为独立的词语,支持调整分词格式和固定短语。
>>> from underthesea import word_tokenize
>>> text = "Chàng trai 9X Quảng Trị khởi nghiệp từ nấm sò"
>>> word_tokenize(text)
["Chàng trai", "9X", "Quảng Trị", "khởi nghiệp", "từ", "nấm", "sò"]
4. 词性标注
对文本中的每个词进行词性标注。
>>> from underthesea import pos_tag
>>> pos_tag('Chợ thịt chó nổi tiếng ở Sài Gòn bị truy quét')
[('Chợ', 'N'), ('thịt', 'N'), ('chó', 'N'), ('nổi tiếng', 'A'), ('ở', 'E'), ('Sài Gòn', 'Np'), ('bị', 'V'), ('truy quét', 'V')]
5. 块解析
将词语分组为有意义的短语或单元。
>>> from underthesea import chunk
>>> text = 'Bác sĩ bây giờ có thể thản nhiên báo tin bệnh nhân bị ung thư?'
>>> chunk(text)
[('Bác sĩ', 'N', 'B-NP'), ('bây giờ', 'P', 'B-NP'), ('có thể', 'R', 'O'), ('thản nhiên', 'A', 'B-AP'), ('báo', 'V', 'B-VP'), ('tin', 'N', 'B-NP'), ('bệnh nhân', 'N', 'B-NP'), ('bị', 'V', 'B-VP'), ('ung thư', 'N', 'B-NP'), ('?', 'CH', 'O')]
6. 依存句法分析
分析句子中词语之间的语法结构。
>>> from underthesea import dependency_parse
>>> text = 'Tối 29/11, Việt Nam thêm 2 ca mắc Covid-19'
>>> dependency_parse(text)
[('Tối', 5, 'obl:tmod'), ('29/11', 1, 'flat:date'), (',', 1, 'punct'), ('Việt Nam', 5, 'nsubj'), ('thêm', 0, 'root'), ('2', 7, 'nummod'), ('ca', 5, 'obj'), ('mắc', 7, 'nmod'), ('Covid-19', 8, 'nummod')]
7. 命名实体识别
识别文本中的命名实体,例如人名、地名。
>>> from underthesea import ner
>>> text = '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')]
8. 文本分类
将文本归类到预定义的类别中。
>>> from underthesea import classify
>>> classify('HLV đầu tiên ở Premier League bị sa thải sau 4 vòng đấu')
['The thao']
9. 情感分析
判断文本的情感基调或情绪。
>>> from underthesea import sentiment
>>> sentiment('hàng kém chất lg,chăn đắp lên dính lông lá khắp người. thất vọng')
'negative'
10. 语言检测
识别文本的语言。
>>> from underthesea import lang_detect
>>> lang_detect("Cựu binh Mỹ trả nhật ký nhẹ lòng khi thấy cuộc sống hòa bình tại Việt Nam")
'vi'
11. 文本转语音
将书面文本转换为语音音频。
>>> from underthesea.pipeline.say import say
>>> say("Cựu binh Mỹ trả nhật ký nhẹ lòng khi thấy cuộc sống hòa bình tại Việt Nam")
即将推出的功能
- 自动语音识别
- 机器翻译
- 聊天机器人
如何安装
用户可以通过以下命令来安装 Underthesea:
$ pip install underthesea
参与贡献
如果想要帮助 Underthesea 的开发,可以参考他们的贡献指南,提供代码、测试或其他形式的支持。
支持方式
如果觉得项目有帮助,可以通过购买咖啡等方式支持 Underthesea 继续发展。
总的来说,Underthesea 是一个功能强大、易用的工具,为研究和开发越南语自然语言处理提供了丰富的支持。无论是学术界的研究人员还是工业界的开发者,都可以从中获益。