前提・実現したいこと
下記のリンクのサイトを参考にして感情分析をしようとしていますが、
python
1df['words'] = df[].apply(mecab_analysis)
の部分で以下のようなエラーが出ます。
発生している問題・エラーメッセージ
SyntaxError: invalid syntax
・コードはサイトとほぼ同じ
・txtファイルを使用
・google colabで実行
該当のソースコード
python
1#これより前は参考にしたサイトと同じ 2 3#@title 形態素解析(一般名詞・動詞:基礎型・形容詞:基礎型)&カンマ・スペース区切りをデータフレームに格納 4#形態素解析(一般名詞・動詞・形容詞(動詞と形容詞は基礎型)を抽出対象とした) 5#スペース区切り分かち書き 6def mecab_analysis(text): 7 8 t = MeCab.Tagger('-Ochasen') 9 10 node = t.parseToNode(text) 11 12 words = [] 13 14 while node: 15 if node.surface != "": # ヘッダとフッタを除外 16 17 word_type = node.feature.split(',')[0] 18 sub_type = node.feature.split(',')[1] 19 features_ = node.feature.split(',') 20 21 #品詞を選択 22 if word_type in ["名詞"]: 23# if sub_type in ['一般']: 24 word = node.surface 25 words.append(word) 26 27 #動詞、形容詞[基礎型]を抽出(名詞のみを抽出したい場合は以下コードを除く) 28 elif word_type in ['動詞','形容詞'] and not (features_[6] in stop_words): 29 words.append(features_[6]) 30 31 node = node.next 32 33 if node is None: 34 break 35 36 return " ".join(words) 37 38#カンマ区切り分かち書き 39def mecab_analysis2(text): 40 41 t = MeCab.Tagger('-Ochasen') 42 43 node = t.parseToNode(text) 44 45 words2 = [] 46 47 while(node): 48 49 if node.surface != "": # ヘッダとフッタを除外 50 word_type = node.feature.split(',')[0] 51 sub_type = node.feature.split(',')[1] 52 features_ = node.feature.split(',') 53 54 if word_type in ['名詞']: #名詞をリストに追加する 55# if sub_type in ['一般']: 56 words2.append(node.surface) 57 58 #動詞、形容詞[基礎型]を抽出(名詞のみを抽出したい場合は以下コードを除く) 59 elif word_type in ['動詞','形容詞'] and not (features_[6] in stop_words): 60 words2.append(features_[6]) 61 62 node = node.next 63 if node is None: 64 break 65 return words2 66 67#形態素結果をリスト化し、データフレームdf1に結果を列追加する 68df['words'] = df[].apply(mecab_analysis) 69df['words2'] = df[].apply(mecab_analysis2) 70 71#表示 72df
初学者でどこを直せばよいかわからず右往左往しております。ご教授のほどよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー