Nagisa 是一个用于日语分词和词性标注的 Python 模块。 它是一个简单易用的工具。
此工具具有以下特性:
更多详情请参考以下链接。
安装
要使用 Nagisa,您需要在 Linux 上有 Python 3.6 到 3.12 版本,或在 macOS (Intel 或 M1/M2) 上有 Python 3.9 到 3.12 版本。您可以使用以下命令安装 Nagisa。
pip install nagisa
对 Windows 用户,请使用 Python 3.6、3.7 或 3.8(64 位)运行。 它也兼容 Windows 的 Linux 子系统 (WSL)。
基本用法
日语分词和词性标注示例。
import nagisa
text = 'Python で簡単に使えるツールです'
words = nagisa.tagging(text)
print(words)
#=> Python/名词 で/助词 簡単/形状詞 に/助动词 使える/动词 ツール/名词 です/助动词
# 获取词语列表
print(words.words)
#=> ['Python', 'で', '簡単', 'に', '使える', 'ツール', 'です']
# 获取词性标注列表
print(words.postags)
#=> ['名词', '助词', '形状词', '助动词', '动词', '名词', '助动词']
后处理函数
通过特定的词性标签过滤和提取词语。
# 过滤特定词性标签的词语
words = nagisa.filter(text, filter_postags=['助词', '助动词'])
print(words)
#=> Python/名词 簡单/形状词 使える/动词 ツール/名词
# 仅提取名词
words = nagisa.extract(text, extract_postags=['名词'])
print(words)
#=> Python/名词 ツール/名词
# 这是 Nagisa 提供的词性标签列表
print(nagisa.tagger.postags)
#=> ['补助符号', '名词', ... , 'URL']
简便的方式添加用户词典。
# 默认
text = "3月に見た「3月のライオン」"
print(nagisa.tagging(text))
#=> 3/名词 月/名词 に/助词 見/动词 た/助动词 「/补助符号 3/名词 月/名词 の/助词 ライオン/名词 」/补助符号
# 如果一个词("3月のライオン")包含在 single_word_list 中,它将被识别为一个单词。
new_tagger = nagisa.Tagger(single_word_list=['3月のライオン'])
print(new_tagger.tagging(text))
#=> 3/名词 月/名词 に/助词 見/动词 た/助动词 「/补助符号 3月のライオン/名词 」/补助符号
训练模型
Nagisa (v0.2.0+) 提供了一个简单的训练方法, 用于联合分词和序列标注(如词性标注、命名实体识别)模型。
训练集/验证集/测试集文件的格式为 TSV。
每行是 词
和 标签
,一行用 词
\t(制表符)标签
表示。
请注意在句子之间添加 EOS。
请参考 示例数据集 和 教程(训练 Universal Dependencies 模型)。
$ cat sample.train
唯一 NOUN
の ADP
趣味 NOUN
は ADP
料理 NOUN
EOS
とても ADV
おいしかっ ADJ
た AUX
です AUX
。 PUNCT
EOS
ドル NOUN
は ADP
主要 ADJ
通货 NOUN
EOS
# 训练完成后,保存三个模型文件(*.vocabs, *.params, *.hp)。
nagisa.fit(train_file="sample.train", dev_file="sample.dev", test_file="sample.test", model_name="sample")
# 通过加载训练好的模型文件构建标注器。
sample_tagger = nagisa.Tagger(vocabs='sample.vocabs', params='sample.params', hp='sample.hp')
text = "福冈・博多の観光信息"
words = sample_tagger.tagging(text)
print(words)
#> 福冈/专有名词 ・/符号 博多/专有名词 の/助词 观光/名词 信息/名词