将消息拆分为单个单词的词袋方法

bag-of-words approach to split message into its individual words

我正在尝试将消息拆分成单独的单词,并尝试标记这些消息。

def split_into_tokens(message):
    message = unicode(message, 'utf8')  # convert bytes into proper unicode
    return TextBlob(message).words

messages.message.head().apply(split_into_tokens)

if show nameError: name "unicode" is not defined

  <ipython-input-16-98e123c365b4> in <module>()
----> 1 messages.title.head().apply(split_into_tokens)

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py in 
apply(self, func, convert_dtype, args, **kwds)
  3192             else:
  3193                 values = self.astype(object).values
->3194                 mapped = lib.map_infer(values, f, 
convert=convert_dtype)
   3195 
   3196         if len(mapped) and isinstance(mapped[0], Series):

pandas/_libs/src\inference.pyx in pandas._libs.lib.map_infer()

<ipython-input-14-281c1d080655> in split_into_tokens(title)
      1 def split_into_tokens(title):
----> 2 title = unicode(title, utf8)  # convert bytes into proper 
      unicode
      3     return TextBlob(title).words

NameError: name 'unicode' is not defined

最后它显示 unicode 未定义,我试图更改 python 版本也仍然是同样的问题。我是否需要在 python 插件目录中用 str 替换 unicode?

我假设您使用的是 python 3,所以只需尝试删除行 message = unicode(message, 'utf8') – 您的 message 变量可能已经是一个 unicode 字符串。如果不是,那么它可能是一个 bytes 对象,在这种情况下,将其转换为 python 3 下的 unicode 字符串的正确方法是 message.decode('utf8')。如果您想了解更多信息,请参阅 https://docs.python.org/3/howto/unicode.html