商品のレビューの言語検出
小さなデータセットnon_english_reviewsで言語検出を練習します。これはAmazonの商品のレビューから、英語以外のレビューを抜き出したサンプルです。
データセットの各行を反復し、それぞれの行の言語を検出して空のリストに追加していきます。そのリストは、通常の出力en:0.9987654ではなく、英語なら'en'のように言語コードだけが含まれるようにクレンジングする必要があります。言語検出関数は複数の言語を検出することがあり、返されるリストの最初の要素が最も可能性の高い候補であることを覚えておいてください。最後に、そのリストを新しい列に代入します。
ロジックはスライドや直前の演習と同じですが、関数をリストに適用するのではなく、データセットに対して行います。
この演習はコースの一部です
Pythonで学ぶSentiment Analysis
演習の手順
non_english_reviewsデータセットの行を反復処理します。- ループ内で、データセットの2番目の列の言語を検出します。
- リスト内包表記の中で、
:で分割して文字列をクレンジングします。 - 最後に、クレンジング後のリストを新しい列に代入します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from langdetect import detect_langs
languages = []
# Loop over the rows of the dataset and append
for row in ____(____(non_english_reviews)):
languages.append(____(non_english_reviews.iloc[row, 1]))
# Clean the list by splitting
languages = [str(lang).____(':')[0][1:] for lang in languages]
# Assign the list to a new feature
non_english_reviews['language'] = ____
print(non_english_reviews.head())