我需要使用 python 中的 spacy 将任何句子转换为问题。
我下面的代码太长了,我需要做更多的工作才能将任何句子完成为问题格式。现在,在这段代码中,我通过检查过去时和现在时来创建基于be 形式、需要形式、有形式、执行形式的条件。
输入:尼娜拉小提琴。
输出:尼娜拉小提琴吗?
输入:芭芭拉给了我巧克力。
输出:谁给你巧克力?
输入:他明天要见乔。
输出:他明天要见谁?
输入:她来自马德里。
输出:她从哪里来?
任何人都可以帮助我!想要为所有类型的句子提出问题吗?
from textacy.spacier import utils
import spacy
nlp = spacy.load("en_core_web_sm")
inp = input()
doc = nlp(inp)
string,label = [],""
for sentence in doc.sents:
root = sentence.root
for i in sentence.ents:
if len(utils.get_subjects_of_verb(root)) or len(utils.get_objects_of_verb(root)) > 0:
label = i.label_
print(root.tag_)
print(root.lemma_)
print(label)
if len(utils.get_subjects_of_verb(root)) > 0:
if root.lemma_ == 'be':
if label == "PERSON" :
ques = 'Who ' + str(root)+" …Run Code Online (Sandbox Code Playgroud)