nltk.TweetTokenizer 与 nltk.word_tokenize 有何不同?

2023-12-26

我无法理解两者之间的区别。不过,我知道 word_tokenize 使用 Penn-Treebank 来进行标记化。但 TweetTokenizer 上没有任何可用的内容。对于哪种类型的数据,我应该使用 TweetTokenizer 而不是 word_tokenize?


嗯,两个分词器的工作方式几乎相同,将给定的句子拆分为单词。但你可以想到TweetTokenizer作为一个子集word_tokenize. TweetTokenizer保持主题标签完整,同时word_tokenize没有。

我希望下面的例子能够消除您所有的疑虑......

from nltk.tokenize import TweetTokenizer
from nltk.tokenize import  word_tokenize
tt = TweetTokenizer()
tweet = "This is a cooool #dummysmiley: :-) :-P <3 and some arrows < > -> <-- @remy: This is waaaaayyyy too much for you!!!!!!"
print(tt.tokenize(tweet))
print(word_tokenize(tweet))

# output
# ['This', 'is', 'a', 'cooool', '#dummysmiley', ':', ':-)', ':-P', '<3', 'and', 'some', 'arrows', '<', '>', '->', '<--', '@remy', ':', 'This', 'is', 'waaaaayyyy', 'too', 'much', 'for', 'you', '!', '!', '!']
# ['This', 'is', 'a', 'cooool', '#', 'dummysmiley', ':', ':', '-', ')', ':', '-P', '<', '3', 'and', 'some', 'arrows', '<', '>', '-', '>', '<', '--', '@', 'remy', ':', 'This', 'is', 'waaaaayyyy', 'too', 'much', 'for', 'you', '!', '!', '!', '!', '!', '!']

你可以看到word_tokenize已经分裂#dummysmiley as '#' and 'dummysmiley',而 TweetTokenizer 没有,因为'#dummysmiley'. TweetTokenizer主要是为了分析推文而构建的。 您可以从中了解有关分词器的更多信息link https://chendianblog.wordpress.com/2016/11/25/different-types-of-tokenizers-in-nltk/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nltk.TweetTokenizer 与 nltk.word_tokenize 有何不同? 的相关文章

