【发布时间】:2016-06-08 16:08:25
【问题描述】:
如果我在 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")
这是我到目前为止所做的,但是当我用一句话回答问题时,我得到了我想要的解决方案,即“去找机械师”,我是新手,所以请不要忍受我的愚蠢。
【问题讨论】:
-
根据您的问题的意思,考虑到 AI 的当前状态,答案的范围从完全微不足道到不可能。您需要提供更多详细信息,包括您为尝试解决问题而编写的代码。
-
这叫自然语言处理,对于这个网站来说答案太大了。
-
我身上没有代码,但我会尝试复制它,我认为这上面会有一个功能,但没有。我很确定它不是自然语言,它必须是基本的 python,我是新手。
-
@polku 的意思是您正在尝试做的是自然语言处理 - 即您正在尝试解释正常的口语。这很难做到——是的,你可以在 Python 中做到,但它不是“新手”级别的——它需要很多巧妙的技术来进行语法分析和输入语义分析。如果你想要一些非常基本的东西——那么——你的程序永远不会产生“干手机”——因为它不会出现在你的代码中的任何地方。
-
如果你有一个固定的单词列表和一个带有针对这些单词的预设响应的字典,那么很容易将一个字符串拆分为一个单词列表,然后遍历字典键,测试它们通过适当使用
in运算符(或者可能使用集合操作)来获得单词列表。