美好的一天,
我有一个功能,应该能够降低和标记文本并返回令牌。以下是以下功能:
def preprocess_text(text):
""" A function to lower and tokenize text data """
# Lower the text
lower_text = text.lower()
# tokenize the text into a list of words
tokens = nltk.tokenize.word_tokenize(lower_text)
return tokens
然后,我希望将该函数应用于我的实际文本数据data
,这是一个包含字符串的列表。我想迭代data
中的每个字符串并应用该函数来降低和标记化文本数据。
最后,我希望将标记化的单词附加到名为tokenized_final
的最终列表中,该列表应该是包含标记化单词的最终列表。以下是下面的代码:
# Final list with tokenized words
tokenized_final = []
# Iterating over each string in data
for x in data:
# Calliing preprocess text function
token = preprocess_text(x)
tokenized_final.append(token)
但是,当我做这一切并打印列表tokenized_final
。它输出一个包含列表的大列表。
print (tokeninized_final)
Output:
[['pfe', 'bulls', 'have', 'reasons', 'on'],
['to', 'pay', 'more', 'attention'],
['there', 'is', 'still']]
当我想要的tokenized_final
输出在一个列表中是这样的:
['pfe', 'bulls', 'have', 'reasons', 'on','to', 'pay','more', 'attention','there','is', 'still']
有没有办法纠正预处理功能并将其应用于数据以获得所需的输出。或者有什么方法可以做到这一点吗?......在这里真的很感激帮助。提前致谢
您只需要展平结果列表:
# Final list with tokenized words
tokenized_final = []
# Iterating over each string in data
for x in data:
# Calliing preprocess text function
token = preprocess_text(x)
tokenized_final.append(token)
flattened_tokeninized_final = [i for j in tokeninized_final for i in j]