3 天前,我问了一个关于构建具有 3 种语言的并行词典的问题:删除一些文本对的差异
问题如下:我有 2 对具有以下特征的文件:pair1: (File1.txt , File2.txt) pair2: (File3.txt , File4.txt)
这些对中的每个文件之间存在逐行对应关系。说 File1.txt 和 File3.txt 是一些英文单词,File2.txt 和 File4.txt 分别是它们的阿拉伯语和法语翻译。此外,File1.txt 和 File3.txt 非常相似(在某些情况下相同)。
File1.txt File2.txt
EnWord1 ArTrans1
EnWord2 ArTrans2
EnWord3 ArTrans3
Enword4 ArTrans4
File3.txt File4.txt
EnWord1 FrTrans1
EnWord3 FrTrans3
Enword4 FrTrans4
Enword5 FrTrans5
那时我想做的是比较这对的英文面,找到两个文件中出现的共同词(EnWord1、EnWord3 和 EnWord4)并过滤掉它们对应的翻译。简而言之,我可以说使用两个双语英语-阿拉伯语和英语法语词典,我正在尝试构建一个 3 语种英语-阿拉伯语-法语词典。
史蒂夫回答了我并写了一个很好的代码来查找重复的英语单词并删除其他单词及其翻译:答案可以在这里找到
但我还有一个更复杂的问题:如果我想添加另一种语言,我该怎么办?我的意思是我有另一个英俄词典(比如说 File5.txt 包含英语实体,File6.txt 包含俄语实体),我想构建一个 4 语言词典而不是 3 语言词典。
一种方法是使用当前代码构建一个 3 语言词典,然后在新的语言对上重新运行它,构建一个 4 语言词典。但我认为它不够高效,它会更好地解决这个问题。它也可能在其他语言中带来一些不一致。我的主要挑战是检查重复:当只有 2 个语言对时,检查重复将非常容易。但是如果我想检查 3 对中的重复,我该怎么办?如何更改代码以便一次提取 4language 字典?