gpt4 book ai didi

python:分割句子进行注释

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

列表:

matrixA = []
matrixB = []

句子:

sentences 1 = "words1 words2 words3 {matrixA} {matrixB}"
sentences 2 = "words3 words4 {matrixA}"
etc..

结果:

matrixA = "words1 words2 words3", "words3 words4"
matrixB = "words1 words2 words3"
etc..

有什么想法吗,支持的库吗?导入 re、nltk 或 ?可以手动完成,但如果我使用库,我认为速度会更快。

最佳答案

首先,如果您有很多句子,最好将其放入列表中:

sentences = ["words1 words2 words3 {matrixA} {matrixB}", "words3 words4  {matrixA}"]

接下来,对于不同的变量名称,例如 Matrix*,我建议使用 collections 包中的 defaultdict 列表。

from collections import defaultdict
matrices = defaultdict(list)

现在,循环来了。要获取每个句子中的名称列表,请使用 re.findall。然后,对于找到的每个变量名称,将单词附加到矩阵中该变量名称的列表中。

import re

for s in sentences:
for m in re.findall("{(.*?)}", s):
matrices[m].append(s.split('{', 1)[0])

print(dict(matrices))
{
"matrixA": [
"words1 words2 words3 ",
"words3 words4 "
],
"matrixB": [
"words1 words2 words3 "
]
}

这似乎就是您正在寻找的内容。

如果您不需要尾随空格,请附加 s.split('{', 1)[0].strip(),调用 str.strip去掉前导/尾随空白字符。

关于python:分割句子进行注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48247844/

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