在 text2vec R 包中准备词嵌入

2024-03-25

基于text2vec包的小插图,提供了一个创建词嵌入的示例。对wiki数据进行标记,然后创建术语共现矩阵(TCM),该矩阵用于使用包中提供的glove函数创建词嵌入。 我想为包中提供的电影评论数据构建词嵌入。我的问题是:

  1. 我是否需要将所有电影评论折叠成一长串,然后进行标记化。

这将导致 2 个评论之间的边界标记同时出现,这是没有意义的。

**vignettes code:**
library(text2vec)
library(readr)
temp <- tempfile()
download.file('http://mattmahoney.net/dc/text8.zip', temp)
wiki <- read_lines(unz(temp, "text8"))
unlink(temp)
# Create iterator over tokens
tokens <- strsplit(wiki, split = " ", fixed = T)
# Create vocabulary. Terms will be unigrams (simple words).
vocab <- create_vocabulary(itoken(tokens))
vocab <- prune_vocabulary(vocab, term_count_min = 5L)
# We provide an iterator to create_vocab_corpus function
it <- itoken(tokens)
# Use our filtered vocabulary
vectorizer <- vocab_vectorizer(vocab, 
                               # don't vectorize input
                               grow_dtm = FALSE, 
                               # use window of 5 for context words
                               skip_grams_window = 5L)
tcm <- create_tcm(it, vectorizer)
fit <- glove(tcm = tcm,
             word_vectors_size = 50,
             x_max = 10, learning_rate = 0.2,
             num_iters = 15)

我有兴趣开发词嵌入的数据可以通过以下方式获得:

library(text2vec)
data("movie_review")

不,您不需要串联评论。你只需要构建tcm来自令牌上的正确迭代器:

library(text2vec)
data("movie_review")
tokens = movie_review$review %>% tolower %>%  word_tokenizer
it = itoken(tokens)
# create vocabulary
v = create_vocabulary(it) %>% 
  prune_vocabulary(term_count_min = 5)
# create co-occurrence vectorizer
vectorizer = vocab_vectorizer(v, grow_dtm = F, skip_grams_window = 5)

现在我们需要重新初始化(对于稳定的0.3版本。对于dev 0.4不需要重新初始化迭代器):

it = itoken(tokens)
tcm = create_tcm(it, vectorizer)

适配型号:

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

在 text2vec R 包中准备词嵌入 的相关文章

随机推荐

  • TensorFlow 优化器中的 _get_hyper 和 _set_hyper 是什么?

    我看到它在 init 例如Adam https github com tensorflow tensorflow blob r2 2 tensorflow python keras optimizer v2 adam py L145优化器
  • 如何在 Jetpack Compose 中使用 Coil 制作缩写图标

    所以我使用 Coil 库进行图像处理 我注意到在占位符中它只需要一个 int 但是 如果用户没有头像或出现任何错误显示缩写 我想显示缩写 如下图所示 问题是 我是 jetpack compose 的新手 不确定如何实现这一目标 请参阅下面的
  • 当操作系统只是进程之一时,抢占式多任务处理如何工作?

    我现在正在阅读有关先发制人的多任务处理的材料 但我忘记了一件事 所有材料都暗示 操作系统以某种方式从 外部 中断了CPU上正在运行的进程 从而导致了上下文切换等 然而 我无法想象当操作系统的内核只是 CPU 上的另一个进程时 这将如何工作
  • 在 IE 中 XML 未通过响应对象正确发送到客户端

    我有一个上传控件 它从客户端调用处理程序 并将 xml 字符串发送回客户端 下面的代码在 Chrome 中工作正常 但在 IE 中将奇怪的 xml 发送回客户端 处理程序代码 public void ProcessRequest HttpC
  • 使用类似字典的结构访问 Pandas 数据框中的嵌套元素

    我有一个数据框如下 In 19 data frame Out 19 id hero 0 55c97138e5fecec26959f3b0 u info u id u 0001 u name u superman 为了过滤掉条目的名称字段 我
  • 分发 .pyc 文件有哪些限制?

    我已经开始使用 Python 开发商业应用程序 并且正在权衡如何分发该应用程序的选择 除了显而易见的 使用适当的商业许可证分发源代码 之外 我正在考虑仅分发 pyc文件没有对应的 py来源 但我对 Python 的兼容性保证还不够熟悉 不知
  • 如何设置事件的EventTarget

    如何设置事件目标 https developer mozilla org en docs Web API EventTarget一个事件的 var myObj foo bar var event new Event eventName ev
  • PEG规则识别函数原型

    我正在尝试创建一个可以解析 C 代码的解析器 我的用例是解析可能包含函数原型的缓冲区 我想将此函数名称推入符号表中 我是 Spirit 和 PEG 的新手 我正在尝试弄清楚如何编写可以识别函数原型的规则 这是我当前的实现 auto name
  • CancellationToken.ThrowIfCancellationRequested 之后出现故障与取消的任务状态

    通常我不会发布带有答案的问题 但这次我想引起一些注意 我认为这可能是一个晦涩但常见的问题 它是由这个问题 https stackoverflow com q 24346706 1768303 从那时起我回顾了自己的旧代码 发现其中一些也受到
  • UITextview打字属性不起作用

    我有 UITextView 我想将其行高设置为 50 0f 所以我使用打字属性 但没有任何效果 我的代码在 ViewDidAppear 方法中像这样 UITextView textView UITextView alloc initWith
  • java中RGB转灰度、bmp图像

    我的老师给我们布置了一个任务 要制作一个采用 640x480 bmp 彩色图像的课程 将其转换为灰度图像 我找到了一些有想法的资源 所以我做到了 但是有一个问题 因为它似乎使它不会给我错误 但输出没有出现 我认为这是我的代码 我的代码是 i
  • IntelliJ IDEA:ClassNotFoundException 如果运行调试,执行/运行确实有效

    我在 Eclipse 中启动了一个 Java Maven 项目 处理了几天 然后将其导入到 IntelliJ IDEA 中 再次处理了几天 IDEA 和 shell 中的正常运行 执行确实有效 但调试无效 当我单击调试的 Bug 图标时 它
  • Java 的反射器?

    Java 有没有相当于 NET反射器 http www red gate com products reflector 编辑 更具体地说 反编译是我所追求的 See 如何反编译Java类文件 https stackoverflow com
  • 有人将 Node.js 与 Amazon SNS 和 Apple 推送通知一起使用吗?

    我正在寻找将 node js 与 Amazon SNS 和 Apple APN 推送通知结合使用的示例 我们使用 Amazon 进行托管 我以前也使用过 SNS 这非常简单 但他们提供的推送通知示例是针对 java 的 没有针对 Node
  • Cython:(为什么/何时)使用 Py_ssize_t 进行索引是否更好?

    这是后续这个问题 https stackoverflow com questions 20978938 cython should i use np float t rather than double for typed memory v
  • 更改 UpdatePanel 外部 TextBox 中的文本

    我在 UpdatePanel 中有一个 gridview gridview 显示在弹出窗口中 单击该网格中的选择按钮后 我尝试在页面中设置文本框文本 但它不起作用 如果我删除更新面板那么它就会工作 这是我在 aspx 中的代码 div di
  • Spring security:注销后重定向到上一个网址

    我有一个使用 spring security 的网络应用程序 我想在用户注销时将用户重定向回他们注销之前所在的同一页面 是否有捷径可寻 不确定这个问题指的是哪个 Spring 版本 但有一个useReferer标准属性org springf
  • XmlWriter 编码问题

    我有以下代码 MemoryStream ms new MemoryStream XmlWriter w XmlWriter Create ms w WriteStartDocument true w WriteStartElement da
  • 如何捕获 Room 持久性库中未处理的异常

    背景 我在 Android Java 项目中使用 Room 持久性库来支持本地数据缓存 查询或保存数据时 Room 在专用线程上运行 Problem 如果 Room 管理的这些线程之一引发异常 则整个应用程序将崩溃 如果数据不一致 例如数据
  • 在 text2vec R 包中准备词嵌入

    基于text2vec包的小插图 提供了一个创建词嵌入的示例 对wiki数据进行标记 然后创建术语共现矩阵 TCM 该矩阵用于使用包中提供的glove函数创建词嵌入 我想为包中提供的电影评论数据构建词嵌入 我的问题是 我是否需要将所有电影评论