SSブログ

Rust 製の形態素解析器 awabi の python ラッパー pyawabi [awabi]

Rust製の形態素解析器awabi https://nakagami.blog.ss-blog.jp/2020-03-15 は、
形態素解析している部分はライブラリークレートになっているので、ほかから使うことができる。

Rust でPython のモジュールが書ける PyO3 というのがあるので、 Python モジュールにして Python から形態素解析できることを目指してみた。
できたのがこれ↓
https://github.com/nakagami/pyawabi

モジュールの中に(クラスのインスタンスなど複雑な形式じゃなくて)プリミティブな型の組み合わせの結果を返すだけの関数を実装するだけであれば、比較的簡単にできた。
今回の例では、「文字列と文字列のタプルのリストのリスト」は、Rust の関数の結果値を返すだけでうまく動いた。

難点を上げるとすると、PyO3 がいまだに Rust のnightly ビルドじゃないと動かないこと https://github.com/PyO3/pyo3/issues/5
できあがった.so ファイルを(ファイル名をちょっと変えて)python のパスが通るところにコピーしないといけないのが、ちょっと面倒ということかな。

Python の C拡張は、リファレンスカウントの扱いとか、文字列のマーシャリングとか、僕には難しくて、これなら python から使えて速度が必要な処理はRust で書けばいいんじゃないか?と思う今日この頃

コメント(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント