from bert_embedding import BertEmbedding
bert_embedding = BertEmbedding(model='bert_12_768_12', dataset_name='wiki_multilingual_cased')
output = bert_embedding("any")
我需要澄清mBERT嵌入的输出。我知道WordPiect标记化用于分解输入文本。我还注意到,在提供单个单词(比如“any”)作为输入时,输出的长度等于输入中的字符数(在本例中为3)output[i]
是列表的元组,其中第一个列表包含位于ith位置的字符,其前后的“未知”标记作为数组中的不同元素。接下来是三个(=输入字的长度)数组(嵌入),每个数组的大小为768。为什么输出看起来是按字符标记的(而不是按单词标记的)
还发现在列表中输入为:bert_embedding(["any"])
时,输出形式会发生变化。现在的输出是一个元组,第一个元素是['[UNK]'、'state'、'[UNK]'],后面是三个不同的嵌入,可能对应于上面列出的三个标记
如果我需要为给定的输入字嵌入最后一个子字(不仅仅是最后一个字符或整个字),我如何访问它
检查了他们的github page。关于输入格式:是,它应该是一个列表(字符串)。该特定实现还提供令牌(=字)级嵌入;因此,子词级嵌入不能直接检索,尽管它提供了一个选项,可以选择如何从子词组件派生出词嵌入(通过使用默认的avg或使用sum或仅使用最后一个子词嵌入)。请参阅BERT的HuggingFace接口,了解如何更好地控制嵌入,例如从不同的层以及使用哪些操作
从the code看来,输入应该是一个句子列表,因此
['any']
对于文字,我从未使用过这个库,但可能尝试更长的单词。我的假设是“any”是一个词
相关问题 更多 >
编程相关推荐