1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

Sudachi の辞書ソースにはつかわれていない、あるいは何につかわれているかがあまり説明されていないカラムがいくつかあります。何回かにわけてそういったカラムについて説明していきます。今回は小ネタです。(その1その2)

14カラム目の話

今回は14カラム目 (0はじまりで) のお話です。このカラムはユーザー辞書のドキュメントには「分割タイプ」とあり、A、B、C、アスタリスク (*) いずれかの値を記述するように書かれています。このカラムのあと15カラム目が A 単位分割情報、16カラム目が B 単位分割情報になっています。それぞれじぶんがA単位に分割されたときの A 単位語のリスト、B 単位に分割されたときの B 単位語のリストです。

Sudachi の解析は分割されない状態でおこなわれます。べつのいい方をすると TRIE に登録されている語1だけで辞書引きし、ラティスを作成、最適なパスが選ばれます。この最適パスとしてえられた形態素列が C 単位モードの出力結果になります2

B 単位モード、A 単位モードで出力する際は、この C 単位モードの形態素列にふくまれるそれぞれの語にたいして、B 単位分割情報、A 単位分割情報を参照して分割がおこなわれます (LatticeNodeImpl.java)。つまり、自分が A、B、C どの単位の語であるかに関係なく、B 単位分割情報や A 単位分割情報をもっていればその形態素列に分割されるわけです。

あらためてかんがえると A 単位分割情報や B 単位分割情報があれば分割タイプの情報は不要です。そのため分割タイプの情報は辞書の内部構造には記録されていません。というわけで、このカラムは辞書ソースをパーズするときのエラーチェックのみにつかわれています3

ではよい Sudachi life を。

  1. 左連接 ID に-1を指定すると TRIE から除外されます。

  2. 厳密にいうと最適パスにたいして PathRewritePlugin で書き換えがおこなわれたあとの形態素列です。

  3. 分割タイプに A が指定されているのに A 単位分割情報や B 単位分割情報があるとエラーになります。(CsvLexicon.java)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?