- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个句子,我首先标记化然后使用 nltk 标记:
sentence = 'Ronald McDonald exercised at the Central Park on Monday.'
tokens = nltk.word_tokenize(sentence)
print(tokens)
tagged = nltk.pos_tag(tokens)
print(tagged)
使用 nltk.pos_tag,Ronald、McDonald、Central、Park 和 Monday 成为专有名词 (NNP) - 这是正确的。我现在把句子的所有专有名词都写在另一个变量中,因为我以后要用到它们。
propernouns = [word for word,pos in tagged if pos == 'NNP']
print(propernouns)
现在,在我 95% 的情况下,文本中紧跟在后面的任意数量的专有名词确实属于一起。 “罗纳德麦当劳”就像“中央公园”一样。
问题:我如何更改“代词”中的代码,它迭代“标记”,提取所有 NPP 并将它们写入变量,就像现在一样 - 但是当它找到 2 或更多 (<NNP>+)
紧接着彼此,它们被写成一个由空格分隔的字符串。
最佳答案
使用 itertools.groupby
将具有相同 NNP 标签的连续词组分组:
from itertools import groupby
groups = groupby(tagged, key=lambda x: x[1]) # Group by tags
names = [[w for w,_ in words] for tag,words in groups if tag=="NNP"]
#[['Ronald', 'McDonald'], ['Central', 'Park'], ['Monday']]
names = [" ".join(name) for name in names if len(name)>=2]
#['Ronald McDonald', 'Central Park']
关于python - NLTK - 标记后加入专有名词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49715600/
是否可以使用 R 包 openNLP 提取 noun+noun 或 (adj|noun)+noun?也就是说,我想使用语言过滤来提取候选名词短语。你能指导我该怎么做吗?非常感谢。 感谢您的回复。这是代
我正在寻找一个免费的(可下载的)名词词典来用作实际的单词生成器 - 与验证码相似但不同。 有人知道这样的东西是否可用吗? 谢谢, 凯尔 最佳答案 Kevin's Word List Page包括词性数
通常单词列表是 1 个包含所有内容的文件,但是是否有可单独下载的名词列表、动词列表、形容词列表等? 我特别需要它们来学习英语。 最佳答案 如果您仅从 wordnet.princeton.edu/dow
我正在使用 Rails 4,我遇到了 this cool gist前几天。 无论如何,我如何使用 Rails 做一些类似的事情,我可以从两个数组中随机选择以生成一个有点独特的名称? 我知道有用于此的
我想要一个 python 库函数,它可以跨不同的词性进行翻译/转换。有时它应该输出多个单词(例如“coder”和“code”都是动词“to code”的名词,一个是主语,另一个是宾语) # :: St
根据 this guide在设计 REST API 端点时,我们不应该在 URL 中使用 Action /动词(例如 /addNewEmployee),如果我们想执行一个 Action ,我们应该只使
根据 this guide在设计 REST API 端点时,我们不应该在 URL 中使用 Action /动词(例如 /addNewEmployee),如果我们想执行一个 Action ,我们应该只使
我有一个用 @Path 注释的类,如下所示: @Path("widgets") @Produces(MediaType.APPLICATION_XML) public class WidgetReso
我是一名优秀的程序员,十分优秀!