【问题标题】:looking for #python name module, similar to enchant寻找#python名称模块,类似于附魔
【发布时间】:2021-12-09 07:20:10
【问题描述】:

我最近有一个作业去计算一个句子中的单词数。够简单吧?

你将输入句子分配给一个列表,你 .split() 它,然后你 .count。

问题是:

a) 如果句子不是句子怎么办? (不以点结尾)? 很容易解决:检查是 string[-1][-1]=="."我们就完成了。

b) 这就是事情变得棘手的地方......

如果一个词 - 根本不是一个词怎么办?

示例:djgghjdjgf、7zark7。 blizz-ard、twi@ter 等

我发现 pyenchant 可以解决大多数问题...但是:

  1. 它无法识别以撇号 (') like Chris' 结尾的单词 - 作为单词。事实上,它根本不将名称识别为单词......

我可以运行一个双重 .check: 一个用于 pyenchant,但我必须再做一个来看看它是否是一个名称..这是一个单词...

任何人都知道与 pyenchant 类似的 mudule(基本上是一个字典),只有 NAMES(如果存在的话)?

那将不胜感激。

也欢迎其他解决方案。

附言

len(s.split()) 是不对的?如果我是对的 #%#$65477 - 那不是(!)一个词。它只是列表中的一个项目(我被要求输入单词,可能是真实的)。

再次感谢。

【问题讨论】:

  • 请求对模块的认可是题外话。不要把事情复杂化。如果您需要计算特定的单词,请索取一份详尽的列表。没有“名字列表”——约翰、乔恩、琼、乔布斯——哪一个是名字? “乔布斯说……”和“乔布斯很少有趣”——它在哪里被用作名字,哪里不是?上下文很重要:“史蒂夫·乔布斯是个很酷的人。乔布斯说……”如果您需要区分“有意义的单词”和“字母垃圾”,您可能需要上下文、语义或自然语言处理能力。顺便提一句。句子也可能以 ?或者 !旁边。
  • 阅读Falsehood programmers believe about names 可能会有所收获——只是为了好玩并拓宽“姓名”的概念。
  • 您在所有帐户上都是对的。我想我只会以常规方式解决问题,而不是去做我目前没有能力做的事情(即使我问过的那个模块确实存在)。非常感谢您的帮助。
  • 在阅读了您建议的材料后,我对您的意思有了更好的理解。感谢您为我在一项相当徒劳的任务上节省了时间和精力。我会按照“教科书”的方式来做。

标签: python string list


【解决方案1】:

正如#Patrick Artne 所说,没有办法区分具有双重含义和各种原因的名称。简而言之 - 我的要求无法完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 2014-12-16
    • 2019-07-03
    相关资源
    最近更新 更多