当前位置: 首页 > 知识库问答 >
问题:

LABSE 预处理器输出的文本表示?

冷正信
2023-03-14

我使用以下模型对来自多种语言的句子进行标记化:https://tfhub.dev/google/universal-sentence-encoder-cmlm/multilingual-preprocess/2

其中,对于以下输入:

"I wish you a pleasant flight and a good meal aboard this plane."

输出以下令牌:

json prettyprint-override">[101, 146, 34450, 15100, 170, 147508, 48088, 14999, 170, 17072, 66369, 351617, 15272, 69746, 119, 102]

从这个输出中,我想恢复标记的文本表示。类似于:

[START, I, wish, ..., plane, .]

到目前为止,我一直在寻找代币

你知道怎么做吗?

先谢谢你的帮助,

共有1个答案

公西宏峻
2023-03-14

谷歌/通用句子编码器cmlm/多语言预处理/2模型的默认缓存位置是/tmp/tfhub_modules/8e75887695ac632ead11c556d4a6d45194718ffb(更多关于缓存)。在 assets 目录中,您将找到cased_vocab.txt,即使用的词汇:

!cat /tmp/tfhub_modules/.../assets/cased_vocab.txt | sed -n 102p
> [CLS]
!cat /tmp/tfhub_modules/.../assets/cased_vocab.txt | sed -n 147p
> I
!cat /tmp/tfhub_modules/.../assets/cased_vocab.txt | sed -n 34451p
> wish
...

请注意,sed假定索引基于1,而预处理器的输出基于0。

 类似资料:
  • 句子分割text_to_word_sequence keras.preprocessing.text.text_to_word_sequence(text, filters='!"#$%&()*+,-./:;<=>?@[\]^_`{|}~\t\n',

  • 句子分割text_to_word_sequence keras.preprocessing.text.text_to_word_sequence(text, filters=base_filter(), lower=True, split=" ") 本函数将一个句子拆分成单词构成的列表 参数 text:字符串,待处理的文本 filters:需要滤除的字符的列表或连接形成的字符串,例如标

  • Text Preprocessing [source] Tokenizer keras.preprocessing.text.Tokenizer(num_words=None, filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n',

  • TextInput 是一个允许用户输入文本的基础组件。它有一个名为 onChangeText 的属性,次属性接受一个函数,而此函数会在文本变化时被调用。另外还有一个名为 onSubmitEditing 的属性,会在文本被提交后(用户按下软键盘上的提交键)调用。 胶乳我们要实现当用户输入时,将其以单词为单位翻译为另一种文字。我们假设这另一种文字是一堆有趣的东西:。 export default c

  • 1. 英文文本挖掘预处理特点 英文文本的预处理方法和中文的有部分区别。首先,英文文本挖掘预处理一般可以不做分词(特殊需求除外),而中文预处理分词是必不可少的一步。第二点,大部分英文文本都是uft-8的编码,这样在大多数时候处理的时候不用考虑编码转换的问题,而中文文本处理必须要处理unicode的编码问题。这两部分我们在中文文本挖掘预处理里已经讲了。 而英文文本的预处理也有自己特殊的地方,第三点就是

  • 1. 中文文本挖掘预处理特点 首先我们看看中文文本挖掘预处理和英文文本挖掘预处理相比的一些特殊点。 首先,中文文本是没有像英文的单词空格那样隔开的,因此不能直接像英文一样可以直接用最简单的空格和标点符号完成分词。所以一般我们需要用分词算法来完成分词,在文本挖掘的分词原理中,我们已经讲到了中文的分词原理,这里就不多说。 第二,中文的编码不是utf8,而是unicode。这样会导致在分词的时候,和英文