美文网首页论文资料
英文学术论文的机器翻译

英文学术论文的机器翻译

作者: 持续学习的程序员 | 来源:发表于2018-01-01 14:12 被阅读68次

    看英文文献对于英语基础薄弱的学生一直是一个恼火的问题,幸好现在机器翻译的水平越来越高了,虽然并不完美,但是作为参考是足够的。

    最简单的方法:

    1. 免费的在线文档翻译器https://www.onlinedoctranslator.com/zh-CN/

    该网站使用谷歌翻译,还能够保留原文档的排版,亲测可用。


    image image
    2. 谷歌翻译
    (1)打开谷歌翻译https://translate.google.com.hk/
    image
    (2)选择文件,翻译为中文
    image
    (3)将翻译结果存储为word或者其他格式文件里面,与英文对照阅读。

    以上两种方法存在的缺点

    image

    如图所示,因为论文的排版,这两句话被拆分为3句,相应的翻译结果必定会打折扣。

    利用c++对论文进行修改之后上传翻译

    第一步:将PDF转为txt文件
    image
    第二步:c++代码
    #define LOCAL
    #include <iostream>
    #include <cstring>
    #include <string>
    #include <cstdio>
    
    using namespace std;
    
    int main()
    {
        #ifdef LOCAL
        freopen("输入文件的路径,如C:\\Users\\dell\\Desktop\\cc.txt","r",stdin);//注意加转义字符
        freopen("输出文件的路径,如C:\\Users\\dell\\Desktop\\alphago-master_out.txt","w",stdout);//注意加转义字符
        #endif // LOCAL
        string line1;
        while(getline(cin , line1)){
            if(line1[line1.length()-1] == '-'){//针对本行单词未写完的情况
                line1 = line1.substr(0, line1.length()-1);
            }else if(line1[line1.length()-1] != ' '){
                line1.push_back(' ');
            }
            if(isupper(line1[0])){
                    cout << "\n" << "  " << line1;
                }else if(
                         (isdigit(line1[0]) && (line1[1]=='.' || line1[2]=='.'))//针对类似“2.3这样的小标题”
                         || line1[0] == '['){
                    cout << "\n" << line1;
                }else{
                    cout << line1;
    
                }
        }
        return 0;
    }
    
    该步骤有可能出现转换不完全的情况,是由于出现类似“�”这样的不在C++ string编码的字符。这时从源文件里面找到输出文件最后一个字符的下一个字符,将文件里面的该字符所有都替换为空。
    image
    image
    第三步:翻译

    使用以上的两个简单方法的任意一种,翻译程序输出的文件。与英文文档对照使用。

    相关文章

      网友评论

        本文标题:英文学术论文的机器翻译

        本文链接:https://www.haomeiwen.com/subject/qjdtnxtx.html