本文主要记录了将中文字符串转换为list的过程,其中我们使用了keras preprocessing中的text_to_word_sequence方法。这个方法是完全适配中文的。需要注意的是,中文语料一般字符之间是没有空格分割的,这与英文是不同的。如下所示,如果我们直接进行转换,由于没有空格分词,会将字符串默认为一个字符。
from tensorflow.keras.preprocessing.text import text_to_word_sequence
text = '我是人'
token = text_to_word_sequence(text)
print(token)
print(type(token))
print(token[0])
运行结果如下 :
['我是人']
<class 'list'>
我是人
要解决这个问题,我们只需要在转换之前首先在每个中文字符后加上一个空格进行分割就可以。
from tensorflow.keras.preprocessing.text import text_to_word_sequence
text = '我是人'
# 使用join方法在每个中文字符后加入空格
text = ' '.join(text)
token_h = text_to_word_sequence(text)
print(token_h)
print(type(token_h))
print(token_h[0])
这样我们就可以将’我是人’三个字组成的字符串转换为一个有三个元素的list了。
输出结果如下 :
['我', '是', '人']
<class 'list'>
我