2016-06-08 3 views
-4

Если я задаю вопрос на python, и ответ - это предложение, такое как «Есть вода в моем телефоне», как я могу заставить программу определить слово «вода» или «телефон» и распечатать решение, такое как «Сухой телефон» ?.Поиск ключевых слов в python

similar_words = ["water","damaged","wet","soaked","battery"] 

words = input("Enter a word or sentence: ").strip().split() 

for word in words: 

if word.lower() in similar_words: 

      print ("Go to a mechanic") 


else:  

    print ("sorry your answer doesn't match the criteria, please try again") 

это то, что iv'e сделано до сих пор, но, когда я ответить на этот вопрос в предложении я получить решение, которое я хочу что «Перейти к механику», им новичку так пожалуйста голый с моим тупость.

+2

В зависимости от того, что вы подразумеваете под вопросом, ответ варьируется от совершенно тривиального до невозможного с учетом текущего состояния ИИ. Вам нужно предоставить более подробную информацию, включая код, который вы написали, чтобы попытаться решить вашу проблему. –

+0

Это называется обработкой естественного языка, и ответы будут слишком большими для этого сайта. – polku

+0

У меня нет кода на мне, но я стараюсь его реплицировать, и я думал, что на нем будет функция, но нет. Я уверен, что это не естественный язык, он должен быть базовым питоном, им новичком. – Launders

ответ

1

Простой - базовое решение:

words = input("Enter a word or sentence: ").strip() 
words = words.lower() 
if 'water' in words and 'phone' in words: 
    print('Dry your phone') 

Это в точности соответствует «описание проблемы», но, конечно, также генерируют такое же сообщение, если вы вводите следующее:

  • Существует нет вода в моем телефоне
  • У меня не было воды в моем телефоне
  • В моей ванне есть телефон

, и он будет полностью игнорировать:

  • Я думаю, что я получил мой телефон мокрым.

Просто помните - это решение не очень хорошо масштабируется (поскольку вы пытаетесь «понять» больше предложений, код становится очень сложным), он не понимает общих вариантов или негативов или синонимов.

На самом деле это не любая форма ИИ - вы можете так же легко искать конкретные цифры, а не слова.

Чтобы компьютер действительно «понимал», что вы имеете в виду, поэтому он знает, что «промокнуть» аналогичен «набирать воду», и требует того же ответа или признает: «Не было воды на 'как отрицательный, например, - это целая другая игра в мяч.

+0

Это действительно помогло мне оценить – Launders

Смежные вопросы