首页 > 解决方案 > Sk Learn CountVectorizer:将表情符号保持为单词

问题描述

CountVectorizer在字符串上使用 Sk Learn,但CountVectorizer丢弃了文本中的所有表情符号。

例如, Welcome应该给我们:["\xf0\x9f\x91\x8b", "welcome"]

但是,运行时:

vect = CountVectorizer()
test.fit_transform([' Welcome'])

我只得到:["welcome"]

这与token_patternwhich 不将编码的 emoji 视为一个单词有关,但是有token_pattern处理 emoji 的习惯吗?

标签: pythonscikit-learnnlpcountvectorizer

解决方案


还有一些软件包可以直接将表情符号/表情符号转换为单词,例如

import emot
>>> text = "I love python  :-)"
>>> emot.emoji(text)
[{'value': '', 'mean': ':man:', 'location': [14, 14], 'flag': True}]

>> import emoji
>> print(emoji.demojize('Python is '))
Python is :thumbs_up:

推荐阅读