gpt4 book ai didi

python - 使用Python从语料库中提取句子

转载 作者:太空宇宙 更新时间:2023-11-03 19:11:22 24 4
gpt4 key购买 nike

我正在尝试使用 Python 从文本中提取句子。文本中的每个单词都写在一行中,并包含与该单词相关的附加信息:

Mary Noun Name
loves Verb No-Name
John Noun Name
. Punct No-Name

句子边界用空行标记。我想提取包含具有某些特定特征的单词的整个句子(例如带有名称的句子)。

到目前为止,我只能提取出感兴趣的单词,而不是整个句子。我使用 .readlines() 逐行读取文本。然后,我循环遍历这些行并使用 re 和 .split('\t') 来分割这些行,以便每行都由 3 个元素的列表表示。然后我将列表中的元素与所需的值进行匹配,并可以提取相关的单词,但我不知道如何提取整个句子..

有人有什么建议吗?

最佳答案

您可以用空行分隔,将类型分成一组,然后使用它 - 一个未经测试的示例...

text="""Mary Noun Name
loves Verb No-Name
John Noun Name
. Punct No-Name

John Noun Name
loves Verb No-Name
Mary Noun Name
. Punct No-Name"""

from itertools import takewhile

sentences = []
split = iter(text.splitlines())
while True:
sentence = list(takewhile(bool, split))
if not sentence:
break
types = set(el.split()[1] for el in sentence)
words = [el.split(' ', 1)[0] for el in sentence]
sentences.append(
{
'sentence': sentence,
'types': types,
'words': words
}
)


print sum(1 for el in sentences if 'Noun' in el['types']), 'sentences contain Noun'
print sentences[0]['words']

关于python - 使用Python从语料库中提取句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899527/

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