gpt4 book ai didi

nlp - 从两个句子对齐的文本构建字典?

转载 作者:行者123 更新时间:2023-12-02 05:31:51 27 4
gpt4 key购买 nike

我有一个文本语料库,它已经通过构造在句子级别对齐 - 它是一对英语字符串及其在另一种语言中的翻译列表。我有大约 10 000 个字符串,每个字符串 5 - 20 个单词及其翻译。我的目标是尝试建立翻译质量的指标 - 当然是自动的,因为我正在处理我一无所知的语言:)

我想根据这个翻译列表构建一个字典,它将给我源英语字符串中每个单词到另一种语言的(最可能的)翻译。我知道这本词典远非完美,但我希望我能有足够好的东西来标记一个词翻译不一致的情况,例如,如果我的词典说“Store”将由“Magasin”翻译成法语然后,如果我发现某个地方将“Store”翻译为“Boutique”,我就会怀疑哪里出了问题。

所以我需要:

  1. 根据我的语料库构建字典
  2. 对齐字符串/翻译对中的单词

关于如何执行此操作,您是否有很好的引用资料?已知算法?我发现了很多关于文本对齐的链接,但它们似乎更多地是在句子级别而不是单词级别...

对于如何自动检查翻译是否一致的任何其他建议,我们将不胜感激!

提前致谢。

最佳答案

GIZA++ 是一个免费的(特别是 GPL 许可的)单词对齐工具。我训练了其他答案中提到的著名 IBM 模型以及其他统计模型。

您可以从GIZA++ site at Google Code 下载它。 , 并在 GIZA++ Apertium 中对其用法进行了简要介绍。 .归结为这个过程:

  1. 创建你的平行语料库,句子对齐(你似乎已经有了)
  2. 应用GIZA++自带的plain2snt工具提取GIZA++格式的词表和句表
  3. (可选 - 仅用于某些模型:)使用 mkcls 工具(也包括在内)生成词类
  4. 运行实际的单词对齐工具 GIZA++。您可以使用各种可选配置设置来确定生成的模型类型。

在执行此操作之前,您必须通过运行 make 从源代码构建该工具。代码是用 C++ 编写的,可以很好地与最新的 GCC 版本编译。

一些最后的说明:

  • 每个词都有不止一种可能的翻译;您不应该仅仅因为同一个词在另一文本中的翻译不同就假设在一个文本中找到的特定翻译必然是错误的;

  • 一个词可能被翻译成一个(不一定是连续的)序列的几个词,反之亦然。有些词根本没有翻译;

  • GIZA++ 是一种近似正确单词对齐的统计工具;它生成的许多对齐方式都是有问题的或不正确的。

关于nlp - 从两个句子对齐的文本构建字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12249120/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com