项目介绍:fugashi
fugashi 是一个用于日语文本分析的工具,专门为 MeCab 提供了一个 Cython 封装。MeCab 是一个强大的日语分词和形态分析工具,广泛应用于自然语言处理。fugashi 的出现,为 Python 程序员利用 MeCab 的功能提供了便利。
支持的环境
fugashi 提供了 Linux、OSX(Intel)以及 Win64 的安装包,用户可以非常方便地在这些系统上使用。此外,UniDic 字典的安装也变得相对简单。
平台不支持情况
有些平台上没有为 fugashi 提供安装包,比如:
- 基于 musl 的发行版,如 Alpine
- PowerPC 处理器
- 32 位 Windows 系统
在这些情况下,用户需要首先自行安装 MeCab。
用法
要使用 fugashi,首先需要导入 Tagger
类。以下是一个简单的示例:
from fugashi import Tagger
tagger = Tagger('-Owakati')
text = "麩菓子は、麩を主材料とした日本の菓子。"
tagger.parse(text)
# => '麩 菓子 は 、 麩 を 主材 料 と し た 日本 の 菓子 。'
for word in tagger(text):
print(word, word.feature.lemma, word.pos, sep='\t')
fugashi 通过 Tagger
对象进行文本解析,可以输出每个词的词形、词性等信息。
安装字典
使用 fugashi 需要安装一个词典,推荐使用 UniDic。以下是两种容易安装的版本:
unidic-lite
:经过轻微修改的 Unidic 版本(2.1.2),体积较小unidic
:最新版的 UniDic(3.1.0),需要额外的下载步骤,磁盘占用为 770MB
可以通过以下命令来安装这些词典:
pip install 'fugashi[unidic-lite]'
# 若安装完整版本的 UniDic,还需执行
pip install 'fugashi[unidic]'
python -m unidic download
字典使用
fugashi 默认使用 Unidic 来处理日语文本,但也支持其他字典。假如使用其他字典,可以使用 GenericTagger
:
from fugashi import GenericTagger
tagger = GenericTagger()
tagger.parse('something')
引用
若在研究中使用 fugashi,推荐引用相关的论文:
@inproceedings{mccann-2020-fugashi,
title = "fugashi, a Tool for Tokenizing {J}apanese in Python",
author = "McCann, Paul",
booktitle = "Proceedings of Second Workshop for NLP Open Source Software (NLP-OSS)",
month = nov,
year = "2020",
address = "Online",
publisher = "Association for Computational Linguistics",
pages = "44--51"
}
其他选择
如果在使用 fugashi 时遇到问题或者寻找其他替代方案,可以尝试:
- SudachiPy:不需要安装 MeCab
- pymecab-ko 或 KoNLPy:用于处理韩语
许可证信息
fugashi 遵循 MIT 许可证发布,而 MeCab 的二进制文件是通过 BSD 许可证重新分发的。fugashi 和 MeCab 的版权分别由 Taku Kudo 和日本电报电话公司拥有。
通过这些介绍,用户可以对 fugashi 的功能和用法有一个清晰的了解,并能轻松在项目中进行日语文本处理。