hazm 项目介绍
项目简介
Hazm 是一款用于波斯语文本自然语言处理的 Python 库。它提供了一系列功能,帮助用户分析、处理和理解波斯语文本。用户可以使用 Hazm 实现文本规范化、句子和词语的分词、词干化、词性标注、依存关系识别、生成文本和句子嵌入,以及读取常用波斯语语料库等功能。
功能特点
- 规范化:将文本转换为标准格式,如去除音标、校正间距等。
- 分词:将文本拆分为句子和单词。
- 词干化和词形还原:将单词转换为其基本形式。
- 词性标注:为每个单词分配词性。
- 依存解析:识别单词之间的句法关系。
- 嵌入:生成词和句子的向量表示。
- 波斯语语料库读取:通过简单的脚本和最少的代码读取常用的波斯语语料库。
安装方法
要安装最新版本的 Hazm,可以在终端中运行以下命令:
pip install hazm
如果希望安装 GitHub 上的最新更新版本,可以使用以下命令(此版本可能不稳定并存在 bug):
pip install git+https://github.com/roshan-research/hazm.git
预训练模型
如果你想使用我们的预训练模型,可以从以下链接下载:
- 词嵌入模型(约 5 GB)
- 句嵌入模型(约 1 GB)
- 词性标注模型(约 18 MB)
- 依存解析模型(约 15 MB)
- 分块器模型(约 4 MB)
使用示例
Hazm 使用简单,用户可以通过代码实现多种自然语言处理任务。以下是一些示例:
from hazm import *
# 文本规范化
normalizer = Normalizer()
print(normalizer.normalize('اصلاح نويسه ها و استفاده از نیمفاصله پردازش را آسان مي كند'))
# 句子分词
sent_tokenize('ما هم برای وصل کردن آمدیم! ولی برای پردازش، جدا بهتر نیست؟')
# 词语分词
word_tokenize('ولی برای پردازش، جدا بهتر نیست؟')
# 词干化和词形还原
stemmer = Stemmer()
lemmatizer = Lemmatizer()
print(stemmer.stem('کتابها'))
print(lemmatizer.lemmatize('میروم'))
# 词性标注
tagger = POSTagger(model='pos_tagger.model')
tagger.tag(word_tokenize('ما بسیار کتاب میخوانیم'))
# 解析依存关系
parser = DependencyParser(tagger=tagger, lemmatizer=lemmatizer)
parser.parse(word_tokenize('زنگها برای که به صدا درمیآید؟'))
文档及贡献
有关 Hazm 的完整文档,请访问相关网站。非常欢迎对该项目的贡献,包括 bug 报告、功能请求、代码改进和文档更新等。请遵循贡献指南进行贡献。
致谢
感谢 Virastyar 项目提供的波斯单词列表。以及所有贡献者的参与和支持,使得 Hazm 项目的持续发展成为可能。