木炭価が高いブログ

めっちゃ木炭(`・ω・´)

英語の入力補完に使えそうなコマンドラインツールを作った(`・ω・´)

与えられた英文に続く単語を予測するプログラムを書きました。

ごらんください(`・ω・´)

f:id:highmoctane:20200119055040g:plain

Nextword

標準入力に入力された英文から,次に最も現れやすい単語を標準出力に返すコマンドラインツールを作りました。

github.com

このツールは2通りの使い方ができます。

単語の入力補完

単語の続きまでを入力すると,そのスペルで始まる単語をぶわーっと返します。 難しい単語もスペル丸わかりですね(`・ω・´)! f:id:highmoctane:20200119060649p:plain

英文の入力補完

英文の続きまで入力すると,その英文の次に来る単語の候補を 出やすい 順で返します。 これはめっちゃ便利(`・ω・´)!

このとき,英文の最後に スペース を入れてください。これは「単語の入力補完」モードと区別するために必要です。 f:id:highmoctane:20200119061414p:plain

インストール

このプログラムは本体とデータセットに分かれているため,両方をインストールする必要があります。

本体のインストールには,まず Go 言語のコンパイラを入手します。 それが終わったら以下のコマンドをターミナルで入力します。

$ go get -u github.com/high-moctane/nextword

これで本体のインストールは終わりです。

次にデータセットのインストールをします。 データセットは以下のリンクから入手できます。

github.com

small と large がありますが,これはデータの大きさです。 大きいほうが賢いですが,容量を食います。 好きな方をダウンロードして適当なところに展開します。

保存したら環境変数を登録します。変数名は NEXTWORD_DATA_PATH で,値は展開先のパスです。 お使いの OS によって登録方法が違うのでご確認ください。

ターミナルで

$ nextword

としてエラーメッセージが出なければインストール終了です。

オプション

実行時に渡すオプションで振る舞いが変化します。

-c オプション

-c n オプションは表示する候補の最大数を n にします。

$ nextword -c 100

とすると,候補が大量に表示されます。

-g オプション

-g オプションを与えると,できる限り多くの候補を表示します。

例えば,"Alice was beginning to " という入力に対し,デフォルトでは get のみが表示されますが,-g を与えると, get feel be think take look wonder show make see になります。

原理の説明はちょっとむずかしいのでまた今度にします(`・ω・´)

応用

このプログラムをテキストエディタに使うことによって入力補完ができるようになります(`・ω・´)! f:id:highmoctane:20200119064447p:plain これは VSCode 上で入力補完できているスクリーンショットです。

こちらはまだ公開していませんが,そのうちできたらいいなあと思っています(`・ω・´)

© 2015 high-moctane