python - 在 Python 中将 unicode 表情符号转换为 ascii 表情符号

标签 python unicode nlp emoji emoticons

有没有办法在 Python 中将 unicode 表情符号转换为适当的 ascii 表情符号?我知道 emoji library可用于将 unicode 表情符号转换为类似 :crying_face: 的东西。但我需要的是将其转换为 :'(

有没有一种优雅的方法可以做到这一点而不必手动翻译每个可能的表情符号?另一种选择是将 ascii 表情符号也转换为它们的文本表示,即 :'( 应该变成 :crying_face:。

我的中间目标是找到一种将 ascii 和 unicode 表情符号转换为通用表示的方法。我的最终目标是用它们代表的情感替换表情符号(无论是 unicode 还是 ascii)(如果它们不代表情感,则将其删除)

最佳答案

我发现这些 repos 有一个巨大的表情符号数据库以及一个 text 属性(你需要的):

https://github.com/alexmick/emoji-data-python

https://github.com/iamcal/emoji-data (这是原来的,python的好像是对这个的包装)

您可以通过浏览存储库中的示例来了解更多信息。来自 对于 python 版本,您可以使用官方的 unicode 名称/十六进制代码来获取 EmojiChar 对象:

In [31]: grin = emoji_data_python.find_by_name("GRINNING FACE")

In [32]: grin
Out[32]:
[EmojiChar("GRINNING FACE"),
 EmojiChar("GRINNING FACE WITH SMILING EYES"),
 EmojiChar("GRINNING FACE WITH STAR EYES"),
 EmojiChar("GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE")]

In [33]: grin[0].text
Out[33]: ':D'

关于python - 在 Python 中将 unicode 表情符号转换为 ascii 表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52154875/

相关文章:

php - 有什么方法可以使用编码 UTF-8 而不是 Unicode 返回 PHP `json_encode`?

Java Unicode 字符显示框而不是 Runic 字母

python-3.x - 按下 "Ctrl+C"时 python 回显服务器的 Unicode 错误

python - 关于在 gensim 中如何实现 tf-idf 模型的一些困惑

machine-learning - NLP/机器学习文本比较

nlp - 如何从 NLTK 中的文本中提取关系

python - 使用 Python 3 列表卡住

python - 快速检测或模拟 WSAECONNREFUSED

python - 如何使用 ctypes 将 byteArray 传递给以 char* 作为参数的 C 函数?

python - 使用 Beautiful Soup 将 CSS 属性转换为单个 HTML 属性?