【问题标题】:How to handle names/unknown words in neural machine translation?如何处理神经机器翻译中的名字/未知词?
【发布时间】:2019-08-12 09:13:36
【问题描述】:

谁能解释在神经机器翻译中处理未知单词而不是删除它的最佳方法,并知道在句子在任何两种语言之间进行翻译时谷歌翻译如何处理名称? p>

非常感谢您的回复...谢谢!

【问题讨论】:

    标签: nlp machine-translation natural-language-processing


    【解决方案1】:

    当前的 NMT 模型不适用于传统意义上的单词,而是使用所谓的子词。将文本分割成子词是使用统计模型完成的,该模型确保经常使用的单词或字符串保持在一起,而不太常见的单词被分割,最终它们可以分割成单独的字符。这样,就不会出现词汇表外的单词了。源语言和目标语言的分割是一样的,所以模型很容易学会复制。

    目前,最常用的方法是Byte-Pair Encoding 和SentencePiece,它们都可以通过pip 获得并且易于使用。

    Google 在其2016 paper 中声称使用了一种称为 WordPiece 的类似技术,但是,他们可能已改用 Google 于 2018 年公开的 SentencePiece。

    【讨论】:

    • 谢谢!可以给句清晰的示例代码吗?
    • GitHub page of the project 有很棒的教程。
    • 感谢您的有效解决方案 :)
    猜你喜欢
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2021-05-23
    • 1970-01-01
    • 2018-08-24
    • 2021-03-09
    相关资源
    最近更新 更多