フォーラムへの返信
-
投稿者投稿
-
ishidaキーマスター
投稿メッセージを再確認しました。
tweets_onlytext_df <- docDF(tweets_onlytext, type = 1, pos = c(“名詞”,”形容詞”,”動詞”))
で引数としてテキストが入っている列番号あるいは列名を
column = 1
などと指定してください。ishidaキーマスターうっかりしていたのですが、通常のRMeCab でUniDicが使えないでしょうか?最近、Neologd辞書に対応させていいるのですが、NoelogdとUniDicの辞書形式は同じでは無いかと思います。また、Neologd については、MacないしLinuxであれば、RMeCabから利用することできます。あるいは、UniDic-Neologd を使うことも考えられます。
辞書をインストール後、.mecabrc にデフォルトのシステム辞書としてパスを登録すれば使えるはずです。
https://rmecab.jp/new/ ページ下のNeologd の利用をご覧ください。UniDic-Neologd
https://github.com/neologd/mecab-unidic-neologd/blob/master/README.ja.mdishidaキーマスターRMeCabUniは、実はR-4以降メンテナンスを怠っているので、動かない可能性があるのですが、GitHub
からソースをダウンロードしてインストールはすること自体は可能じゃないかと思います。
ただ、ソースコードが古いままなので、ご期待に添えない可能性があります。install.packages("remotes") remotes::install_github("IshidaMotohiro/RMeCabUni")
ishidaキーマスター私も確信はないのですが、次のような処理をしてみてくれないでしょうか?
ターミナルのデフォルトの状態が Rosetta を介するようになっているため、Intel用バイナリが生成されるのかもしれません。いったんターミナルを閉じて,Finder でターミナルを選択し「情報を見る」を選ぶと、「Rosettaを使用して開く」にチェックが入っているのではないかと思うのですが、このチェックを外し、ここでターミナルを起動して uname -m と打ち込むjと、arm64 になるかどうか確認してください。
もし、arm64 と表示されているのならば、このまま mecab_0.96 のフォルダに移動し、次のようにしてください。
`
$ cd mecab-0.996
$ sudo make uninstall
$ cd ../mecab-ipadic-2.7.0-20070801
$ sudo make uninstall
$ cd ../mecab-0.996
$ make distclean
$ ./configure –with-charset=utf8
$ make
$ sudo make install
$ cd ../mecab-ipadic-2.7.0-20070801
$ make distclean
$ ./configure –with-charset=utf-8
$ make
$ sudo make install
`
もし、ターミナルのRosettaを外しても、arm64と表示されないのであれば、申し訳ないのですが、私の現在の知識では、ちょっと対応方法がわからないです。考えます。
- この返信は2年、 12ヶ月前にishidaが編集しました。
ishidaキーマスター一応、確認ですがお使いのMacはM1マックでしょうか?
左上 Apple メニュー >「この Mac について」の「チップ」欄に表示があるかと思うのですが。
ishidaキーマスターちょっと整理します。
M1 (Apple silicon arm64 ) MacOSX に M1版R R-4.1.2-arm64.pkg (https://cran.ism.ac.jp/bin/macosx/)をインストールし、開発環境は xcode-select –install のみで、HomebrewもMacPortも入っていないが、MeCabをインストールすると、M1用ではなく Intel 用になってしまう、という状況ということになるのかと思います。ちょっと、私も、なぜそうなるのか、分からないのですが、とりあえずターミナルで
g++ –version
と入力して結果を教えて頂けないでしょうか?出力のTarget という行に、普通は arm64-apple-darwin21.1.0 などと表示されるはずなのですが。- この返信は2年、 12ヶ月前にishidaが編集しました。
ishidaキーマスター調査いただきありがとうございます。
「x86_64」というのはIntel版のことです。Intel版をRosettaを介してM1 Macで動かしているということになります。
RMeCabはRのバイナリ(ライブラリ)とMeCabのバイナリ(ライブラリ)を結合して動作しますが、お使いのMacでは、MeCabのライブラリがいわゆるIntel版なのに対して、R本体のほうがArm版であるため、RMeCabが動かないのだと思われます。対処方法は、MeCab も Arm 版を入れることなのですが、そちらのMacにいま入っているMeCabをどのようにインストールされましたでしょうか?
ishidaキーマスターRがarm版のようなので、以下でmecabもarm版かをターミナルで確認してみてください。
`
lipo -archs /usr/local/bin/mecab
# or file /usr/local/bin/mecab
lipo -archs /usr/local/lib/libmecab.dylib
# or file /usr/local/lib/libmecab.dylib
`
/usr/local/bin/に該当ファイルがないようなら、以下で確認します。`
mecab-config –libs
`
以上の結果しだいなのですが、あるいはRMeCabのインストール時に typeを指定していなければ、以下のようにして入れ直してみます。
`
install.packages(“RMeCab”, repos=”https://rmecab.jp/R”, type =”source”)
`
いま頂いている情報の範囲で提案できるのは以上になります。
- この返信は2年、 12ヶ月前にishidaが編集しました。
ishidaキーマスターMeCab 本体はインストールされていますか?
ishidaキーマスター少し補足の情報を頂けますか?
RはM1用でしょうか、それともIntel用Rを、M1 Mac 上で Rosetta を通して動かしておられるでしょうか?
また、MeCab はどのようにインストールされたのでしょうか?MeCabのバイナリが
M1用なのか、Intel用なのかが気になります。さしあたり、思いつくのは、辞書が(想定の場所に)インストールされていない
MeCabのバイナリタイプが、R本体のバイナリタイプと一致していない、
などですが、いま頂いている情報では判別できません。以下なども参考になるかもしれません。
https://github.com/IshidaMotohiro/RMeCab/issues/13ishidaキーマスター回答が遅くなりまして恐縮です。
RStduio Cloud を使ったことがないのですが、このサービスを提供しているサーバに MeCab を入れないと、RMeCab は動きません。未確認なのですが、制約が多そうなサービスなので、恐らく、ユーザーが、追加でソフトウェアをサーバーにインストールすることは許可されていないのではないでしょうか?お答えにならず申し訳ないです。ちなみに「ColaboratoryでRMeCabを使う」という投稿があります。
https://qiita.com/satoru-ka/items/f47ecd43d9e69d64b0a8
このように、ユーザーがMeCabをインストールすることができれば、RMeCabも使えるようになります。ishidaキーマスター投稿ありがとうございます。
「makeでエラーがでて進めないこと」という投稿を確認できないのですが、あるいはスパム判定されているのかもしれません。探してみます、少しお待ちください。あるいは、もう一度、ご投稿くださると幸いです。
ちなみに、上の投稿をみると、Error ではなく、Warning なので、あるいはインストールそのものに影響は無いのではないかとも思います。
ishidaキーマスターそれは良かったです。
返答が遅く、ご迷惑をおかけしました。
ishidaキーマスター返信が大変遅くなって恐縮なのですが、まだ解決していないようでしたら、Rを4.1.0にアップデートした上で、
install.packages(“RMeCab”, repos = “https://rmecab.jp/R")
としてインストールできないでしょうか。
ishidaキーマスターご指摘ありがとうございました。
解決なさったようなのですが、他の方のために捕捉すると、R-4.0.0よりread.csv()
の仕様が変わって、文字列をファクターに変換するのにbstringsAsFactors = TRUE
を指定することになっています。うっかりしていました。`
okinawa <- read.csv("data/H18koe.csv", stringsAsFactors = TRUE)`
-
投稿者投稿