Tokuhiro Matsuno 6c79a5d253 remove some things. I will be transfer model related things to
akaza-default-model repo.
2023-01-20 21:58:58 +09:00
2023-01-14 09:58:04 +09:00
2023-01-16 23:48:04 +09:00
2023-01-19 14:23:06 +09:00
2023-01-18 23:25:54 +09:00
2023-01-17 17:06:11 +09:00
2023-01-18 18:47:08 +09:00
2020-09-03 01:11:08 +09:00
2023-01-07 23:45:14 +09:00
2023-01-19 18:43:14 +09:00
2023-01-06 15:50:55 +09:00
2022-12-23 23:43:24 +09:00
2023-01-16 12:36:15 +09:00
2023-01-17 17:23:36 +09:00
2022-12-23 18:56:17 +09:00
2020-09-14 18:36:22 +09:00
2023-01-20 00:04:21 +09:00
2023-01-16 03:38:47 +00:00

ibus-akaza

Yet another kana-kanji-converter on IBus, written in Rust.

統計的かな漢字変換による日本語IMEです。 Rust で書いています。

現在、開発途中のプロダクトです。非互換の変更が予告なくはいります

モチベーション

いじりやすくて ある程度 UIが使いやすいかな漢字変換があったら面白いなと思ったので作ってみています。 「いじりやすくて」というのはつまり、Hack-able であるという意味です。

モデルデータを自分で生成できて、特定の企業に依存しない自由なかな漢字変換エンジンを作りたい。

特徴

  • UI/Logic をすべて Rust で書いてあるので、拡張が容易です。
  • 統計的かな漢字変換モデルを採用しています
    • 言語モデルの生成元は日本語 Wikipedia と青空文庫です。
      • 形態素解析器 Vibrato で分析した結果をもとに 2gram 言語モデルを構築しています。
      • 利用者の環境で 1 から言語モデルを再生成することが可能です。
  • ユーザー環境で、利用者の変換結果を学習します(unigram, bigramの頻度を学習します)

Dependencies

Runtime dependencies

  • ibus
  • marisa-trie

Build time dependencies

  • rust

Supported environment

  • Linux 6.0 以上
  • ibus 1.5 以上
  • リトルエンディアン環境

Install 方法

モデルファイルをダウンロードして展開してください。

mkdir /usr/share/akaza/
curl -L https://github.com/tokuhirom/akaza/releases/download/<<VERSION>>/akaza-data.tar.gz | tar xzv --strip-components=1 -C /usr/share/akaza/

ibus-akaza をインストールしてください。

sudo rustup install stable
sudo make install
ibus restart
ibus engine akaza

設定方法

config.yml

XDG の設定ファイルディレクトリ以下、通常であれば $HOME/.config/akaza/config.yml に設定ファイルを書くことができます。

設定可能な項目は以下のもの。

  • ユーザー辞書の設定

サンプルの設定は以下のような感じになります。 akaza が提供しているシステム辞書は偏りがすごくあるので、SKK-JISYO.L を読み込むことをおすすめします。たとえば以下のように設定すると良いでしょう。

---
dicts:
  - path: /usr/share/skk/SKK-JISYO.L
    encoding: euc-jp
    dict_type: skk
  - path: /usr/share/skk/SKK-JISYO.jinmei
    encoding: euc-jp
    dict_type: skk
single_term:
  - path: /usr/share/akaza/SKK-JISYO.dynamic
    encoding: utf-8
    dict_type: skk

akaza に付属する SKK-JISYO.dynamic を利用すると、「きょう」を変換すると、今日の日付がでるという機能が利用可能です。

↓ かな入力したい場合は以下のように設定してください。

romkan: kana

FAQ

最近の言葉が変換できません/固有名詞が変換できません

流行り言葉が入力できない場合、jawiki-kana-kanji-dict の利用を検討してください。 Wikipedia から自動的に抽出されたデータを元に SKK 辞書を作成しています。 Github Actions で自動的に実行されているため、常に新鮮です。

一方で、自動抽出しているために変なワードも入っています。変なワードが登録されていることに気づいたら、github issues で報告してください。

人名が入力できません。など。

必要な SKK の辞書を読み込んでください。 現時点では config.yml を手で編集する必要があります。

https://skk-dev.github.io/dict/

THANKS TO

Description
No description provided
Readme MIT 1.8 GiB
Languages
Rust 95.6%
Perl 1.8%
C 1.1%
C++ 0.8%
Makefile 0.6%
Other 0.1%