怎么提取文章中的段落,如何提取文章中的文字

首页 > 实用技巧 > 作者:YD1662023-05-19 03:11:42

昨天我收到一位北语高翻毕业生的来信,询问有关SDL Trados Studio 2017中提取并翻译重复句段的问题,这让我萌生了做一个简单的提取重复句段工具的念头,实践之后发现一点都不难。我简单说一下方法,然后大家就可以自己前往下面的网站去在线体验了:

提取TMX文件中的重复句段:

http://translation.education/tmxfilter/

提取一篇中文文档中的重复句段:

http://translation.education/sentencefilter/

提取一篇中文文档中的重复中文字句:

http://translation.education/senfilter/

正文

以下是使用代码获取重复句段的方法:

第一步:获取待译文本中的句子

以中文为例,我写了一段简单的文本,如下:

怎么提取文章中的段落,如何提取文章中的文字(1)

这段文本实际上就是几个简单句子的重复。

第二步:将上述文本转换为tmx格式文件

我使用SDL Trados Studio 2017将上述文本转换为一个tmx格式翻译记忆库文件,方便演示其原理,在我最后给大家展示的在线网站中大家直接粘贴原文到网站中即可操作,不必像我这样弄得这么麻烦。

我将上述文本转换为一个.tmx格式的文件后,开始撰写代码。

第三步:使用PHP提取重复内容

怎么提取文章中的段落,如何提取文章中的文字(2)

全部代码就是上面这样,实际上只用了11行代码,而且还可以进一步简化。每一行代码的功能我就不解释了,我就说一下我用到的一个核心函数:array_count_values

w3school是这样介绍这个函数的:

怎么提取文章中的段落,如何提取文章中的文字(3)

也就是说,我们将待译原文的每一个句子放到一个数组中,然后用这个函数对每一句话进行统计,看看它在这个数组中出现了多少次,然后把次数和句子放到一个新的数组中。我们只要把这个新的数组的内容展示出来就知道每个句子出现多少次了。

上述代码在demo.tmx文件上运行后的效果如下图:

怎么提取文章中的段落,如何提取文章中的文字(4)

以上就是使用PHP提取重复句段的方法,实际上非常非常简单,我改进了一下上面这段代码,加上了上传文件的功能,所以大家可以在下面的网址中尝试抽取一个tmx文件中原文中的重复句段:

http://translation.education/tmxfilter

以上就是从一个翻译记忆库格式的文件中提取重复句段的方法。但是许多朋友不想使用tmx文件,只想在线粘贴,所以我又做了下面这个工具:

http://translation.education/sentencefilter/

怎么提取文章中的段落,如何提取文章中的文字(5)

即把一整篇文章粘贴进去后会看到重复句段的统计结果。

除此以外,我还做一个小句的统计结果,也就是把一个长句按标点符号分割成若干小句,看看哪些小句出现的次数最多:

http://translation.education/senfilter/

大家自己可以在电脑上试一下上面三个网站,看看效果。点击“阅读原文”可以体验第二个网站的功能。

我会根据大家的反馈,看看还能增添什么新功能进去,大家有问题可以在下方留言。

小结

统计重复句段是个很有意思的话题,除了统计完全一样的句段外,更有价值的是研究如何统计重复的相似句段,我还在这方面努力中,有成果后再和大家分享。

祝大家春节快乐!

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.