mecabを利用して、文章のスコア化にトライしております。
複数の文章をfor文を利用してスコア化したいのですが、上手く処理できずにおります。。。
# 一つの文章のスコア化は下記で実行可能 sentence = '本日は晴天なり' mecab = tagger.parse(sentence) word_score_list = [] for word in mecab: if word[0] in npjp_dic: np_score = npjp_dic[word[0]] word_score_list.append(np_score) # 個々の単語のスコアをリストに格納 else: np_score = 0 word_score_list.append(np_score) sentence_score = sum(word_score_list) # 個々の単語のスコアの合計を算出 print('スコア合計: '+str(sentence_score))
# dataframeに格納してある500個の文章を取り出す sentences = df['sentence'] # 前述のスコア化処理を500個実行させたい word_score_list = [] for sentence in sentences: mecab = tagger.parse(sentence) for word in mecab: if word[0] in npjp_dic: np_score = npjp_dic[word[0]] word_score_list.append(np_score) else: np_score = 0 word_score_list.append(np_score) sentence_score = sum(word_score_list) print('スコア合計: '+str(sentence_score)) # この記載方法だと、リストに格納された前の文章のスコアも加算されてしまう。。。。
合計スコアの算出方法が上記のやり方以外に思い浮かばなかったのですが、
他の方法も含めて、解決策についてご教示いただけましたら幸甚です。
pythonの構文の初歩的な質問かとは存じますが、何卒よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/14 12:58
2019/12/14 13:08