【发布时间】:2021-09-06 16:22:08
【问题描述】:
我有一个包含原文句段和译文句段的 TMX 文件。其中一些片段由几个句子组成。我的目标是分割这些多句段,使整个 TMX 文件由单句段组成。
我打算用spacy的依赖解析器来分割这些多句段。
为此,我使用翻译工具包提取了原文和译文句段。
然后我将源句段和目标句段添加到字典 (seg_dic) 中。接下来,我将这些片段转换为 nlp doc 对象,并再次将它们存储在字典 (doc_dic) 中。我现在想使用 spacy 的依赖解析器分割任何多句段...
for sent in doc.sents:
print(sent.text)
...但我不知道如何处理存储在字典中的段。
这是我目前所拥有的:
import spacy
from translate.storage.tmx import tmxfile
with open("./files/NTA_test.tmx", 'rb') as fin:
tmx_file = tmxfile(fin, 'de-DE', 'en-GB')
nlp_de = spacy.load("de_core_news_lg")
nlp_en = spacy.load("en_core_web_lg")
seg_dic = {}
doc_dic = {}
for node in tmx_file.unit_iter():
seg_dic[node.source] = node.target
for source_seg, target_seg in seg_dic.items():
doc_dic[nlp_de(source_seg)] = nlp_en(target_seg)
谁能解释我如何从这里开始?如何使用“for sent in doc.sents”逻辑迭代我的字典键和值?
【问题讨论】: