Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sudachi Family近況報告 at WAP NLP Tech Talk #5

WAP
April 28, 2022

Sudachi Family近況報告 at WAP NLP Tech Talk #5

WAP

April 28, 2022
Tweet

More Decks by WAP

Other Decks in Technology

Transcript

  1. © 2022 Works Applications Systems Co., Ltd. Sudachi Family
 近況報告


    
 
 ワークス徳島人工知能NLP研究所
 Arseny Tolmachev

  2. © 2022 Works Applications Systems Co., Ltd. 自己紹介
 2 •

    名前:Tolmachev Arseny 
 • twitter: @to_aruchan
 • 出身:ロシア、エカテリンブルグ
 • ロシアでHigh-Performance Computing
 • 京大・黒橋研で修士、博士号を取得
 • 形態素解析器Juman++を250倍早くした
 • 現在はSudachiの開発・メンテを行っている
 
 

  3. © 2022 Works Applications Systems Co., Ltd. 概要
 3 •

    Sudachi Javaの高速化
 • SudachiのCSV形式の変更
 • Sudachiのバイナリー辞書内部形式の変更
 • Sudachi Elasticsearchの作業予定
 

  4. © 2022 Works Applications Systems Co., Ltd. Sudachi Javaの変更
 4

    • ビルドシステム Maven→Gradleに移行
 • 新しい設定APIを実装
 ◦ 型付き設定APIと柔軟な設定の仕方 ◦ in-memoryの辞書の利用が可能 ◦ すべてのリソースはclasspathから読み込みが可能 ▪ バイナリー辞書はclasspathからの読み込みが可能 この機能はサポートされていません ◦ 詳細なドキュメンテーションは後日
  5. © 2022 Works Applications Systems Co., Ltd. Sudachi Javaの高速化
 5

    • Rust版の高速化が終わったので、
 現在はJava版の高速化途中
 • developブランチは最後のリリースより~20%早くなっている
 • 高速化は主にJavaの低レベル実行最適化
 ◦ ラティスの構築の改善 ◦ 辞書の読み込みの改善
  6. © 2022 Works Applications Systems Co., Ltd. Java高速化のやり方
 6 •

    ProfilerでBottleneckを探 す
 • JVMのAssemblyの出力を 確認する
 • 高速のための仮説を建て る
 • 新しい実装を書く
 • ProfilerとAssemblyの出力 で改善を確認
 
 いずれ詳しく話したいです

  7. © 2022 Works Applications Systems Co., Ltd. Sudachiバイナリー辞書の変更
 7 •

    バイナリー辞書は大幅に変更される
 • 目的
 ◦ スペース削減(狙いは現在の3分の2程度) ◦ 読み込みの高速化(少し) ◦ 新しい機能の追加 • 古い辞書は対応されなくなる
 ◦ 1.0リリースの前に互換性を壊す予定 • 他の変更
 ◦ 一般的な文字列の最大長=4114 UTF-16 code units
  8. © 2022 Works Applications Systems Co., Ltd. CSV辞書の大事な変更(1)
 8 •

    辞書間の参照を行番号で参照できなくなる
 ◦ 辞書内は大丈夫 
 • 現在は2つの参照のやりかたが存在する
 ◦ 見出しー品詞ー読み  (ユーザー辞書でOK) ◦ 単語の行番号 (ユーザー辞書でNG)
  9. © 2022 Works Applications Systems Co., Ltd. CSV辞書の大事な変更(2/3)
 9 •

    単語の任意な情報を付与できるようになる(最大長32k bytes)
 ◦ ユーザー辞書に何か追加の情報を登録したいとき 
 • 強制分割機能
 ◦ 長いトークンの分割を強制できるようになる ◦ 例:にわにはにわにわとりがいる ◦ 実装:CSV辞書のC単位分割を定義する列を追加 ▪ 現在のA、B単位分割と同様に
  10. © 2022 Works Applications Systems Co., Ltd. Sudachi Elasticsearchのこれから
 10

    • Elasticsearch Pluginは入力文を複数回解析することがあり ます
 ◦ 例えば、複数の分割単位の解析が設定されているとき • 同じインデックスに対して複数の単位の解析が設定された としても、解析回数を抑制するように修正の予定

  11. © 2022 Works Applications Systems Co., Ltd. ▪免責事項および権利帰属について ・本資料に関する一切の権利は弊社に帰属します。 ・本資料には弊社の機密情報が含まれていることがあります。したがって、書面による事前の承諾なしにこれを転載し、または第三者に開示することを禁止いたします。

    ・本資料はディスカッション目的で作成されたものであり、貴社との協議に基づき適宜変更することを想定しております。したがって、弊社は本資料に記載の内容について 
  法的責任を一切負担いたしません。なお、弊社および貴社の法的関係は、今後弊社および貴社が捺印の上締結する契約書に依拠します。弊社は貴社との間で締結された契約書に 
  明示的に記載された責任以外の責任は負担いたしません。 ・ワークスアプリケーションズ、「HUE®」および「ArielAirOne®」は(株)ワークスアプリケーションズの日本国内における商標または登録商標です。 ・ワークスアプリケーションズ ・エンタープライズは(株)ワークスアプリケーションズ ・エンタープライズの日本国内における商標です。 ・ワークスアプリケーションズ ・フロンティアは(株)ワークスアプリケーションズ ・フロンティアの日本国内における商標です。 ・ワークスアプリケーションズ・システムズは(株)ワークスアプリケーションズ・システムズの日本国内における商標です。 ・本資料に記載された各会社名あるいは各製品名は各社の登録商標または商標です。 ・本文中および図中では®マークは表記しておりません。 ・「ArielAirOne® 」 は「ArielAirOne® Enterprise」 「ArielAirOne® Portal」および「ArielAirOne® Framework」を含む総称です。 
 免責