统计机器翻译中翻译模型的构建

本文介绍了一种基于GIZA++工具构建统计机器翻译模型的方法。文中提到了使用的具体版本及遇到的问题解决办法,如buffer overflow问题通过修改file_spec.h文件解决,并提供了详细的命令参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为课程的缘故,需要和同学一起折腾一个统计机器翻译工具出来。我的工作就是翻译模型构建这一步。根据网络上的说法,我使用了GIZA++这个工具。以下内容参考了如下资源:

  1. 翻译系统搭建,这个资料算是比较全面的,但是在没有说明应该使用哪个版本的GIZA++和mkcls
  2. GIZA++实验报告,比上面文档更加详细(翻译模型这一块),也给出GIZA++的版本和一些解决方案,但是我没有使用,但是命令都是采用这些这个实验报告里面提供的命令
  3. ti.final等文件未生成的解决方法,Issue 29,解决方案就是采用1.0.3的giza++
  4. 旧的版本的giza++运行时buffer overflow,Issue 11,解决方案是修改giza++的file_spec.h

*** file_spec.h	2009/07/10 21:38:39	1.1
--- file_spec.h	2009/07/13 11:37:21
***************
*** 37,49 ****
    struct tm *local;
    time_t t;
    char *user;
!   char time_stmp[17];
    char *file_spec = 0;
    
    t = time(NULL);
    local = localtime(&t);
    
!   sprintf(time_stmp, "%02d-%02d-%02d.%02d%02d%02d.", local->tm_year, 
  	  (local->tm_mon + 1), local->tm_mday, local->tm_hour, 
  	  local->tm_min, local->tm_sec);
    user = getenv("USER");
--- 37,49 ----
    struct tm *local;
    time_t t;
    char *user;
!   char time_stmp[19];
    char *file_spec = 0;
    
    t = time(NULL);
    local = localtime(&t);
    
!   sprintf(time_stmp, "%04d-%02d-%02d.%02d%02d%02d.", 1900 + local->tm_year, 
  	  (local->tm_mon + 1), local->tm_mday, local->tm_hour, 
  	  local->tm_min, local->tm_sec);
    user = getenv("USER");
NOTE: 上面的步骤中漏掉了中英文的分词,这一部分的工作是后面工作的基础!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值