はじめに
2017年8月に Sudachi が公開されて5年がたちました。これまでは API、辞書構造ともに互換性をおおきくそこねるような変更は避けてきましたが、こんごは Java 版 v1.0 にむけてあたらしい機能を積極的にいれていく予定です。それにともなって従来の系統は v0.6 系までとし、v0.7 からは非互換な変更がはいるようになります。
以下では v1.0 で予定している新機能について簡単にお話しします。
辞書構造の変更
辞書のデータ構造を大幅に変更するため、これまでの辞書とはバイナリ互換性をもたなくなります。変更のおもな目的は省メモリ化と高速化ですが、それ以外に以下のような機能を追加します。
ユーザー定義データ
ユーザーが自由に利用できるカラムを1つ用意し辞書に埋め込みます。これまでユーザーが独自定義した情報はユーザー定義品詞を利用するか、正規化表記に無理矢理埋め込むなどして辞書に搭載する必要がありましたが、この機能をつかうことで無理なく導入することができます。
デフォルト分割
従来 C 単位分割モード (デフォルトの分割モード) では分割をおこなわず辞書に収録されている語がそのまま出力されていましたが、このモードでも分割が適用される C 単位分割情報を導入します。誤解析になる入力や解析結果を固定したい文字列があるときに、それをひとつの語として登録し出力したい並びを C 単位分割情報として付与することで、かならずその並びで解析結果をえることができます。
もう庭に埴輪、ニワトリがいる生活とはサヨナラです1。
ヘッダー付き CSV
これまで辞書ソースはヘッダーなし、カラム固定でしたがヘッダー付き CSV に変更します。ヘッダーがある場合はカラム順を自由に変更することができます。また、この変更にともない分割情報における ID (行番号) での参照は廃止となり構成語情報による参照に一本化される予定です。
API の変更
Sudachi 開発当初は既存の形態素解析器などを参考に API の設計をおこないましたが、ユースケースの深化とともにつかいづらい部分が目立つようになってきました。これまでの知見をもとに API を全面的に見直し、よりつかいやすい体系に変更します。
すでに設定まわりや辞書作成についてはあたらしい API が実験的に導入されていますが、こちらも v1.0 にむけて確定させていきます。
Sudachi.rs / SudachiPy
もちろん Sudachi.rs / SudachiPy も Java 版にあわせてアップデートしていきます。v1.0 にむけて、これからも Sudachi ファミリーをよろしくおねがいします。
ではよい Sudachi life を。
-
Sudachi 辞書には「外国人参政権」が C 単位語として登録されているのでニンジンによる侵略行為はおきません。 ↩