CN113919371B - 一种翻译语料库的匹配方法 - Google Patents
一种翻译语料库的匹配方法 Download PDFInfo
- Publication number
- CN113919371B CN113919371B CN202111039403.3A CN202111039403A CN113919371B CN 113919371 B CN113919371 B CN 113919371B CN 202111039403 A CN202111039403 A CN 202111039403A CN 113919371 B CN113919371 B CN 113919371B
- Authority
- CN
- China
- Prior art keywords
- value
- defining
- equal
- loop
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/49—Data-driven translation using very large corpora, e.g. the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Machine Translation (AREA)
Abstract
一种翻译语料库的匹配方法,包括:获取待匹配语料库数据,将待匹配的原文和对应的ID进行处理;翻译语料库数据与待匹配数据大致匹配得到集合p,待匹配数据与集合p进行详细匹配,得到最佳匹配的数据:p循环结束后scores倒序得到最佳的匹配结果。本发明利用二维数组获取两个字符串的相似度,取左边值+1,上边值+1,若左边值+1,上边值+1不相等取左上角+1的值,若左边值+1,上边值+1相等取左上角的值,最终取左边值+1和上边值+1和左上角最终值的最小值,从而得到两个字符串的匹配度。本发明相比于海明距离匹配方法和Jaccard相似度匹配方法匹配召回率增高明显。
Description
技术领域
本发明公开一种翻译语料库的匹配方法,属于智能翻译的技术领域。
背景技术
随着信息技术、云计算等相关技术的发展,翻译技术、语音识别以及翻译平台等相关技术都得到了较快的发展。在大数据背景下,语料库中的翻译资源日益丰富,这也推动了计算机辅助翻译软件的兴起,逐渐地从单机版走向了网络及云端,例如,中业科技依靠互联网的大数据,结合不同的国家和地区因素以及语言环境,研发了Trycan翻译平台,改变了传统的机器翻译、人工翻译的旧模式,使得翻译的准确性、快速性均得到了较大的提高。但是由于语言自身具有复杂的特点,因此导致计算机辅助翻译仍然需要不断升级创新。该技术主要是利用网络、计算机软件对需要翻译的文本进行相关的翻译处理,在翻译的过程中可以采用前期建立好的语料库,提高翻译的质量和效率。
计算机辅助翻译主要是基于语料库来进行翻译工作,因此,前期翻译软件翻译语料库对于是否可以共享、导入和导出等功能较为关注,然而,随着计算机翻译的不断应用,应用场景开始关注翻译的效率及准确率,但是现有匹配方法比较低级,而且速度很慢,也无法达到模糊匹配的结果。
现有的匹配方法:1.海明距离匹配方法存在内容长度不相等的情况下匹配度不佳的技术缺陷,技术原因是只是单纯的匹配了内容长度相等的情况。2.Jaccard相似度匹配方法存在当a,b内容相匹配时,如果a本身重复内容过多,那么a,b匹配度不佳,技术原因是匹配方法中利用了a本身去重。
同时,计算机辅助翻译的模糊匹配召回率不高,具体体现在进行计算机辅助翻译时,译者一般需要检索记忆库,以便找到最合适的译文。在进行检索的时候一般包括两种工作:模糊匹配和完全匹配。前者一般是指召回一些与资料相近的译文片段;后者则是召回和文本中100%相同的译文片段。但由于翻译的源语文件有时候是一些特殊的资料,计算机辅助翻译技术在进行翻译时存在较大困难,模糊匹配召回率普遍不高,比如Trados的模糊匹配如果低于70%,则是不能自动召回的。而且如果语言的句型变化太过复杂,就会导致模糊匹配召回率较低,因此对于一些重复率不是很高的文章来说,仍然需要人工进行大量的翻译工作。
发明内容
针对现有技术的不足,本申请公开一种翻译语料库的匹配方法。
本发明详细的技术方案如下:
一种翻译语料库的匹配方法,其特征在于,包括:
1)获取待匹配语料库数据,将待匹配的原文和对应的ID进行以下步骤;
步骤1:将待匹配的原文所有非字母字符替换为空格操作,并且大写转换成小写,得到字符串str,str是保留有空格等空白符的字符串;
步骤2:对步骤1得到的带有空白符的字符串str的所有的空格,回车,换行等空白符进行分割得到数组int[]A;
步骤3:定义一个用来存放“int[]A的值对应的索引”的变量temp,定义一个用来存放“int[]A的值和对应的索引”key:value形式wordmap,value值为索引,key值为int[]A的值,定义一个用来存放“int[]A所有的值对应的索引”的数组int[]B;进入int[]A的for循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于int[]A的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过循环得到int[]A的i对应的值word,if条件语句条件为通过步骤3得到的wordmap里面包含word,输出语句temp等于wordmap取出word值对应的value值;否则,输出语句temp等于wordmap的数量,然后将所述temp为value,word为key存入wordmap中;之后,将所述temp放进一个新的数组int[]B;
步骤4:定义一个用来存放“int[]B的长度和对应的值”key:value形式lineMap,value值为数组int[]B和对应的ID,key值为int[]B的长度;lineMap用来进行步骤2)的大致匹配操作使用;
2)翻译语料库数据与待匹配数据大致匹配得到集合p,方法如下:
定义一个用来存放“待匹配数据的原文”的list集合originlist,
定义一个用来存放“每个原文大致匹配对应的ID的集合”的list集合templist,
定义一个用来存放“每个原文大致匹配的ID的所有的集合”的list集合tasklist,
定义一个用来存放“循环originlist的初始变量和大致匹配的ID所有的的list集合”的key:value形式idmap,value值为list集合tasklist,key值为循环originlist的初始变量的值,idmap用来进行步骤3)详细匹配操作使用;
定义一个用来存放“原文大致匹配对应的ID所有的集合”的List集合idlist;
进入originlist的for循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于originlist的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过循环得到originlist的i对应的值originy,进行步骤1)中的步骤1,步骤2,步骤3得到int[]B;
定义一个用来存放“大致匹配范围”的变量maxDistance,maxDistance定义为等于B的长度乘以0.2;
进入maxDistance的for循环:
(1)定义初始变量:deta等于0;
(2)循环条件:deta小于等于maxDistance;
(3)变量变化:deta每次循环完成语句块后deta+1赋值给deta;
(4)循环语句块:执行maxDistance for循环中的增强型内循环:
(1)循环变量类型:int;
(2)循环变量名称:定义为flag;
(3)要被遍历的对象:新建一个数组,数组元素为-1和1;
(4)循环语句块:定义一个用来存放“原文大致匹配的长度”的变量length,length=B的长度加上deta乘以flag,从特征1得到的lineMap取出length值对应的value值,从而得到大致匹配的ID的集合templist,templist存入到tasklist;
maxDistance循环结束后tasklist存入idlist,tasklist为value,循环originlist的初始变量为key存入idmap中;
originlist循环结束后从翻译语料库取出idlist的数据集合p;
3)待匹配数据与集合p进行详细匹配,得到最佳匹配的数据,方法如下:
定义一个用来存放“集合p里面所有的ID和对应的数据”的key:value形式sentencemap,value值为ID对应的数据,key值为ID。
步骤一;进入p的for循环:
(1)循环变量类型:p数据对应的实体类;
(2)循环变量名称:定义为sentence;
(3)要被遍历的对象:集合p;
(4)循环语句块:将所述sentence为value,sentence的ID为key存入sentencemap中。
步骤二;进入originlist的for循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于originlist的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过步骤2)得到的idmap从中取的对应的i的list集合templist,定义一个用来存放“大致匹配数据”的list集合tempsentencelist,执行originlist for循环中的增强型内循环templist:
(1)循环变量类型:int;
(2)循环变量名称:定义为id;
(3)要被遍历的对象:templist;
(4)循环语句块:从步骤3)的步骤一得到的sentencemap中取出对应的id的数据添加到tempsentencelist;
templist内循环结束后,通过循环得到originlist的i对应的值origin和tempsentencelist,进行以下操作;
定义一个用来存放“原文和tempsentencelist匹配度集合”的list集合scores;进入tempsentencelist的for循环:
(1)循环变量类型:tempsentencelist数据对应的实体类;
(2)循环变量名称:定义为sentence;
(3)要被遍历的对象:tempsentencelist;
(4)循环语句块:origin和sentence的原文进行详细匹配,具体匹配如下:
步骤三;定义x变量,x等于origin,定义y变量,y等于sentence的原文;
定义一个用来存放“二维数组有多少个数组和每一个一维数组的元素个数”的二维数组f[][],f定义二维数组有x.length+1个数组,每一个一维数组有y.length+1个元素,定于f[0][0]等于0;
进入x的for循环;
(1)定义初始变量:i等于0;
(2)循环条件:i小于等于x的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:把i赋值给f[i][0];
进入y的for循环;
(1)定义初始变量:j等于0;
(2)循环条件:j小于等于y的长度;
(3)变量变化:j每次循环完成语句块后j+1赋值给j;
(4)循环语句块:把j赋值给f[0][j];
进入x,y的双重for循环,内循环为y循环;
(1)定义初始变量:i,j等于0;
(2)循环条件:i小于等于x的长度,j小于等于y的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i,j每次循环完成语句块后j+1赋值给j;
(4)循环语句块:定义一个用来存放“相同字符在某个矩阵位置的增量不是0就是1”的cost,cost默认是0;如果x的i-1的索引值不等于y的j-1的索引值cost等于1,其余情况cost等于0;定义a等于f[i][j-1]+1,定义b等于f[i-1][j]+1,定义c等于f[i-1][j-1]+cost,取a,b和c最低值d,f[i][j]等于d。最后得到f[x的长度][y的长度]s,放入scores中;
p循环结束后scores倒序得到最佳的匹配结果。
本发明的技术优势
本发明的技术优势在于:利用二维数组获取两个字符串的相似度,取左边值+1,上边值+1,若左边值+1,上边值+1不相等取左上角+1的值,若左边值+1,上边值+1相等取左上角的值,最终取左边值+1和上边值+1和左上角最终值的最小值,从而得到两个字符串的匹配度。本发明相比于海明距离匹配方法和Jaccard相似度匹配方法匹配召回率增高明显。
具体实施方式
下面结合实施例对本发明做详细的说明,但不限于此。
实施例、
一种翻译语料库的匹配方法,其特征在于,包括:
1)获取待匹配语料库数据,将待匹配的原文和对应的ID进行以下步骤;
步骤1:将待匹配的原文所有非字母字符替换为空格操作,并且大写转换成小写,得到字符串str,str是保留有空格等空白符的字符串;
步骤2:对步骤1得到的带有空白符的字符串str的所有的空格,回车,换行等空白符进行分割得到数组int[]A;
步骤3:定义一个用来存放“int[]A的值对应的索引”的变量temp,定义一个用来存放“int[]A的值和对应的索引”key:value形式wordmap,value值为索引,key值为int[]A的值,定义一个用来存放“int[]A所有的值对应的索引”的数组int[]B;进入int[]A的for循环:
(2)定义初始变量:i等于0;
(2)循环条件:i小于int[]A的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过循环得到int[]A的i对应的值word,if条件语句条件为通过步骤3得到的wordmap里面包含word,输出语句temp等于wordmap取出word值对应的value值;否则,输出语句temp等于wordmap的数量,然后将所述temp为value,word为key存入wordmap中;之后,将所述temp放进一个新的数组int[]B;
步骤4:定义一个用来存放“int[]B的长度和对应的值”key:value形式lineMap,value值为数组int[]B和对应的ID,key值为int[]B的长度;lineMap用来进行步骤2)的大致匹配操作使用;
2)翻译语料库数据与待匹配数据大致匹配得到集合p,方法如下:
定义一个用来存放“待匹配数据的原文”的list集合originlist,
定义一个用来存放“每个原文大致匹配对应的ID的集合”的list集合templist,
定义一个用来存放“每个原文大致匹配的ID的所有的集合”的list集合tasklist,
定义一个用来存放“循环originlist的初始变量和大致匹配的ID所有的的list集合”的key:value形式idmap,value值为list集合tasklist,key值为循环originlist的初始变量的值,idmap用来进行步骤3)详细匹配操作使用;
定义一个用来存放“原文大致匹配对应的ID所有的集合”的List集合idlist;
进入originlist的for循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于originlist的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过循环得到originlist的i对应的值originy,进行步骤1)中的步骤1,步骤2,步骤3得到int[]B;
定义一个用来存放“大致匹配范围”的变量maxDistance,maxDistance定义为等于B的长度乘以0.2;
进入maxDistance的for循环:
(1)定义初始变量:deta等于0;
(2)循环条件:deta小于等于maxDistance;
(3)变量变化:deta每次循环完成语句块后deta+1赋值给deta;
(4)循环语句块:执行maxDistance for循环中的增强型内循环:
(1)循环变量类型:int;
(2)循环变量名称:定义为flag;
(3)要被遍历的对象:新建一个数组,数组元素为-1和1;
(4)循环语句块:定义一个用来存放“原文大致匹配的长度”的变量length,length=B的长度加上deta乘以flag,从特征1得到的lineMap取出length值对应的value值,从而得到大致匹配的ID的集合templist,templist存入到tasklist;
maxDistance循环结束后tasklist存入idlist,tasklist为value,循环originlist的初始变量为key存入idmap中;
originlist循环结束后从翻译语料库取出idlist的数据集合p;
3)待匹配数据与集合p进行详细匹配,得到最佳匹配的数据,方法如下:
定义一个用来存放“集合p里面所有的ID和对应的数据”的key:value形式sentencemap,value值为ID对应的数据,key值为ID。
步骤一;进入p的for循环:
(1)循环变量类型:p数据对应的实体类;
(2)循环变量名称:定义为sentence;
(3)要被遍历的对象:集合p;
(4)循环语句块:将所述sentence为value,sentence的ID为key存入sentencemap中。
步骤二;进入originlist的for循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于originlist的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过步骤2)得到的idmap从中取的对应的i的list集合templist,定义一个用来存放“大致匹配数据”的list集合tempsentencelist,执行originlist for循环中的增强型内循环templist:
(1)循环变量类型:int;
(2)循环变量名称:定义为id;
(3)要被遍历的对象:templist;
(4)循环语句块:从步骤3)的步骤一得到的sentencemap中取出对应的id的数据添加到tempsentencelist;
templist内循环结束后,通过循环得到originlist的i对应的值origin和tempsentencelist,进行以下操作;
定义一个用来存放“原文和tempsentencelist匹配度集合”的list集合scores;进入tempsentencelist的for循环:
(1)循环变量类型:tempsentencelist数据对应的实体类;
(2)循环变量名称:定义为sentence;
(3)要被遍历的对象:tempsentencelist;
(4)循环语句块:origin和sentence的原文进行详细匹配,具体匹配如下:
步骤三;定义x变量,x等于origin,定义y变量,y等于sentence的原文;
定义一个用来存放“二维数组有多少个数组和每一个一维数组的元素个数”的二维数组f[][],f定义二维数组有x.length+1个数组,每一个一维数组有y.length+1个元素,定于f[0][0]等于0;
进入x的for循环;
(1)定义初始变量:i等于0;
(2)循环条件:i小于等于x的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:把i赋值给f[i][0];
进入y的for循环;
(1)定义初始变量:j等于0;
(2)循环条件:j小于等于y的长度;
(3)变量变化:j每次循环完成语句块后j+1赋值给j;
(4)循环语句块:把j赋值给f[0][j];
进入x,y的双重for循环,内循环为y循环;
(1)定义初始变量:i,j等于0;
(2)循环条件:i小于等于x的长度,j小于等于y的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i,j每次循环完成语句块后j+1赋值给j;
(4)循环语句块:定义一个用来存放“相同字符在某个矩阵位置的增量不是0就是1”的cost,cost默认是0;如果x的i-1的索引值不等于y的j-1的索引值cost等于1,其余情况cost等于0;定义a等于f[i][j-1]+1,定义b等于f[i-1][j]+1,定义c等于f[i-1][j-1]+cost,取a,b和c最低值d,f[i][j]等于d。最后得到f[x的长度][y的长度]s,放入scores中;
p循环结束后scores倒序得到最佳的匹配结果。
应用例、
利用本发明所述实施例对以下两个字符串进行匹配:
字符串str1=“The interventions lasted for 12weeks,5times a week”;
字符串str2=“The intervention lasted for 12weeks,5times a week”;
利用现有技术海明距离匹配结果为1.0;Jaccard相似度匹配结果为0.0;本方法的匹配结果为99。
除此之外,将本发明所述的方法加载于相关翻译平台中,例如,实施在快译点智慧云平台时,目前语料库5000多万条,100条语料句对和语料库匹配,匹配时间大约在5秒左右,匹配召回率相比其他的相似度方法明显提升,弥补了其他相似度方法存在的长度不同相似度召回率低以及本身字符串相似内容居多时相似召回率低的问题。
Claims (1)
1.一种翻译语料库的匹配方法,其特征在于,包括:
1)获取待匹配语料库数据,将待匹配的原文和对应的ID进行处理;
2)翻译语料库数据与待匹配数据大致匹配得到集合p;
3)待匹配数据与集合p进行详细匹配,得到最佳匹配的数据;
所述步骤1)获取待匹配语料库数据,将待匹配的原文和对应的ID进行以下步骤;
步骤1:将待匹配的原文所有非字母字符替换为空格操作,并且大写转换成小写,得到字符串str;
步骤2:对步骤1得到的字符串str的所有的空格,回车,换行进行分割得到数组int[]A;
步骤3:定义一个用来存放“int[] A的值对应的索引”的变量temp,定义一个用来存放“int[] A的值和对应的索引”key:value形式wordmap,value值为索引,key值为int[] A的值,定义一个用来存放“int[] A所有的值对应的索引”的数组int[] B;进入int[] A的for 循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于int[] A的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过循环得到int[] A的i对应的值word,if条件语句条件为通过步骤3得到的wordmap里面包含word,输出语句temp等于wordmap取出word值对应的value值;否则,输出语句temp等于wordmap的数量,然后将所述temp为value,word为key存入wordmap中;之后,将所述temp放进一个新的数组int[] B;
步骤4:定义一个用来存放“int[] B的长度和对应的值”key:value形式lineMap,value值为数组int[] B和对应的ID,key值为int[] B的长度;lineMap用来进行步骤2)的大致匹配操作使用;
所述步骤2)翻译语料库数据与待匹配数据大致匹配得到集合p,方法如下:
定义一个用来存放“待匹配数据的原文”的list集合originlist,
定义一个用来存放“每个原文大致匹配对应的ID的集合”的list集合templist,
定义一个用来存放“每个原文大致匹配的ID的所有的集合”的list集合tasklist,
定义一个用来存放“循环originlist的初始变量和大致匹配的ID所有的的list集合”的key:value形式idmap,value值为list集合tasklist,key值为循环originlist的初始变量的值,idmap用来进行步骤3)详细匹配操作使用;
定义一个用来存放“原文大致匹配对应的ID所有的集合”的 List集合idlist;
进入originlist的 for 循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于originlist的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过循环得到originlist的i对应的值originy,进行步骤1,步骤2,步骤3得到int[] B;
定义一个用来存放“大致匹配范围”的变量maxDistance,maxDistance定义为等于B的长度乘以0.2;
进入maxDistance的 for 循环:
(1)定义初始变量:deta等于0;
(2)循环条件:deta小于等于maxDistance;
(3)变量变化:deta每次循环完成语句块后deta+1赋值给deta;
(4)循环语句块:执行 maxDistance for 循环中的增强型内循环:
(1)循环变量类型:int;
(2)循环变量名称:定义为flag;
(3)要被遍历的对象:新建一个数组,数组元素为-1和1;
(4)循环语句块:定义一个用来存放“原文大致匹配的长度”的变量length,length=B的长度加上deta乘以flag,从步骤1-步骤4得到的lineMap取出length值对应的value值,从而得到ID的集合templist,templist存入到tasklist;
maxDistance循环结束后tasklist存入idlist,tasklist为value,循环originlist的初始变量为key存入idmap中;
originlist循环结束后从翻译语料库取出idlist的数据集合p;
所述步骤3)待匹配数据与集合p进行详细匹配,得到最佳匹配的数据,方法如下:
定义一个用来存放“集合p里面所有的ID和对应的数据”的key:value形式sentencemap,value值为ID对应的数据,key值为ID;
步骤一;进入p的for循环:
(1)循环变量类型:p数据对应的实体类;
(2)循环变量名称:定义为sentence;
(3)要被遍历的对象:集合p;
(4)循环语句块:将所述sentence为value,sentence的ID为key存入sentencemap中;
步骤二;进入originlist的for循环:
(1)定义初始变量:i等于0;
(2)循环条件:i小于originlist的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:首先通过步骤2)得到的idmap从中取的对应的i的list集合templist,定义一个用来存放“大致匹配数据”的list集合tempsentencelist,执行originlist for循环中的增强型内循环templist:
(1)循环变量类型:int;
(2)循环变量名称:定义为id;
(3)要被遍历的对象:templist;
(4)循环语句块:从步骤3)的步骤一得到的sentencemap中取出对应的id的数据添加到tempsentencelist;
templist内循环结束后,通过循环得到originlist的i对应的值origin
和tempsentencelist,进行以下操作;
定义一个用来存放“原文和tempsentencelist匹配度集合”的list集合scores;进入tempsentencelist的for循环:
(1)循环变量类型:tempsentencelist数据对应的实体类;
(2)循环变量名称:定义为sentence;
(3)要被遍历的对象:tempsentencelist;
(4)循环语句块:origin和sentence的原文进行详细匹配,具体匹配如下:
步骤三;定义x变量,x等于origin,定义y变量,y等于sentence的原文;
定义一个用来存放“二维数组有多少个数组和每一个一维数组的元素个数”的二维数组f[][],f定义二维数组有x.length+1个数组,每一个一维数组有y.length+1个元素,定于f[0][0]等于0;
进入x的for循环;
(1)定义初始变量:i等于0;
(2)循环条件:i小于等于x的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i;
(4)循环语句块:把i赋值给f[i][0];
进入y的for循环;
(1)定义初始变量:j等于0;
(2)循环条件:j小于等于y的长度;
(3)变量变化:j每次循环完成语句块后j+1赋值给j;
(4)循环语句块:把j赋值给f[0][j];
进入x,y的双重for循环,内循环为y循环;
(1)定义初始变量:i,j等于0;
(2)循环条件:i小于等于x的长度,j小于等于y的长度;
(3)变量变化:i每次循环完成语句块后i+1赋值给i,j每次循环完成语句块后j+1赋值给j;
(4)循环语句块:定义一个用来存放“相同字符在某个矩阵位置的增量不是0就是1”的cost,cost默认是0;如果x的i-1的索引值不等于y的j-1的索引值cost等于1,其余情况cost等于0;定义a等于f[i][j-1]+1,定义b等于f[i-1][j]+1,定义 c等于f[i-1][j-1]+cost,取a,b和c最低值d,f[i][j]等于d,最后得到f[x的长度][y的长度]s,放入scores中;
p循环结束后scores倒序得到最佳的匹配结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111039403.3A CN113919371B (zh) | 2021-09-06 | 2021-09-06 | 一种翻译语料库的匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111039403.3A CN113919371B (zh) | 2021-09-06 | 2021-09-06 | 一种翻译语料库的匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113919371A CN113919371A (zh) | 2022-01-11 |
CN113919371B true CN113919371B (zh) | 2022-05-31 |
Family
ID=79234104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111039403.3A Active CN113919371B (zh) | 2021-09-06 | 2021-09-06 | 一种翻译语料库的匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113919371B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838718A (zh) * | 2014-02-24 | 2014-06-04 | 武汉传神信息技术有限公司 | 一种翻译系统及翻译方法 |
CN111611814A (zh) * | 2020-05-08 | 2020-09-01 | 北京理工大学 | 一种基于相似度感知的神经机器翻译方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533391A (zh) * | 2008-03-14 | 2009-09-16 | 英业达股份有限公司 | 一种查找相似的匹配句的系统及其方法 |
JP5497230B1 (ja) * | 2013-06-10 | 2014-05-21 | 株式会社バイトルヒクマ | 翻訳システム及び翻訳プログラム、並びに翻訳方法 |
CN106528647B (zh) * | 2016-10-15 | 2019-07-23 | 传神语联网网络科技股份有限公司 | 一种基于cedar双数组字典树算法进行术语匹配的方法 |
CN107329961A (zh) * | 2017-07-03 | 2017-11-07 | 西安市邦尼翻译有限公司 | 一种云翻译记忆库快速增量式模糊匹配的方法 |
CN109033093A (zh) * | 2018-07-01 | 2018-12-18 | 东莞市华睿电子科技有限公司 | 一种基于相似度匹配的文本翻译方法 |
-
2021
- 2021-09-06 CN CN202111039403.3A patent/CN113919371B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838718A (zh) * | 2014-02-24 | 2014-06-04 | 武汉传神信息技术有限公司 | 一种翻译系统及翻译方法 |
CN111611814A (zh) * | 2020-05-08 | 2020-09-01 | 北京理工大学 | 一种基于相似度感知的神经机器翻译方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113919371A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169305B2 (en) | Marking comparison for similar documents | |
CN112507065B (zh) | 一种基于注释语义信息的代码搜索方法 | |
CN104657439A (zh) | 用于自然语言精准检索的结构化查询语句生成系统及方法 | |
Wilkinson et al. | Neural Ctrl-F: segmentation-free query-by-string word spotting in handwritten manuscript collections | |
US20080059146A1 (en) | Translation apparatus, translation method and translation program | |
CN104881406B (zh) | 网页翻译方法和系统 | |
CN112818712B (zh) | 基于翻译记忆库的机器翻译方法及装置 | |
CN104657440A (zh) | 结构化查询语句生成系统及方法 | |
CN112380319A (zh) | 一种模型训练的方法及相关装置 | |
CN100524293C (zh) | 一种从双语句对获取词对译文的方法及系统 | |
Kesidis et al. | A word spotting framework for historical machine-printed documents | |
CN111209753B (zh) | 一种实体命名识别方法及装置 | |
CN111832299A (zh) | 一种中文分词系统 | |
JP2002189747A (ja) | 文書情報の検索方法 | |
CN105677725A (zh) | 一种用于旅游垂直搜索引擎的前置解析方法 | |
CN105404677A (zh) | 一种基于树形结构的检索方法 | |
CN113343717A (zh) | 一种基于翻译记忆库的神经机器翻译方法 | |
CN116680420B (zh) | 基于知识表示增强的低资源跨语言文本检索方法及装置 | |
CN113919371B (zh) | 一种翻译语料库的匹配方法 | |
CN106776590A (zh) | 一种获取词条译文的方法及系统 | |
CN112183074A (zh) | 一种数据增强方法、装置、设备及介质 | |
CN115577269A (zh) | 一种基于字符串文本特征相似度的黑名单模糊匹配方法 | |
CN105426490A (zh) | 一种基于树形结构的索引方法 | |
Hocking et al. | Optical character recognition for South African languages | |
CN108897730B (zh) | 一种pdf文本的处理方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 250100 Room 102, building 19, Tangye academician Valley, No. 9099, Century Avenue, Tangye street, Jinan area, China (Shandong) pilot Free Trade Zone, Jinan City, Shandong Province Patentee after: Shandong smart translation information technology Co.,Ltd. Address before: 250100 1-1804-2, east ring International Plaza, no.3966, 2nd Ring East Road, Licheng District, Jinan City, Shandong Province Patentee before: Shandong smart translation information technology Co.,Ltd. |