Indic NLP 库
Indic NLP 库的目标是为印度语言的常见文本处理和自然语言处理构建基于 Python 的库。印度语言在脚本、语音、语言语法等方面有很多相似之处,这个库试图为印度语言文本中常见的工具集提供一个通用解决方案。
该库提供以下功能:
- 文本规范化
- 脚本信息
- 词语分词和去分词
- 句子分割
- 词语分段
- 音节分割
- 脚本转换
- 罗马化
- 印度化
注意: Shatanuvadak 翻译和 BrahmiNet 音译 API 不再支持。您可以使用我们在 AI4Bharat 开发的较新的 IndicTrans 翻译和 IndicXlit 音译模型。实际上,您可以在 AI4Bharat 主页上找到许多最先进的数据集和模型。
Indic NLP 库所需的数据资源托管在另一个仓库中。某些模块需要这些资源。您可以从 Indic NLP Resources 项目下载。
如果您对印度语言 NLP 资源感兴趣,应该查看 Indic NLP Catalog 以获取指引。
前提条件
- Python 3.x
- (Python 2.x 版本请查看标签
PYTHON_2.7_FINAL_JAN_2019
。不再积极支持 Python 2.x,但会尽可能保持兼容性)
- (Python 2.x 版本请查看标签
- Indic NLP Resources
- Urduhack: 仅在需要乌尔都语规范化时需要。它有其他依赖项,如 Tensorflow。
- 其他依赖项列在 setup.py 中
配置
-
通过 pip 安装:
pip install indic-nlp-library
-
如果您想从 GitHub 仓库使用该项目,请将项目添加到 Python 路径:
- 克隆此仓库
- 安装依赖:
pip install -r requirements.txt
- 运行:
export PYTHONPATH=$PYTHONPATH:<项目根目录>
-
在任何情况下,都要导出 Indic NLP Resources 目录的路径
运行:
export INDIC_RESOURCES_PATH=<Indic NLP 资源路径>
使用
您可以使用 Python API 访问库的所有功能。许多最常见的操作也可以通过统一的命令行 API 访问。
入门
查看这个 IPython Notebook以了解使用 Python API 的示例。
- 您可以在这里找到 Python 2.x 的 Notebook
文档
您可以在这里找到详细文档
该文档包含 Python API 以及命令行参考。
引用
如果您使用此库,请包括以下引用:
@misc{kunchukuttan2020indicnlp,
author = "Anoop Kunchukuttan",
title = "{The IndicNLP Library}",
year = "2020",
howpublished={\url{https://github.com/anoopkunchukuttan/indic_nlp_library/blob/master/docs/indicnlp.pdf}}
}
您可以在这里找到该文档
网站
http://anoopkunchukuttan.github.io/indic_nlp_library
作者
Anoop Kunchukuttan (anoop.kunchukuttan@gmail.com
使用 IndicNLP 库的公司、组织和项目
修订日志
0.81 : 2021年5月26日
- 修复版本号提取的错误
0.80 : 2021年5月24日
- 改进句子分割
- 错误修复
- 支持乌尔都语规范化器
0.71 : 2020年9月3日
- 改进文档
- 错误修复
0.7 : 2020年4月2日:
- 统一命令行
- 改进文档
- 添加 setup.py
0.6 : 2019年12月16日:
- 新的罗马化和印度化工具
- 脚本统一器
- 改进脚本规范化器
- 添加 contrib 目录用于示例用途
- 更改为 MIT 许可证
0.5 : 2019年6月3日:
- 改进单词分词器以处理日期和数字
- 添加可处理常见前缀/敬语并使用一些启发式方法的句子分割器
- 添加去分词器
- 添加可将英语缩写转换为婆罗米派生脚本的缩写音译器
0.4 : 2019年1月28日: 移植到 Python 3,并自上次发布以来添加了大量功能;主要围绕脚本信息、脚本相似性和音节分割。
0.3 : 2014年10月21日: 支持印度语言之间的形态分析
0.2 : 2014年6月13日: 支持印度语言之间的音译和印度语言的分词
0.1 : 2014年3月12日: 初始版本。支持文本规范化。
许可证
Indic NLP 库在 MIT 许可下发布