プロが教える店舗&オフィスのセキュリティ対策術

pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runtimeエラー)

※以下長文となりますが、ご教授いただけますと幸いです。

発生している事象について
jupiter notebookにてmecabを用いて単語の抽出をしようとしており、色々模索しております。
辞書を指定しなくても、ランタイムエラーにまります。
※単語抽出できるなら辞書にこだわりはありません。
MeCab.Tagger ("")

【やりたいこと】
最終着地点は大量にあるアンケート結果(自由記述式)の単語を抽出し
頻出頻度の高いワードをTOP10などでランキングとしてグラフにしたいです。
あわよくばワードクラウドもあわせてやれたら尚助かります。

参考にした動画サイトは複数ありますが、
当初以下の動画を参考に単語分けをしたく導入を試みました。

また、各インストール時にエラーなどは発生しておりませんが、
¥¥wsl$でエクスプローラーからやUbuntuにてfindなどでもディレクトリを探しましたが、該当のフォルダが見つ けられず。。



使用ファイルやコードはそのまま流用させていただきました。
https://analysis-navi.com/?p=3868#%E3%80%90%E7%9 …

【番外編】フリーコメント集計
【ソースコード】
2-S1_NLP_freecomment.ipynb

【ファイル】
2-S1_enquete.csv

https://www.youtube.com/watch?v=2QhGXFiFYcY


〈テスト環境〉
Python 3.9.7
mecab 0.996.3
mecab-python 1.0.0
mecab-python3 1.0.4
Windows10(64bit)
WSLとUbuntuインストール済み

Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy


■以下はランタイムエラーの失敗結果となります。

import MeCab
import ipadic

CHASEN_ARGS = r' -F "%m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n"'
CHASEN_ARGS += r' -U "%m\t%m\t%m\t%F-[0,1,2,3]\t\t\n"'
tagger = MeCab.Tagger(ipadic.MECAB_ARGS + CHASEN_ARGS)

print(tagger.parse("辞書を追加したのにうまく出力されませんでした"))


〈ランタイムエラー〉
RuntimeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_12328\2208596428.py in <module>
4 CHASEN_ARGS = r' -F "%m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n"'
5 CHASEN_ARGS += r' -U "%m\t%m\t%m\t%F-[0,1,2,3]\t\t\n"'
----> 6 tagger = MeCab.Tagger(ipadic.MECAB_ARGS + CHASEN_ARGS)
7
8 print(tagger.parse("辞書を追加したのにうまく出力されませんでした"))

~\anaconda3\lib\site-packages\MeCab.py in __init__(self, *args)
353
354 def __init__(self, *args):
--> 355 _MeCab.Tagger_swiginit(self, _MeCab.new_Tagger(*args))
356
357 def parseToString(self, str, length=0):

RuntimeError:


==================================

import MeCab
m = MeCab.Tagger ("")
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_12328\2033748556.py in <module>
1 import MeCab
----> 2 m = MeCab.Tagger ("")

~\anaconda3\lib\site-packages\MeCab.py in __init__(self, *args)
353
354 def __init__(self, *args):
--> 355 _MeCab.Tagger_swiginit(self, _MeCab.new_Tagger(*args))
356
357 def parseToString(self, str, length=0):

RuntimeError:

==================================
mecab = MeCab.Tagger ("-Ochasen")
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_12328\3058250855.py in <module>
----> 1 mecab = MeCab.Tagger ("-Ochasen")

~\anaconda3\lib\site-packages\MeCab.py in __init__(self, *args)
353
354 def __init__(self, *args):
--> 355 _MeCab.Tagger_swiginit(self, _MeCab.new_Tagger(*args))
356
357 def parseToString(self, str, length=0):

RuntimeError:

A 回答 (1件)

ちょっと古いけど下記が参考になりそう。


https://qiita.com/bwtakacy/items/191aae9376dce79 …

とりあえずPythonからはエラーの詳細が分からないようなので、mecabをコマンドラインで動かしてエラーの詳細を確認しましょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。
自己解決できました。

お礼日時:2022/12/22 13:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!