Sir*_* Li 5 python tokenize nltk
我正在尝试使用“ nltk.word_tokenize()”函数来标记我的文本,但它会拆分由“ _”连接的单词。
例如,文本“ A,_B_C! is a movie!”将被拆分为:
['a', ',', '_b_c', '!', 'is','a','movie','!']
我想要的结果是:
['a,_b_c!', 'is', 'a', 'movie', '!']
我的代码:
['a', ',', '_b_c', '!', 'is','a','movie','!']
任何帮助,将不胜感激!
您可以先使用空格将其分割,然后word_tokenize在每个单词上使用来处理标点符号
[word for sublist in [word_tokenize(x) if '_' not in x else [x] 
                       for x in text.lower().split()] for word in sublist] 
输出
['a,_b_c!', 'is', 'a', 'movie', '!']
l = [word_tokenize(x) if '_' not in x else [x]  for x in text.lower().split()]word_tokenize将返回仅在不具有 的单词上运行的列表列表_。
[word for sublist in l for word in sublist]部分是将列表列表扁平化为单个列表。