gpt4 book ai didi

python - 从列表 pos_tag 序列列表中仅提取名词?

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:29 29 4
gpt4 key购买 nike

<分区>

我正在尝试使用 nltk.pos_tag()list of lists 文本序列 中仅提取名词。我能够从 nltk.pos_tag() 列表中提取所有名词,而不保留列表序列的列表?如何通过保留列表序列列表来实现这一点。非常感谢任何帮助。

这里,List of lists text sequence collection的意思是:由列表分隔的分词词的集合。

[[('icosmos', 'JJ'), ('cosmology', 'NN'), ('calculator', 'NN'), ('with', 'IN'), ('graph', 'JJ')], [('generation', 'NN'), ('the', 'DT'), ('expanding', 'VBG'), ('universe', 'JJ')], [('american', 'JJ'), ('institute', 'NN')]]

输出应该是这样的:

[['cosmology', 'calculator'], ['generation'], [institute]]

我试过的是这样的:

def function1():
tokens_sentences = sent_tokenize(tokenized_raw_data.lower())
unfiltered_tokens = [[word for word in word_tokenize(word)] for word in tokens_sentences]
word_list = []
for i in range(len(unfiltered_tokens)):
word_list.append([])
for i in range(len(unfiltered_tokens)):
for word in unfiltered_tokens[i]:
if word[:].isalpha():
word_list[i].append(word[:])
tagged_tokens=[]
for token in word_list:
tagged_tokens.append(nltk.pos_tag(token))
noun_tagged = [(word,tag) for word, tag in tagged_tokens
if tag.startswith('NN') or tag.startswith('NNPS')]
print(nouns_tagged)

如果我在附加 tagged_tokens 列表后在原始代码中使用了下面提到的 code-shippet,则输出显示在单个列表中,这不是必需的。

only_tagged_nouns = []
for sentence in tagged_tokens:
for word, pos in sentence:
if (pos == 'NN' or pos == 'NNPS'):
only_tagged_nouns.append(word)

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com