フォーラムへの返信
-
投稿者投稿
-
ishidaキーマスター
お返事が遅くなりました。
RMeCabが英文に対応しているということではなく、
MeCabの方で、英語のテキストを正しく単語に分割
できれば、それをRのデータとして保存できるという
ことです。MeCabには、英文のレンマ化などの機能は
なく(動詞などの活用形はすべて別の語として扱われる)、
かつ品詞も推定できませんので、その点は制約になり
ます。
が、表層語がカウントできれば良いということであれば、
問題ないと思います。ishidaキーマスターWindows版MeCabはインストールされていますか?
ishidaキーマスターご指摘の通りで、修正されていませんでした。
当初、投稿しているファイルを間違えたものと
思っておりましたが、そうではなく、サイトに
登録しているファイルを列記した PACKAGES と
いう設定ファイルの内容が更新されていないの
が原因でした。とても助かりました。ありがとうございます。
ishidaキーマスターありがとうございます。
ファイルを間違えていたようです。アップし直しました。
ご存知かも知れませんが、ソースはGitHubにもあげていますので、
Mac/Linuxであれば、以下でインストールできると思います。https://github.com/IshidaMotohiro/RMeCab
install.packages("devtools") devtools::install_github("IshidaMotohiro/RMeCab")
- この返信は4年、 11ヶ月前にishidaが編集しました。
ishidaキーマスターエラーメッセージにあるとおり、Windowsでは解釈できない文字がファイル内に混入しているのだと思います。
ファイルの中に、そのOSでは読めない文字があれば、特定する関数がRにあったと思うのですが、残念ながら、いま、思い出せません。
多少手間ですが、ファイルを部分に分けて読み込むなどして、問題になっている文字を特定し、削除して構わないものであれば削除するなどの対処が必要かと思います。
あるいは、Rのiconv() で文字コードを CP932に変換する処理を行えば、その種の文字は?に置き換わってしまいます。また、Macが使えるのであれば、Macで実行してみるのも方法かと思います。ishidaキーマスターit seems that RMeCabUni’s binary files must be rebuilt for R 3.*.
Please wait for a moment- この返信は4年、 11ヶ月前にishidaが編集しました。
ishidaキーマスター解析時に「品詞細分類」を指定する機能は付けていないです。
また、出力をデータフレームにするのであれば、docDF() を使ってください。
http://rmecab.jp/wiki/index.php?RMeCabFunctions#icae4377
試される場合は、最新版1.04で利用メモリを拡張しているので、RMeCabを再インストールしてください。なお、以下のようにして、ファイルごとに対象の品詞だけを抽出して、データフレームとして結合していくことも可能かなとは思います。
files <- list.files("~/data/doc", full.names = TRUE, pattern = "txt") library(tidyverse) Z <- files %>% map_df(~{ file_n <- . x <-RMeCabText(file_n) map2_df(x, file_n, { ~ if(.x[2] %in% c( "名詞", "動詞") & !(.x[3] %in% c("固有名詞", "サ変動詞"))) tibble(F = file_n, X = .x[1], Y = .x[2]) })})
ここからファイルごとに出現単語の頻度を(品詞の区別を無視して)数える場合は以下のようにします。
Z %>% count(F, X)
ishidaキーマスター応急処置をしておいたので、インストールはできると思います
ishidaキーマスターたびたびお手数おかけして恐縮です。
ソースの位置指定のミスが残っていました。修正しましたが、
手もとのMac/Linuxで実行すると、コンパイルエラーが起こります。
原因は特定できていますので、早めに修正したいと思います。
修正できたら、ここに報告させていただきます。ishidaキーマスターRMeCabUni ですが、R-3.6.0> ではソースをダウンロードできない状態でした。
修正しましたので、今はインストールできると思います。ただ、RMeCabUni については、コードを見直しと修正を行いたいと考えている
のですが、なかなか時間を見つけることができないでいます。現状、ベータ版
と考えていただければと思います。ishidaキーマスター以下のコードをWindowsのRで実行してプロットに日本語が表示されますか?
source("http://rmecab.jp/R/Aozora.R") x <- Aozora("http://www.aozora.gr.jp/cards/000081/files/43754_ruby_17594.zip") library(RMeCab) z <- docDF(x, type = 1) library(wordcloud) wordcloud(z$TERM, z$chumonno_oi_ryoriten2.txt)
- この返信は5年、 9ヶ月前にishidaが編集しました。
ishidaキーマスター石田です。
まず質問1ですが、対象テキストの中身の詳細がわからないのでなんと言えませんが、
「本」という文字が問題なのではなく、その前後におそらくは絵文字の類がはいっているのではないかと思います。windows-1252と判定されるのは、detectEndoding()が正しく判定できていないからです。一番簡単なのは、Windows上のエディタで開いて、明示的にShift-Jisを指定して保存し直すことです。ここ場合、特殊文字は?に置換されます。
もしも、絵文字も分析上、重要となると、ファイルをUTF-8で保存し、Rで読み込んだ際、特殊文字をUnicodeあるいはバイナリ表示に変えて利用することです。
Windowsでは以下のようにすれば、特殊文字だけ16進コードに置き換えられます。x <- readLines("file") for( s in x) { iconv(s, from = "UTF-8", to = "CP932", sub = "byte") write(s, file = "converted", append = TRUE) }
質問2についても、こちらもWindows上では特に設定なくひらがな感じが表示されるはずなのですが、
一応、ユーザーホームに .Rprofileを作成することを試してください。ちなみに以下を実行すると、自動的に作成してくれます。
source("http://rmecab.jp/R/Rprofile.R")
ishidaキーマスター返信が遅れまして申し訳ないです。
RMeCabの次のバージョンで修正したいと思いますが、
とりあえずは実行時に以下のようにして、関数定義を修正していただければと思います、trace(docMatrixDF, edit = TRUE)
実行すると別ウィンドウが開きますので、修正すべき箇所を書き直して、ウィンドウを閉じますと、以降、修正された処理が実行されます。
- この返信は5年、 10ヶ月前にishidaが編集しました。
ishidaキーマスター日本語ユーザー名でログインしておられませんか?
その場合、C:\User\石田\Documents\R\win-library にパッケージをインストールしようとして、
日本語のフォルダ名を解釈できずエラーになっているのだと思います
(まだ、こういうエラーが生じることにちょっと驚きました)。別の場所にインストールするように設定するか、あるいはユーザ名を変更するしかないと思われます。
ライブラリのインストール先を変更する手順は、例えば以下のサイトなどの情報を参考にしてください。ishidaキーマスターお尋ねの件ですが、他のパッケージもインストールできないということはありませんか?
試しに以下を実行してみてください。install.packages("ggplot2")
-
投稿者投稿