テキスト正規化用PythonライブラリをMATLABからコール
はじめに
テキスト解析をする上で、他言語で書かれた既存のテキスト解析関数を使いたいケースがあるのでやってみました。
neologdnというPythonベースの文書初期化ツールをMATLABから呼んでみます。筆者はPython初心者なので色々間違っていたらすみません。
環境
MATLAB R2020a
Python 3.6
手順
「Python ライブラリ関数の呼び出し」という公式ページがあるのでこちらを参考に準備をします。MATLABとPythonの両環境が必要になってくるわけですが、一言にPythonと言っても、MATLABからの呼び出しにサポートしているものがあり、そちらの方が簡単そうなので公式ページの通りにインストールしました。
試しにMATLAB側で下記を入力します。
py.os.listdir('.')
すると、Python側のos.listdirを使ってファイルの一覧を表示することができました。
次に、neologdnという、日本語を正規化してくれるツールを使用する準備をします。
neologdn is a Japanese text normalizer for mecab-neologd. The normalization is based on the neologd's rules: https://github.com/neologd/mecab-ipadic-neologd/wiki/Regexp.ja
neologdをインストールします。
py -m pip install neologdn
これで準備完了です。
neologdのreadmeにある例文をMATLABで実行してみましょう。
>> py.neologdn.normalize("ハンカクカナ")
ans =
Python str にはプロパティがありません。
ハンカクカナ
>> py.neologdn.normalize("全角記号!?@#")
ans =
Python str にはプロパティがありません。
全角記号!?@#
>> py.neologdn.normalize("全角記号例外「・」")
ans =
Python str にはプロパティがありません。
全角記号例外「・」
>> py.neologdn.normalize("長音短縮ウェーーーーイ")
ans =
Python str にはプロパティがありません。
長音短縮ウェーイ
>> py.neologdn.normalize("チルダ削除ウェ~∼∾〜〰~イ")
ans =
Python str にはプロパティがありません。
チルダ削除ウェイ
>> py.neologdn.normalize("いろんなハイフン˗֊‐‑‒–⁃⁻₋−")
ans =
Python str にはプロパティがありません。
いろんなハイフン-
>> py.neologdn.normalize(" PRML 副 読 本 ")
ans =
Python str にはプロパティがありません。
PRML副読本
>> py.neologdn.normalize(" Natural Language Processing ")
ans =
Python str にはプロパティがありません。
Natural Language Processing
>> py.neologdn.normalize("かわいいいいいいいいい", pyargs('repeat',6))
ans =
Python str にはプロパティがありません。
かわいいいいいい
>> py.neologdn.normalize("無駄無駄無駄無駄ァ", pyargs('repeat',1))
ans =
Python str にはプロパティがありません。
無駄ァ
>>
readmeの通りに処理できていますね。
ちなみに結果はstr型で返ってくるようです。
Text Analytics Toolboxでトークンに分ける前に、こんな感じでノーマライズできると便利そうですね。
Author And Source
この問題について(テキスト正規化用PythonライブラリをMATLABからコール), 我々は、より多くの情報をここで見つけました https://qiita.com/aoimidori/items/ab5a4383b5a7bb307bad著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .