nltk.tokenize.casual and emojis
Я пытаюсь токенизировать простую строку:
Вот улыбающееся лицо:
Мой код:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from nltk.tokenize.casual import TweetTokenizer
s = u"Here is a smiling face: !"
s1 = TweetTokenizer().tokenize(s)
print (s1)
И вот что я получаю:
[u'Here', u'is', u'a', u'smiling', u'face', u':', u'\ud83d', u'\ude00', u'!']
Разве смайлик не должен возвращаться как ОДИН жетон (это из-за "узкого телосложения"?)? И как мне объединить \ud83d и \ude00 и распечатать их, чтобы я мог видеть, что результаты содержали улыбающееся лицо???
Я использую Python 2.7 и NLTK 3.0.5 на OS X Yosemite 10.10.5.
Благодарю.
0 ответов
Вы можете просто обновить свой
NLTK
и он должен работать.
# upgrade nltk
pip install nltk --upgrade
Если по-прежнему не работает, возможно, сейчас самое время переключиться на
Python3
в качестве опоры для
Python2
и связанные библиотеки не поддерживаются.