#python #split
Вопрос:
Моя цель состоит в том, чтобы заставить пользователя задать вопрос и его ответы на вопросы и получить наиболее правильный ответ. Я скопировал текст, который будет использоваться для поиска вопроса, в строку под названием Текст, а затем он будет искать наибольшее количество предложений, в которых будут наиболее распространенные слова между текстовыми предложениями и словами вопроса, а затем он будет сравнивать ответы с предложением, чтобы выбрать только одно.
text="pla pla pla pla pla. pla pla pla pla pla. pla pla pla. pla pla pla."
for line in sentences:
for word in Mylist:
if word in line:
k=k 1
listed.append(line)
c = Counter(listed)
z=[x[0] for x in c.most_common(1)] ##the sentence that has most common question's words
for j in z: # to make the sentence string not element in list
for ans in ListOfans: #check each answers of the MCqs answers
for word in ans.split():
if word in j:
MostAns.append(ans) # put the answers found in the sentence
d=Counter(MostAns)
p=[x[0] for x in d.most_common(1)]
print(p) #display the answer
Моя проблема в том, если все ответы находятся в наказание он дает мне неправильный ответ, я thinked разделения предложения на слова вопроса, то проверьте первый ответ пришел после раскола в основном будет правильный ответ
например, если в предложении («я играл в теннис, потом съел торт», и на вопрос » что Вы играли?» и варианты: теннис, или торт ) он будет разделен ел, играл, как это общее слово между предложением и вопрос, тогда проверяем первое место после раскола, он найдет теннис, так это ответ,
Я не знаю, как разделить предложение на последнее общее слово и проверить следующий ответ?
Комментарии:
1. Прочтите эту статью для получения советов по отладке кода.
2. Что такое
sentences
иMylist
? Почему код никогда не используетсяtext
?3. Похоже, вы пытаетесь заставить эту простую функцию сравнения выполнять ИИ. Специальные правила, подобные описанным вами, не будут работать очень надежно.