我如何设计一个用于匹配翻译句子的启发式方法



摘要

我正在尝试设计一种启发式方法来匹配翻译中的句子(从原始语言到翻译语言),并希望得到指导和提示。也许有一种启发式方法已经做了类似的事情?因此,给定两个文本文件,我希望能够匹配这些句子(这样我就可以挑出一个句子,并说这是该句子的翻译)。

详细信息

输入的文本将是翻译过的小说。所以我不希望翻译是字面意思,尽管使用谷歌翻译之类的东西可能是测试启发式准确性的好方法。

为了帮助我,我有一个图书馆,它会对翻译文本的内容进行润色,并给我句子中单词的定义。我知道的其他事情:

  • 章节和秩序得以保留;我知道第三章的第一句话将与翻译的第三章中的第一句匹配(注意,这不是严格意义上的正确;第一句话可能与前两句匹配,甚至与第二句匹配)
  • 我可以计算整体大小(字符、句子、段落);这可以让我了解句子大小的平均差异(例如,翻译可能长30%)

看看我的一些书,翻译版的句子比原文多30%。

实施

(如果重要的话)

  • 我计划用Java做这件事,但我并不那么担心,任何语言都可以
  • 我不太关心速度

我想为了确保匹配,可能需要一些用户反馈。比如说"是的,这个句子肯定和那个句子匹配。"这会给启发式提供更多的依据。这意味着用户需要对语言有一点精通。

背景

(对于感兴趣的人)

我之所以要做这个,是因为我希望它能帮助我学习外语。我正在学习日语,发现很难找到"好"的材料("好"是指我喜欢什么)。已经有一些工具可以对视频中的字幕进行类似的处理(这是一项更容易的任务——使用视频的时间信息)。但据我所知,短信什么都没有。

在NLP研究中使用了一些称为"句子对齐器"的工具,这些工具可以完全满足您的需求。

我建议hunlign:

http://mokk.bme.hu/resources/hunalign/

和MS语句对齐器:

http://research.microsoft.com/en-us/downloads/aafd5dcf-4dcc-49b2-8a22-f7055113e656/

两者都还可以,但请记住,没有什么是完美的。太难对齐的句子会被删除,有些句子可能会被错误对齐。

最新更新