keras oov_token = true有效

发布于 2025-01-22 08:18:48 字数 222 浏览 0 评论 0 原文

默认情况下,当 oov_token = true 时,KERAS如何将vocabulary代币归功于vocabulary令牌。

根据KERAS的官方文档,它告诉如果给出,它将添加到word_index,并用于在text_to_sequence调用期间替换vocabulary单词。 但是,如果未明确指定,但是 oov_token = true 时,没有太多细节。

By default how does keras impute out-of-vocabulary token when oov_token=True.

According to keras official documentation it tells that if given, it will be added to word_index and used to replace out-of-vocabulary words during text_to_sequence calls.
However, no much details when not explicitly specified but oov_token=True.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

太阳公公是暖光 2025-01-29 08:18:48

假设您参考> tf.keras.preprocessing.text.tokenizer 的 oov_token ,您应该看一下 source Code> source Code 以了解引擎盖下发生的事情。 oov_token 的索引在两次添加 oov_token = true

  1. text_to_sequence 方法中,您会看到 word_index 中找不到,这是词汇中每个单词的字典,映射到唯一的整数值。
  2. 当您设置最大数量的单词数量以继续使用 num_words i 是某个单词的索引,等于 num_words

这是相关代码:

vect = []
for w in seq:
    i = self.word_index.get(w)
    if i is not None:
        if num_words and i >= num_words:
            if oov_token_index is not None:
                vect.append(oov_token_index)
        else:
            vect.append(i)
    elif self.oov_token is not None:
        vect.append(oov_token_index)
yield vect

另外,您会看到 oov_token 如果将索引1设置为 true ,始终获取索引1。

Assuming, you are referring to the oov_token of the tf.keras.preprocessing.text.Tokenizer, you should take a look at the source code to understand what is happening under the hood. In the text_to_sequence method, you see that the index of the oov_token is added on two occasions for oov_token=True:

  1. When a word in a sequence is not found in word_index, which is the dictionary of each word in your vocabulary mapped to a unique integer value.
  2. When you set the maximum number of words to keep using num_words and i being the index of a certain word, is equals to or above num_words.

Here is the related code:

vect = []
for w in seq:
    i = self.word_index.get(w)
    if i is not None:
        if num_words and i >= num_words:
            if oov_token_index is not None:
                vect.append(oov_token_index)
        else:
            vect.append(i)
    elif self.oov_token is not None:
        vect.append(oov_token_index)
yield vect

Also, here you see that the oov_token always gets the index 1 if it was set to True.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文