我正在使用spacy来创建句子的向量。如果句子是'I‘am working',它会给出一个形状向量(3,300)。有没有办法用这些向量取回句子中的文本?
先谢谢你,哈拉蒂
发布于 2019-09-12 15:57:28
实际上,您可以使用.orth_方法直接从文档对象获取字符串,该方法返回令牌的字符串表示,而不是SpaCy令牌对象
import en_core_web_sm
nlp = en_core_web_sm.load()
tokenizer = nlp.Defaults.create_tokenizer(nlp)
text = 'I am working'
tokens = [token.orth_ for token in tokenizer(text)]
print(tokens)
['I', 'am', 'working']
发布于 2018-04-20 15:19:13
没有办法从向量→单词进行翻译。但是,您可以实例化第二个序列,该序列将一个令牌序列映射到一个整数序列,该整数序列指示spacy模型的词汇表中每个令牌的id。
sentence = 'I am working'
document = nlp(sentence)
id_sequence = map(lambda x: x.orth, [token for token in document])
text = map(lambda x: nlp.vocab[x].text, [id for id in id_sequence])
print(text)
['I', 'am', 'working']
https://stackoverflow.com/questions/49889113
复制相似问题