`

GIZA++运行报告zz

    博客分类:
  • Giza
阅读更多

GIZA++运行报告zz

一。工作目标

1.构建汉英对齐语料库。

2.下载并编译GIZA++,CMU-Cambridge Statistical Language Modeling toolkit,(以下简称CMU toolkit)获得实验所需的可执行文件。

3.利用目标1所构建的语料库,通过GIZA++进行IBM Model 1-5的训练。

4.利用目标1所构建的语料库,通过mkcls构建word classes。

5.利用目标1所构建的语料库的英文语料,通过CMU toolkit生成英语的语言模型。

二。实验环境

Ubuntu 8.04 LTS Server

gcc version 4.2.4

三。工作步骤

以下按工作目标分节。

3.1构建汉英对齐语料库

1.从以下链接下载双语句对齐语料库:

http://www.nlp.org.cn/docs/docredirect.php?doc_id=991。

该语料库共有1500个英汉对照句对,但某中文句占据了两行,导致整个文件共3001行。需将该中文句找出合并成一行。

2.分离出英文句和中文句,分别保存为english和chinese。

某些中文句中含有英文,某些英文句含有全角标点符号,在分离时需注意。使用如下命令找出所有的英文句,并保存到english:

grep '[aeiou]' 1500.txt > english

然后将english中含有英文的中文句手工删除。

使用如下命令找出所有的中文句,并保存到chinese:

grep -v '^[[:alnum:][:space:][:punct:]]*$' 1500.txt > chinese

然后将chinese中含有全角标点的英文句手工删除。完毕。

本节的输入输出文件可以从这里下载:3000行的1500.txt,english,chinese。

3.2下载并编译程序
3.2.1 GIZA++

1.从这里下载最新的GIZA++:

http://code.google.com/p/giza-pp/downloads/list

该版本在gcc version 3.4.6下无法通过编译。我使用的gcc是4.2.4版本的。注意,解压后修改giza-pp/GIZA++-v2/Makefile,找到-DBINARY_SEARCH_FOR_TTABLE选项,将其删除。原因请看这里。

2.在giza-pp下运行make。make正常结束后,在GIZA++-v2和mkcls-v2目录下各生成了一些可执行文件。完毕。

3.2.2 CMU toolkit

1.从这里下载最新的CMU toolkit:

http://svr-www.eng.cam.ac.uk/~prc14/toolkit.html

2.解压后make即可。完毕。

本节生成的全部可执行文件可以从这里下载:bin.tar.gz。注意,如果你的libc版本与我的不同,你可能无法运行它们。


/////////////////////////////////////
语料预处理

目的:将各种格式不同的生语料进行加工,形成格式统一的语料库,以便进行词语对齐
步骤:
汉语分词
• 工具:ICTCLAS
汉语全半角转换
• 功能: 将A3区的全角字符转换为半角字符
• 程序:A2B
• 命令行: A2B input output
英语分词
• 工具:Brill
英语首字母小写还原
• 功能:将英语语料库中的句首字母进行大小写转换。如果首单词在语料库中出现的次数小写多于大写,则将首字母变为小写。
• 程序:Truecase
• 命令行:Truecase input output

plain2snt:统计单词数,格式转换

命令行 ./plain2snt.out chinese english

/**/
2 上海 738
3 浦东 76
4 开发 389
5 与 3724
chinese.vcb
Format:
单词编号 单词 单词出现次数

/**/
1
2345678
s2 3 4 5 6 7 8 9 10 11 2 12 4 13 14 15
chinese_english.snt
Format: 每个句对占3行
句子出现次数
汉语句子
英语句子

 

mkcls:单词聚类

命令行 ./mkcls -n1 -pchinese -Vchinese.vcb.classes opt
-n:表示训练迭代的次数,一般迭代1次
-p:要聚类的文本,一行一句(已分词)
-V:输出信息
opt:优化运行

/**/
1925年 17          
1925日 47          
chinese.vcb.classes           
Format:                        
单词 词类                          

/**/
2:1月份,83%,AmocoCadiz,_,iii,百分之三十九点四
3:+,TC,百二十万,百六十万,百五十万
chinese.vcb.classes.cats
Format:
词类:单词ss,单词


GIZA++:词语对齐

命令行  ./GIZA++ -S chinese.vcb -T english.vcb -C chinese_english.snt -O c2e
-S:源语言单词表
-T:目标语言单词表
-C:源语言—〉目标语言句子对
-O:输出文件夹
运行结束后,输出很多文件到c2e/文件夹中,主要是产生的对齐文件:


# Sentence pair (1) source length 7 target length 16 alignment score : 4.99368e-28
the development of Shanghai 's Pudong is in step with the establishment of its legal system
NULL ({ 1 3 8 11 13 }) 上海 ({ 4 }) 浦东 ({ 5 6 }) 开发 ({ 2 }) 与 ({ 10 }) 法制 ({ 15 16 }) 建设 ({ }) 同步 ({ 7 9 12 14 })

*.A3.final,每句对3行:
对齐概率
目标句子
源语言句子

分享到:
评论

相关推荐

    GIZA++运行报告

    ### GIZA++运行报告及机器翻译流程详解 #### 一、引言 GIZA++是一款用于统计机器翻译中的词对齐工具,它能够基于平行语料库自动计算源语言与目标语言之间的对应关系。本文档将详细介绍GIZA++的安装、配置以及使用...

    giza++及模型代码解析

    《giza++及模型代码解析》 在信息技术领域,机器翻译(Machine Translation,MT)是一项重要的研究方向,它致力于利用计算机程序将一种语言自动转换为另一种语言。在机器翻译的诸多技术中,词对齐(Word Alignment...

    giza++用作词语对齐,在自然语言处理中有广泛应用

    用户需要先编译源代码,然后按照提供的教程或文档使用训练脚本来运行Giza++。此外,它可能还包含了一些预训练模型,供用户快速测试和理解Giza++的功能。 总结来说,Giza++是自然语言处理领域的重要工具,尤其在机器...

    NLP技术中的词语对齐实现模块 GIZA++在windows上的移植实现

    NLP技术中的词语对齐实现模块 GIZA++在windows上的移植实现!用VS2003.net编译,并在编译前给VS2003安装好STLport-4.6.2库,才能编译运行成功! 注:STLport-4.6.2库,我将在本资源的下一站上传给大家,已经编译好的...

    翻译模型工具:Giza-pp-v1.0.3.tar

    Giza++是一款强大的统计机器翻译(SMT)工具,主要用于构建和分析词对齐模型,是翻译模型研究和开发中的重要软件。它基于IBM模型系列,尤其是IBM模型1至5,以及HMM(隐马尔科夫模型)模型,这些模型在机器翻译领域...

    run_giza:用于运行 Giza++ 的包装脚本

    [giza_bin_dir]:放置 giza++ 和 mkcls 二进制文件的目录。 这些文件应该在该目录中: 吉萨++ mkcls 普通2snt.out snt2cooc.out [tokenizer_script_path]:可以从下载的perl脚本tokenizer.perl [cleaner_scr

    giza-pp-v1.0.7.tar.gz

    使用GIZA++时,用户需要准备双语语料库,然后运行工具进行训练,生成对齐模型。这些模型可以被其他机器翻译系统如Moses、Pharaoh等所利用,进行翻译规则的提取。值得注意的是,GIZA++的计算量较大,因此在处理大规模...

    Moses统计机器翻译系统实验过程

    编译后,会生成三个可执行文件:giza-pp/GIZA++-v2/GIZA++、giza-pp/GIZA++-v2/snt2cooc.out和giza-pp/mkcls-v2/mkcls。 3、IRSTLM的安装: 在Ubuntu系统下,可以使用以下命令安装IRSTLM: ``` sudo apt-get ...

    适合VS2003的STLport-4.6.2库

    这个版本的STLport库是为了解决VS2003原生STL可能存在的性能问题或兼容性问题,以及为了能够顺利运行特定的NLP(自然语言处理)程序GIZA++。 STLport库主要包含以下组件: 1. **容器**:如vector、list、deque、...

    PyPI 官网下载 | giza-0.4.0-rc9.tar.gz

    "**giza**"这个库可能是一个用于自然语言处理(NLP)的工具,因为Giza通常指的是Giza++,这是一个流行的统计机器翻译(SMT)工具,主要用于计算词汇对齐。Giza++主要应用于训练词对齐模型,这对于构建双语词典或进行...

    基于Python实现英词语自动对齐系统【100010953】

    详情介绍:https://www.yuque.com/sxbn/ks/100010953 参照了在分词算法中较为流行的 GIZA++ 的远源码作为蒙版,进行进一步的改写与移植来实现我们的平台。Web 端和服务器搭建等不是本课程内容就不介绍了。

    Giza Pyramids Construction 吉萨金字塔建造算法

    阅读和分析这些代码,我们可以深入理解算法的运行机制和优化过程。 MATLAB作为一种高级编程语言和交互式环境,非常适合进行数学建模和算法开发。在这个项目中,MATLAB可能被用来实现群智能算法,进行多次迭代以找到...

    统计机器翻译开源软件介绍

    - **特点与应用**:虽然其中一些方法已过时,但GIZA及其改进版GIZA++仍然是当前最常用的词语对齐工具之一。GIZA++支持IBM的5个模型,并采用EM算法进行迭代训练,从而得到词语间的翻译概率和对齐关系。例如,“新华社...

    Research on Chinese-Tibetan Word Alignment Parallel Corpus Construction

    本研究通过分析词对齐工具GIZA++,针对中藏语之间的词对齐技术进行了研究,并设计实现了一款可视化的中藏词对齐编辑工具。这款工具不仅操作简便,而且为快速构建中藏词对齐平行语料库打下了良好基础。 关键词包括:...

    基于统计和神经网络的蒙汉机器翻译研究.pdf

    而RNN模型则利用其内在的记忆机制处理序列依赖,通过Giza++工具指导的对齐技术优化了注意力机制,进一步提升了翻译质量。 此外,为了综合各种模型的优点,研究者还构建了一个融合模型,它结合了CNN、RNN和SMT的结果...

Global site tag (gtag.js) - Google Analytics