前提・実現したいこと
共起ネットワーク作成の前処理として、
CSV形式、Excel形式のファイル(Twitterより取得)に対し、形態素分析をし、
リスト(行・列あり)形式の単語リストを作成したいと考えております。
あれこれ検索しましたが、前処理工程が省かれていたり、1冊の書籍文章に対し形態素分析をかけていたりと、
csv/Excel形式のファイルの処理の参考になるものがなかなか見つからず、
最終的に、以前ワードクラウド作成時に活用した形態素分析のコード(★以下)が使えないか模索しております。
(なお、Google ColaboratoryでPythonを使っております。)
発生している問題・エラーメッセージ
以下が参考にしている、ワードクラウド作成時に使った形態素分析のコードです。
ワードクラウド用であるため、1行になってアウトプットされてしまいます。
行と列のある、リストとしてアウトプットしたいのですが、私の勉強不足ゆえにできずに困っております。
大変恐縮ではございますが、お力添えいただけますと幸いです。
<アウトプットイメージ(欲しいもの:行/列に整理)>
天
この世,天,働き,心,万物,天地,位,妨げ,安楽,上下,自由自在,身,衣食住,みな,趣意,物,賤
下人,人間,有様,世界,相違
次第,明らか
智,語,実,教,愚人
<アウトプットイメージ(下記のワードクラウド前処理用コード利用時:1行)>
天, この世 天 働き 心 万物 天地 位 妨げ 安楽 上下 自由自在 身 衣食住 みな 趣意 物 賤,下人 人間 有様 世界 相違,次第 明らか, 智 語 実 教 愚人
該当のソースコード
Python
1 2#形態素分析ライブラリ(janome)をインストール 3!pip install janome 4 5#形態素分析 6from janome.tokenizer import Tokenizer 7text_file = open("Twitter_キーワード「XXX」.csv") 8full_text = text_file.read() 9full_text = full_text.replace("\n","") 10 11t = Tokenizer() 12tokens = t.tokenize(full_text) 13 14#分析結果から助詞、助動詞、記号を抜いたワードリスト作成 15word_list = [] 16for token in tokens: 17 word = token.surface 18 partOfSpeech = token.part_of_speech.split(',')[0] 19 partOfSpeech2 = token.part_of_speech.split(',')[1] 20 if (partOfSpeech == "名詞") or (partOfSpeech == "形容詞") : 21 if (partOfSpeech != "記号"): 22 if (partOfSpeech2 != "非自立") and (partOfSpeech2 != "代名詞") and (partOfSpeech2 != "数"): 23 word_list.append(word) 24words_XXX=" ".join(word_list) 25print(words_xxx) 26
試したこと
・「full_text = full_text.replace("\n","")」が1行になってしまう要因かと思って削除したのですが、結果は変わりませんでした。
・自分なりに「forin」構文を使ってみたのですが、上手くいきませんでした(使い方が間違っていると思われます)。
補足情報(FW/ツールのバージョンなど)
Google ColaboratoryでPythonを使っております。
回答1件
あなたの回答
tips
プレビュー