[python] 英単語をカタカナに変換するパッケージ「alkana.py」を作りました

概要

英単語からカタカナに変換するPythonパッケージを作りました。pipでインストールできます。
たとえば、「test」→「テスト」、「happy」→「ハッピー」のような変換が可能です。
辞書データに含まれる50000語程度の英単語に対応しています。

コマンドライン、Python importの二通りの方法で利用可能です。

コマンドライン

$ alkana hello
ハロー
$ alkana world
ワールド

Python import

import alkana
hello = alkana.get_kana("hello")
world = alkana.get_kana("world")
print(f"{hello} {world}")
# 出力: ハロー ワールド

インストール方法・使い方

詳しいインストール方法・使い方は、以下READMEをご覧ください。
alkana.py/README_ja.md

課題

現状、以下のような課題があります。Pull-Requestは常に歓迎しています。

メモリ効率の悪さ

辞書データをまるまるメモリ上に保持するので、alkana.pyを利用するだけで2MBほどメモリを食ってしまいます。
また、パッケージのロードにも時間がかかっています。

英単語のバリエーション

基本的な英単語は網羅されていますが、あたらしめの造語(pixivやinstagramなど)は読めないので、今後追加したいと思います。

カタカナ→英語変換

いまできるのは、「英語」→「カタカナ」の変換です。
ある程度の表記ゆれに対応した「カタカナ」→「英語」の変換もできるといいなと思っています。

Thanks

辞書データ

50000単語近い英語文字列とカタカナの対応データを作成するために、Bilingual Emacspeak Projectに含まれる辞書データを使っています。

Description

パッケージの機能を簡潔な英語で表すのに悩んでいたところ、discord.py開発リーダーのDanny氏が“A tool to get the katakana reading of an alphabetical string.”というスマートな表現を考えてくれました。
ありがたくそのまま使わせてもらっています。

雑記

開発の経緯

discordの読み上げBotを開発しています。
読み上げにはOpen JTalkを使っているのですが、英単語混じりの文章がうまく読めません。
たとえば、「今日はdiscordで通話しましょう。」という文章だと、「きょうはディーアイエスシーオーアールディーでつうわしましょう。」のようになってしまいます。
これを改善するために、alkana.pyを開発しました。

名前の由来

alphabet + katakana = alkana です。読みは「アルカナ」です。
サモギティア語で「おなかすいた」という意味だそうです。