问题描述
tokenizer = Tokenizer(split='[.!?]') #create a token based on sentences
tokenizer.fit_on_texts(df['Cleaned'].values)
X_data = tokenizer.texts_to_sequences(df['Cleaned'].values)
X_sequ = pad_sequences(X_data)
我得到了带有空格的令牌列表,比如blow #让我们看看前 10 个文本序列
list(tokenizer.word_index)[:10]
输出如下
[' rnfbdhl yis',' oromoon bilisoomsiteeti jirti',' namni oromummaa isaatiin mataa gadi qabtee deemu hin jiru yeroo ammaa tanatti']
解决方法
您可以在 python 中使用 re 尝试正则表达式。就这样吧,脱字符号告诉我们字符串的开头,美元是字符串的结尾,\s+ 表示一个或多个空格。所以正则表达式意味着,用''(无)替换字符串开头或结尾的每个空格(一个或多个)。如果它对您有用,请告诉我。
import re
[re.sub(r'^\s+|\s+$','',item) for item in list(tokenizer.word_index)]
使用给定的字符串:
x = [' rnfbdhl yis',' oromoon bilisoomsiteeti jirti',' namni oromummaa isaatiin mataa gadi qabtee deemu hin jiru yeroo ammaa tanatti']
输出:
[re.sub(r'^\s+|\s+$',item) for item in x]
['rnfbdhl yis','oromoon bilisoomsiteeti jirti','namni oromummaa isaatiin mataa gadi qabtee deemu hin jiru yeroo ammaa tanatti']