以下のような概念コードで可能です。
一つの口コミに対して複数のキーワードが複数回でたとしてもカウントは1にしたく
いずれかのキーワードを含むことが判明した場合、break
にて次の口コミへ移動するのがミソです。
ファイル読込など省略している部分はご自身で実装ください。
Python
1reviews = ['not bad.',' Excellent!', 'Wonderful and Great!','Beautiful,BeautifulBeautiful!']
2keywords= ['Excellent','Wonderful','Lovely','Great','Beautiful','Interesting']
3rev_cnt = len(reviews)
4
5kwd_cnt = 0
6for rev in reviews: # (ファイルから読込済みの)口コミリスト
7 print(rev)
8 # いずれかのキーワードを含む
9 for kwd in keywords:
10 if rev.find(~ # 口コミから(たとえば)「Excellent」を探して見つかった
11 kwd_cnt += 1 # 含む数をインクリメント
12 print('hit!')
13 break # いずれかひとつ見つかればよいので次の口コミへ
14
15print( '総口コミ数:{}、キーワード含む数:{}、比率:{:.2f}'.format( rev_cnt, kwd_cnt, kwd_cnt/rev_cnt))
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。