在SentencePiece词汇表中转义未知符号
项目描述
escape-unk
在SentencePiece词汇表中转义未知符号。这对于MarianNMT工具包特别有用,该工具包不支持用源中注意力最高的词替换未知标记(见此处,感谢@emjotde的想法)。
重要说明:此解决方案远非理想,因为模型(特别是如果没有用转义字符训练),可能无法复制转义的未知字符。理想情况下,您应该使用--byte_fallback
选项训练SentencePiece词汇表。这只是在模型没有字节回退或无法重新训练的情况下的一个权宜之计。
安装
只需从PyPi安装即可
pip install escape-unk
背景
在某些情况下,您的机器翻译模型必须翻译包含SentencePiece词汇表中未知字符的句子。当未知字符输入时,神经网络模型通常开始产生幻觉,输出垃圾信息,或者根本不知道如何翻译。在这些情况下,如果那些字符只需要被复制,将它们转义为其十六进制表示,如果模型能够复制转义符号,这可能是有用的。
在英语-德语词汇表中转义中文字符就像
echo "Beijing (Chinese: 北京) is the capital of the People's Republic of China" | escape-unk -m vocab.deen.spm
Beijing (Chinese: [[e58c97e4baac]]) is the capital of the People's Republic of China
或转义表情符号
echo "I ❤️ you" | escape-unk -m vocab.deen.spm
I [[e29da4efb88f]] you
所以,而不是
echo "Beijing (Chinese: 北京) is the capital of the People's Republic of China" | marian-decoder -c model.config.yml
Peking (chinesisch: ) ist die Hauptstadt der Volksrepublik China
我们将有
echo "Beijing (Chinese: 北京) is the capital of the People's Republic of China" | escape-unk -m vocab.deen.spm | marian-decoder -c model.config.yml
Beijing (chinesisch: [[e58c97e4baac]]) ist die Hauptstadt der Volksrepublik China
以及完整的unescape-unk
管道
echo "Beijing ..." | escape-unk -m vocab.deen.spm | marian-decode -c config.yml | unescape-unk
Beijing (chinesisch: 北京) ist die Hauptstadt der Volksrepublik China
警告:如果转译者未能正确复制转义序列并生成无效序列,则字符将被省略,并替换为空字符串。如果希望在这种情况下失败,请使用带有 unescape-unk
命令的 --strict
/-s
模式。
项目详情
下载文件
下载适用于您平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
escape_unk-1.4.tar.gz (5.0 kB 查看哈希值)
构建分发
escape_unk-1.4-py3-none-any.whl (6.0 kB 查看哈希值)
关闭
escape_unk-1.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c9f9e589439f244eea2bd78f22962a26b1118b3aa97e45075052b4e50c0a838 |
|
MD5 | ab319869d683147bb51433bf2606c3ff |
|
BLAKE2b-256 | 37f37a068835812e594dcfb5b0647dcfd729300815e8a206e413cf8a930240fa |
关闭
escape_unk-1.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c6d1e8733f6474e43a2856099ef2e12bc3bbd9617eb385076983ec6a8035224 |
|
MD5 | fbf0e205c75b0d5d4ac96eef8d839428 |
|
BLAKE2b-256 | 8d97f2ad92eb73ba133b55cc6629c9623c49a8d2c54178c634e255010c720241 |