随机推荐

  • dpkg:处理存档时出错(安装 Nodejs 时)

    安装nodejs时出现这个错误 https i stack imgur com JMRiT jpg https i stack imgur com JMRiT jpg https i stack imgur com JMRiT jpg 我正
  • 通过 JupyterLab 的链接在当前工作区中打开笔记本

    我需要使用 降价 链接从另一个笔记本打开一个笔记本 但我不想在另一个浏览器选项卡中打开链接的笔记本 相反 它应该在当前的 JupyterLab 工作区 会话中打开 I tried http localhost 8888 lab tree p
  • 精确匹配字符串

    仅当文本完全匹配时才匹配的正则表达式 如果重要的话 在 JavaScript 中 是什么 也就是说 字符串的另一端不应有多余的字符 例如 如果我想匹配abc then 1abc1 1abc and abc1不会匹配 使用开始和结束分隔符 a
  • 无法使 C++ Boost 指针序列化工作

    此问题与重复列出的问题不同 Boost C 序列化 char https stackoverflow com questions 5094750 boost c serializing a char我没有使用shared ptr 并且我可以
  • 在 bash 脚本中使用 ssh 密钥

    我已经设置了从服务器 A 到服务器 B 的 ssh 密钥 并且无需密码即可登录服务器 B 我正在尝试在 bash 脚本中设置反向 ssh 隧道 如果我这样做的话 从命令行 ssh N R 1234 localhost 22 email pr
  • 如何修复npm审计报告

    当我运行 npmaudit 命令时 npm 审计安全报告 Manual Review Some vulnerabilities require your attention to resolve Visit https go npm me
  • .net 文化特定的 12/24 小时格式

    有没有办法保留文化特定的日期时间格式 但强制 12 24 小时渲染 我知道我可以使用实际的日期 时间格式字符串做很多事情 例如HH mm ss and hh mm ss但我想尊重当前的用户文化格式 即mm dd yyyy or yyyy m
  • 图像渲染测试

    我正在对自定义浏览器进行基准测试 并希望对相同文件大小的不同类型图像 gif jpg png 的渲染速度进行基准测试 以了解该浏览器渲染哪种图像格式最快 我的过程只是为每种类型的图像创建一个简单的单独 HTML 页面 并在渲染之前和之后使用
  • 将 EJB 转换为 JSON Web 服务

    我已将 EJB 3 1 转变为 Web 服务 现在我需要创建 JSON Web 服务来与 JavaScript 组件进行通信 JavaScri t 组件将使用 JSON 版本的接口与系统通信并获取所需的数据 由于性能原因 我不能使用 XML
  • 自定义 Java 类加载器未用于加载依赖项?

    我一直在尝试设置一个自定义类加载器来拦截类以打印出哪些类正在加载到应用程序中 类加载器看起来像这样 public class MyClassLoader extends ClassLoader Override public Class
  • $同时观察多个属性并仅触发一次回调

    我想知道在评估指令的所有 或仅某些 属性 没有隔离范围 后是否可以仅执行一次回调 属性非常适合将配置传递给指令 问题是您可以单独观察每个属性并多次触发回调 在示例中 我们有一个没有隔离范围的指令 它观察两个属性 名称和姓氏 任何更改后act
  • 在 java 中使用 REST API 创建新的“JIRA 问题”

    嘿伙计们 我真的很难解决这个问题 我想通过 REST API 使用 java 创建新的 JIRA 问题 但我看到的每个示例都不完整或不适合我 如下所示 如何使用 java rest api 在 jira 中创建问题 https stacko
  • 使用循环打印 PHP 数组

    如果我知道数组的长度 如何在循环中打印它的每个值 array array Jonathan Sampson foreach array as value print value or length count array for i 0 i
  • javafx : javafx.scene.layout.AnchorPane 无法转换为 javafx.scene.layout.BorderPane

    大家好 我了解 javafx 我正在尝试将 BorderPane 转换为 anchronPane 同时发生错误 我不知道该怎么办 我正在遵循教程 所以请帮助 import java io IOException import javafx
  • 如何在模板工具包中获取随机数?

    我想使用模板工具包获得一个随机数 它不必特别随机 我该怎么做 嗯 如果您没有 或无法导入 Slash Test 您可能会遇到问题 从 TT 的 vanilla 安装中 您可以简单地使用 Math 插件 USE Math GET Math r
  • 已删除的图片在图库中仍然可见

    我这里有一个小问题 在我的应用程序中 我让用户从图库中选择一张图片 在做其他事情之前我会保存它的路径 当用户选择他想要的图片时 我希望将其复制到其他文件夹中 然后从原始文件夹中删除 嗯 它确实有效 原始图片将被删除 副本将出现在其他文件夹中
  • 将修订与 Redmine 问题相关联

    有没有办法手动将修订 提交与Redmine问题关联起来 通常 我们通过使用正确的提交消息格式来做到这一点 在我们的例子中为 Resolves 但我忘记了它并使用了不同的消息 我现在无权更改提交消息 即使我愿意 我仍然无法删除Redmine的
  • 将数据帧多列中出现的数字替换为 R 中的另一个值

    ETA 顺便说一句 下面的要点是不必迭代我的整个列向量集 以防万一这是一个建议的解决方案 只需执行一次已知有效的操作 有很多替换值的例子singleR 中具有其他值的数据帧的向量 根据条件替换数据框中的值 if R 中的语句 https s
  • Firebase 规则仅允许 Android Studio 中的一项更新

    I m creating an android studio voting application It is using recyclerview to render candidates information from the dat
  • nltk.TweetTokenizer 与 nltk.word_tokenize 有何不同?

    我无法理解两者之间的区别 不过 我知道 word tokenize 使用 Penn Treebank 来进行标记化 但 TweetTokenizer 上没有任何可用的内容 对于哪种类型的数据 我应该使用 TweetTokenizer 而不是