From 545ba4b63300cbbae5729614d2efa6779efc37dd Mon Sep 17 00:00:00 2001 From: Miwa <63481257+ensan-hcl@users.noreply.github.com> Date: Sun, 19 May 2024 20:38:28 +0900 Subject: [PATCH] adding zenzai docs (#97) --- Docs/zenzai.md | 30 ++++++++++++++++++++++++++++++ README.md | 12 ++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 Docs/zenzai.md diff --git a/Docs/zenzai.md b/Docs/zenzai.md new file mode 100644 index 0000000..c363deb --- /dev/null +++ b/Docs/zenzai.md @@ -0,0 +1,30 @@ +# Zenzai + +Zenzaiはニューラルかな漢字変換エンジンであり、高精度な変換を提供できるモードです。利用するには変換オプションの`zenzaiMode`を設定します。 + +```swift +let options = ConvertRequestOptions.withDefaultDictionary( + // ... + zenzaiMode: .on(weight: url, inferenceLimit: 1) + // ... +) +``` + +* `weight`には`gguf`形式の重みファイルを指定します。重みファイルは[Hugging Face](https://huggingface.co/Miwa-Keita/zenz-v1)からダウンロードできます。 +* `inferenceLimit`には推論回数の上限を指定します。通常`1`で十分ですが、低速でも良い変換を得たい場合は`10`程度の値にすることもできます。 + +## 動作環境 +* M1以上のスペックのあるmacOS環境が望ましいです +* モデルサイズに依存しますが、現状150MB程度のメモリを必要とします +* Linux環境でも動作しますが、CUDAが使えない可能性があります + +## 仕組み + +[Zennのブログ](https://zenn.dev/azookey/articles/ea15bacf81521e)をお読みいただくのが最もわかりやすい解説です。 + +## 制約 +現状、Zenzaiを用いた場合学習機能は無効化されます。また、予測変換にはニューラル言語モデルは用いられていません。 + +## 用語 +* Zenzai: ニューラルかな漢字変換システム +* zenz-v1: Zenzaiで用いることのできるかな漢字変換モデル「zenz」の第1世代 \ No newline at end of file diff --git a/README.md b/README.md index d95b7ac..0d42eac 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ AzooKeyKanaKanjiConverterは[azooKey](https://github.com/ensan-hcl/azooKey)のために開発したかな漢字変換エンジンです。数行のコードでかな漢字変換をiOS / macOS / visionOSのアプリケーションに組み込むことができます。 +また、AzooKeyKanaKanjiConverterはニューラルかな漢字変換システム「Zenzai」を利用した高精度な変換もサポートしています。 + ## 動作環境 iOS 14以降, macOS 11以降, visionOS 1以降, Ubuntu 22.04以降で動作を確認しています。 @@ -77,6 +79,16 @@ let options = ConvertRequestOptions.withDefaultDictionary( ### `ComposingText` `ComposingText`は入力管理を行いつつ変換をリクエストするためのAPIです。ローマ字入力などを適切にハンドルするために利用できます。詳しくは[ドキュメント](./Docs/composing_text.md)を参照してください。 +### Zenzaiを使う +ニューラルかな漢字変換システム「Zenzai」を利用するには、`ConvertRequestOptions`の`zenzaiMode`を指定します。詳しくは[ドキュメント](./Docs/composing_text.md)を参照してください。 +```swift +let options = ConvertRequestOptions.withDefaultDictionary( + // ... + zenzaiMode: .on(weight: url, inferenceLimit: 10) + // ... +) +``` + ### 辞書データ AzooKeyKanaKanjiConverterのデフォルト辞書として[azooKey_dictionary_storage](https://github.com/ensan-hcl/azooKey_dictionary_storage)がサブモジュールとして指定されています。過去のバージョンの辞書データは[Google Drive](https://drive.google.com/drive/folders/1Kh7fgMFIzkpg7YwP3GhWTxFkXI-yzT9E?usp=sharing)からもダウンロードすることができます。