标记与单词相邻的表情符号

ast*_*ler 3 python nlp nltk

我正在尝试标记具有以下两种模式的字符串:

  • 连续的表情符号,例如“嘿,”
  • 与单词相邻的表情符号,例如“惊喜!!”

为此,我尝试了( doc ) 中的word_tokenize()函数。但是,当涉及表情符号时,它不会拆分连续的实体。nltk

例如,

from nltk.tokenize import word_tokenize
word_tokenize("Hey, ")
Run Code Online (Sandbox Code Playgroud)

输出: ['Hey', ',', '']

我想得到: ['Hey', ',', '', '']

word_tokenize("surprise !!")
Run Code Online (Sandbox Code Playgroud)

输出: ['surprise', '!', '!']

我想得到 ['surprise', '', '!', '!']

因此,我在想也许使用特定的正则表达式模式可以解决问题,但我不知道使用什么模式。

hel*_*err 6

尝试使用 TweetTokenizer

from nltk.tokenize.casual import TweetTokenizer
t = TweetTokenizer()
>>> t.tokenize("Hey, ")
['Hey', ',', '', '']
Run Code Online (Sandbox Code Playgroud)