gpt4 book ai didi

pandas - NLP:根据分隔符创建spaCy Doc对象或组合多个Doc对象形成单个对象

转载 作者:行者123 更新时间:2023-12-04 07:37:06 26 4
gpt4 key购买 nike

我正在尝试使用 make_doc() 函数创建一个 spaCy Doc 对象 (spacy.tokens.doc.Doc)。这就是我所做的:

import spacy
nlp = spacy.load('en')

a = nlp.make_doc("Sam, Software Engineer")
print(list(a)) # [Sam, ,, Software, Engineer]
但我想要的结果是:
print(list(a)) # [Sam, Software Engineer]
有没有办法根据分隔符(在我的情况下,它是一个逗号)创建一个 spacy Doc 对象?或者有没有办法将两个 spaCy Doc 对象组合成一个对象?例如:
a = nlp.make_doc("Sam")
b = nlp.make_doc("Software Engineer")
c = Combine a and b into single Doc object c
print(list(c)) # [Sam, Software Engineer]

最佳答案

您可以使用 Doc 构建文档。用逗号分割字符串后的类:

import spacy

nlp = spacy.load("en_core_web_sm")
text = "Sam, Software Engineer"

tokens = text.split(',')
words_t = [t.strip() for t in tokens]
whitespaces_t = [x[0].isspace() for x in tokens]
a = spacy.tokens.Doc(nlp.vocab, words=words_t, spaces=whitespaces_t)
print(list(a))
# => [Sam, Software Engineer]
words_t = [t.strip() for t in tokens]部分抢词和 whitespaces_t = [x[0].isspace() for x in tokens]创建一个 bool 值列表,表示单词前是否存在空格。

关于pandas - NLP:根据分隔符创建spaCy Doc对象或组合多个Doc对象形成单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67679041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com