
Nagisa-это модуль Python для японской сегментации слова/POS-сжигания. Он предназначен для того, чтобы быть простым и простым в использовании инструмента.
Этот инструмент имеет следующие функции.
Для получения более подробной информации см. Следующие ссылки.
Чтобы использовать NAGISA, вам необходимо иметь версии Python с 3,6–3,12 на Linux или Python версии с 3,9 по 3,12 на MacOS (Intel или M1/M2). Вы можете установить 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/名詞 で/助詞 簡単/形状詞 に/助動詞 使える/動詞 ツール/名詞 です/助動詞
# Get a list of words
print ( words . words )
#=> ['Python', 'で', '簡単', 'に', '使える', 'ツール', 'です']
# Get a list of POS-tags
print ( words . postags )
#=> ['名詞', '助詞', '形状詞', '助動詞', '動詞', '名詞', '助動詞']Фильтруя и пробортеть слова с помощью конкретных тегов POS.
# Filter the words of the specific POS tags.
words = nagisa . filter ( text , filter_postags = [ '助詞' , '助動詞' ])
print ( words )
#=> Python/名詞 簡単/形状詞 使える/動詞 ツール/名詞
# Extarct only nouns.
words = nagisa . extract ( text , extract_postags = [ '名詞' ])
print ( words )
#=> Python/名詞 ツール/名詞
# This is a list of available POS-tags in nagisa.
print ( nagisa . tagger . postags )
#=> ['補助記号', '名詞', ... , 'URL']Добавьте пользовательский словарь простым способом.
# default
text = "3月に見た「3月のライオン」"
print ( nagisa . tagging ( text ))
#=> 3/名詞 月/名詞 に/助詞 見/動詞 た/助動詞 「/補助記号 3/名詞 月/名詞 の/助詞 ライオン/名詞 」/補助記号
# If a word ("3月のライオン") is included in the single_word_list, it is recognized as a single word.
new_tagger = nagisa . Tagger ( single_word_list = [ '3月のライオン' ])
print ( new_tagger . tagging ( text ))
#=> 3/名詞 月/名詞 に/助詞 見/動詞 た/助動詞 「/補助記号 3月のライオン/名詞 」/補助記号Nagisa (v0.2.0+) предоставляет простой метод поезда для совместной сегментации слова и маркировки последовательности (например, модель POS-сглаживания, NER).
Форматом файлов поезда/Dev/Test является TSV. Каждая строка - это word и tag , а одна строка представлена tag word T (Tab). Обратите внимание, что вы ставите EOS между предложениями. Обратитесь к образцам наборов данных и учебному пособию (обучение модели для универсальных зависимостей).
$ cat sample.train
唯一 NOUN
の ADP
趣味 NOU
は ADP
料理 NOUN
EOS
とても ADV
おいしかっ ADJ
た AUX
です AUX
。 PUNCT
EOS
ドル NOUN
は ADP
主要 ADJ
通貨 NOUN
EOS
# After finish training, save the three model files (*.vocabs, *.params, *.hp).
nagisa . fit ( train_file = "sample.train" , dev_file = "sample.dev" , test_file = "sample.test" , model_name = "sample" )
# Build the tagger by loading the trained model files.
sample_tagger = nagisa . Tagger ( vocabs = 'sample.vocabs' , params = 'sample.params' , hp = 'sample.hp' )
text = "福岡・博多の観光情報"
words = sample_tagger . tagging ( text )
print ( words )
#> 福岡/PROPN ・/SYM 博多/PROPN の/ADP 観光/NOUN 情報/NOUN