用python在文本中寻找具有特定标准的单词。

问题描述 投票:0回答:1

我有一段文字,想找到例如

  • 所有动物
  • 所有的超级词

是否有一个 "简单 "的方法来做这件事?

我完全是NLP的新手.我甚至不知道这是否是一个NLP问题摆在首位.或者这只是听起来简单,实际上非常复杂?

如果你有关于这个问题的添加removing标签的提示,欢迎所有反馈。

python nlp nltk spacy
1个回答
2
投票

你不需要任何复杂的东西来做这个。它可以通过简单的字符串匹配来实现,但有一些注意事项。

  1. 动物 - 简单地创建一个你想识别的动物列表. 你可能可以在网络、维基百科或类似的网站上找到动物列表。复杂的是,你可能需要修剪一个复数标记(马匹马匹 - 我这里假设是英语)。) 你可以简单地查找列表中的每个单词,如果它不在列表中,并且结尾为 -s,再看与最后的 s 修剪掉。不规则复数存在(),但这种情况很少。

  2. 超级形容词--同样你可以创建一个列表。超级形式通常以 -雌所以就找一个英文单词表,把所有不以字母结尾的单词都扔掉。-雌,然后检查剩下的单词,去除假阳性,如 巢穴 等。也会有一些不规则的。你想如何处理组合型的,如 最美? 在这种情况下,你可以检查 后面跟着一个形容词。

对于超级形容词,会有第二个更复杂的选择,那就是使用语篇标签器。给你的文本打上标签,然后得到所有被标记为超等形容词的单词。在大多数英语标签集中,这将是 JJS. 但是标签器在准确度上不一定比词表好,所以要看你想花多少精力在上面。

你举了这些作为例子。对于许多其他类别的单词,也有类似的方法,只需相当容易地提取它们,而不需要复杂的机器学习系统。但别忘了,创建列表可能是一种低技术含量的解决方案,可能是最快速、最简单、准确率最高的。


0
投票

是的,有很多方法可以做到这一点。但我更喜欢使用Spacy。你必须训练你自己的Spacy模型来实现这一点,Spacy有非常好的文档说明如何做到这一点。这里是链接到 空间

© www.soinside.com 2019 - 2024. All rights reserved.