首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将spacy标记向量转换为文本

将spacy标记向量转换为文本
EN

Stack Overflow用户
提问于 2018-04-18 07:54:00
回答 2查看 6K关注 0票数 2

我正在使用spacy来创建句子的向量。如果句子是'I‘am working',它会给出一个形状向量(3,300)。有没有办法用这些向量取回句子中的文本?

先谢谢你,哈拉蒂

EN

回答 2

Stack Overflow用户

发布于 2019-09-12 15:57:28

实际上,您可以使用.orth_方法直接从文档对象获取字符串,该方法返回令牌的字符串表示,而不是SpaCy令牌对象

代码语言:javascript
运行
复制
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']
票数 1
EN

Stack Overflow用户

发布于 2018-04-20 15:19:13

没有办法从向量→单词进行翻译。但是,您可以实例化第二个序列,该序列将一个令牌序列映射到一个整数序列,该整数序列指示spacy模型的词汇表中每个令牌的id。

代码语言:javascript
运行
复制
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']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49889113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档