产品评论的语言检测
您将用一个名为 non_english_reviews 的小型数据集来练习语言检测。它是来自 Amazon 产品评论的非英语评论样本。
您将遍历数据集的每一行,检测该行文本的语言,并将结果追加到一个空列表中。接着需要清洗该列表,使其只包含评论的语言代码,例如将英语表示为 'en',而不是常见的输出形式 en:0.9987654。请记住,语言检测函数可能会检测到多种语言,返回列表中的第 1 个元素(索引 0)是最有可能的候选项。最后,您会把该列表赋给一个新列。
整体逻辑与幻灯片和上一个练习相同,但这次不是把函数应用到一个列表上,而是直接对数据集进行处理。
本练习是课程的一部分
Python 中的情感分析
练习说明
- 遍历
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())