我有一个由引文组成的手动输入文件,每个文件的格式为:
< S sid ="2" ssid ="2">它与之前基于机器学习的 NER 的不同之处在于它使用整个文档中的信息对每个单词进行分类,只需一个分类器。</S>< S sid =" 3" ssid = "3">以前的工作涉及从整个文档中收集信息,通常使用二级分类器,以纠正基于主要句子的分类器的错误。</S>
这是我目前使用 python 的 re 模块的方法:
citance = citance[citance.find(">")+1:citance.rfind("<")]
fd.write(citance+"\n")
我试图提取从第一个右尖括号(“>”)出现到最后一个左尖括号(“<”)的所有内容。但是,在多个引用的情况下,这种方法会失败,因为中间标签也会在输出中被提取:
它与之前基于机器学习的 NER 不同,它使用整个文档中的信息对每个单词进行分类,只需一个分类器。</S>< S sid ="3" ssid = "3">之前的工作涉及从整个文档中收集信息通常使用二级分类器,它可以纠正基于句子的主要分类器的错误。
我想要的输出:
它与之前基于机器学习的 NER 不同,它使用整个文档中的信息对每个单词进行分类,只使用一个分类器。以前的工作涉及从整个文档中收集信息,通常使用二级分类器来纠正主要基于句子的分类器的错误。
我该如何正确实施?
我会使用 python regex 模块:re
通过这样做:
re.findall(r'\">(.*?)<', text_to_parse)
这个方法会从一个引号返回到多个引号,但是如果你想要一个统一的文本( " ".join(....)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句