【问题标题】:Check if input is a proper noun检查输入是否是专有名词
【发布时间】:2015-02-16 18:36:58
【问题描述】:

所以我正在制作自己的 MadLibs 游戏,但遇到了问题。例如,当要求用户输入名词,但输入动词或副词等时。我希望我的程序能够理解这一点,并要求他们输入不同的词,因为这个词不符合标准。我该怎么做呢?这是我目前所拥有的:

while True:
    name1 = input("A male name (protagonist): ")
    if name1.endswith (('ly', 's')):
        print("Sorry mate, this doesn't seem to be a proper noun. Try it again.")
        continue
    break

但我希望它按照以下思路出现:

A male name (protagonist): sandwich
Sorry mate, this doesn't seem to be a proper noun. Try it again.
A male name (protagonist): Bob

如何在不手动输入的情况下让它识别名词、副词等?

【问题讨论】:

  • 欢迎来到 Stack Overflow!看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的编码人员编写代码,但他们通常只有在发布者已经尝试自己解决问题时才会提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、堆栈跟踪、编译器错误 - 不管是什么适用的)。您提供的详细信息越多,您可能收到的答案就越多
  • 好吧,这就是我目前所拥有的:while True: name1 = input("A male name (protagonist): ") if name1.endswith (('ly', 's') ): print("对不起,伙计,这似乎不是一个专有名词。再试一次。") continue break
  • How to loop on Python 3.4.2? 的可能重复项
  • 不,这次我正在尝试一种新方法,这是一个不同的问题。

标签: python python-3.4


【解决方案1】:

您正在寻找的是Natural Language Processing mate。您必须确定哪个词性是单词,然后您可以标记它。 NLP 领域广阔而复杂,因此请尝试自己进行研究,您可能会想出一些解决方案。但我认为在 Python 中没有直接的方法可以做到这一点。 Python是编程语言。虽然您可以使用一些可能帮助您标记 POS 的工具,例如树标记器并尝试将它们集成到您的应用程序中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 2016-04-19
    • 2017-07-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    相关资源
    最近更新 更多