Lindera CLI
A morphological analysis command-line interface for Lindera. This project fork from fulmicoton's kuromoji-rs.
Install
% cargo install lindera-cli
Build
The following products are required to build:
- Rust >= 1.39.0
- make >= 3.81
% cargo build --release
Usage
Basic usage
The CLI already includes IPADIC as the default Japanese dictionary.
You can easily tokenize the text and see the results as follows:
% echo "関西国際空港限定トートバッグ" | lindera
関西国際空港 名詞,固有名詞,組織,*,*,*,関西国際空港,カンサイコクサイクウコウ,カンサイコクサイクーコー
限定 名詞,サ変接続,*,*,*,*,限定,ゲンテイ,ゲンテイ
トートバッグ UNK,*,*,*,*,*,*,*,*
EOS
Switching dictionary
It is also possible to switch to the pre-built dictionary data instead of the default dictionary and tokenize.
IPADIC
Please refer to the following repository for building an IPADIC dictionary:
- Lindera IPADIC Builder
The following example uses the pre-built IPADIC to tokenize:
% echo "関西国際空港限定トートバッグ" | lindera -d ./lindera-ipadic-2.7.0-20070801
関西国際空港 名詞,固有名詞,組織,*,*,*,関西国際空港,カンサイコクサイクウコウ,カンサイコクサイクーコー
限定 名詞,サ変接続,*,*,*,*,限定,ゲンテイ,ゲンテイ
トートバッグ UNK
EOS
IPADIC NEologd
Please refer to the following repository for building an IPADIC NEologd dictionary:
- Lindera IPDIC NEologd Builder
The following example uses the pre-built IPADIC-NEologd to tokenize:
% echo "関西国際空港限定トートバッグ" | lindera -d ./lindera-ipadic-2.7.0-20070801-neologd-20200130
関西国際空港 名詞,固有名詞,組織,*,*,*,関西国際空港,カンサイコクサイクウコウ,カンサイコクサイクーコー
限定 名詞,サ変接続,*,*,*,*,限定,ゲンテイ,ゲンテイ
トートバッグ 名詞,固有名詞,一般,*,*,*,トートバッグ,トートバッグ,トートバッグ
EOS
UniDic
Please refer to the following repository for building a UniDic dictionary:
- Lindera UniDic Builder
The following example uses the pre-built UniDic to tokenize:
% echo "関西国際空港限定トートバッグ" | lindera -d ./lindera-unidic-2.1.2
関西 名詞,固有名詞,地名,一般,*,*,カンサイ,カンサイ,関西,カンサイ,関西,カンサイ,固,*,*,*,*
国際 名詞,普通名詞,一般,*,*,*,コクサイ,国際,国際,コクサイ,国際,コクサイ,漢,*,*,*,*
空港 名詞,普通名詞,一般,*,*,*,クウコウ,空港,空港,クーコー,空港,クーコー,漢,*,*,*,*
限定 名詞,普通名詞,サ変可能,*,*,*,ゲンテイ,限定,限定,ゲンテー,限定,ゲンテー,漢,*,*,*,*
トート 名詞,普通名詞,一般,*,*,*,トート,トート,トート,トート,トート,トート,外,*,*,*,*
バッグ 名詞,普通名詞,一般,*,*,*,バッグ,バッグ-bag,バッグ,バッグ,バッグ,バッグ,外,*,*,*,*
EOS
ko-dic
Please refer to the following repository for building a ko-dic dictionary:
- Lindera ko-dic Builder
The following example uses the pre-built ko-dic to tokenize:
% echo "하네다공항한정토트백" | lindera -d ./lindera-ko-dic-2.1.1-20180720
하네다 NNP,인명,F,하네다,*,*,*,*
공항 NNG,장소,T,공항,*,*,*,*
한정 NNG,*,T,한정,*,*,*,*
토트백 NNG,*,T,토트백,Compound,*,*,토트/NNP/인명+백/NNG/*
EOS
Tokenize mode
Lindera provides two tokenization modes: normal
and decompose
.
normal
mode tokenizes faithfully based on words registered in the dictionary. (Default):
% echo "関西国際空港限定トートバッグ" | lindera --mode=normal
関西国際空港 名詞,固有名詞,組織,*,*,*,関西国際空港,カンサイコクサイクウコウ,カンサイコクサイクーコー
限定 名詞,サ変接続,*,*,*,*,限定,ゲンテイ,ゲンテイ
トートバッグ UNK,*,*,*,*,*,*,*,*
EOS
decopose
mode tokenizes a compound noun words additionally:
% echo "関西国際空港限定トートバッグ" | lindera --mode=decompose
関西 名詞,固有名詞,地域,一般,*,*,関西,カンサイ,カンサイ
国際 名詞,一般,*,*,*,*,国際,コクサイ,コクサイ
空港 名詞,一般,*,*,*,*,空港,クウコウ,クーコー
限定 名詞,サ変接続,*,*,*,*,限定,ゲンテイ,ゲンテイ
トートバッグ UNK,*,*,*,*,*,*,*,*
EOS
Output format
Lindera provides three output formats: mecab
, wakati
and json
.
mecab
outputs results in a format like MeCab:
% echo "お待ちしております。" | lindera --output=mecab
お待ち 名詞,サ変接続,*,*,*,*,お待ち,オマチ,オマチ
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
おり 動詞,非自立,*,*,五段・ラ行,連用形,おる,オリ,オリ
ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス
。 記号,句点,*,*,*,*,。,。,。
EOS
wakati
outputs the token text separated by spaces:
% echo "お待ちしております。" | lindera --output=wakati
お待ち し て おり ます 。
json
outputs the token information in JSON format:
% echo "お待ちしております。" | lindera --output=json
Docker
Build Docker container image
You can build the Docker container image like so:
$ make docker-build
Pull Docker container image from docker.io
You can also use the Docker container image already registered in docker.io like so:
$ docker pull linderamorphology/lindera-cli:latest
See https://hub.docker.com/r/linderamorphology/lindera-cli/tags/
Start on Docker
Running a Lindera CLI on Docker like so:
$ echo "羽田空港限定トートバッグ" | docker run --rm -i --name lindera linderamorphology/lindera-cli:latest
羽田空港 名詞,固有名詞,一般,*,*,*,羽田空港,ハネダクウコウ,ハネダクーコー
限定 名詞,サ変接続,*,*,*,*,限定,ゲンテイ,ゲンテイ
トートバッグ UNK
EOS