2017-11-21 11 views
4

オリジナルのフレーズを取得する方法はありますか?Apertiumトランスレータ。

I.E.

phrase: { 
    original: { Hola, buenos días}, 
    translated: {Hello, good morning} 
} 

翻訳を改善するためのメカニズムを作るには、その必要があります。

答えて

4

コマンドラインインターフェイスからコーパスを送信している場合(例:

xzcat corpus.sme.xz | sed 's/$/ ./' | apertium -f html-noent sme-nob > translated.nob.mt 

あなたは出力に次の入力を取得するために、その後、単に

xzcat corpus.sme.xz | paste - translated.nob.mt 

を試すことができます。これは、改行で物を分割したいと仮定しています。 sedには、改行の前後に単語が移動しないようにするためのルールがあります(ルールは文境界を越えて移動しない傾向があります)。

これは高速ですが、少しハッキーです。多くのエッジケースがあります。


あなたはより多くの制御をしたい場合は、一つの方法は、ローカルJSON APIをインストールし、一度に一つのリクエストを送ることであろう。あなたが最近のDebian/Ubuntuのを持っている(またはapertium reposのいずれかを使用している)場合は

は、あなたが

sudo apt install apertium-apy 
sudo systemctl start apertium-apy # start it right now 
sudo systemctl enable apertium-apy # let it start on next boot 

でAPIを取得することができます。そして、あなたは次のように変換することができます。

$ echo 'Jeg liker ikke ansjos' | curl --data-urlencode '[email protected]' 'localhost:2737/translate?langpair=nob|nno' 
{"responseDetails": null, "responseData": {"translatedText": "Eg likar ikkje ansjos"}, "responseStatus": 200} 
デフォルトでapertium-APYをtを働くこと(標準AJAXリクエストとともにまたはJavaScriptから、 http://wiki.apertium.org/wiki/Apertium-apy/Debianhttp://wiki.apertium.org/wiki/Apertium-apy#Usageにおけるいくつかのドキュメント)

注/ usr/share/apertium/modesにあるペア。 (systemctlの代わりに)手動で起動する場合は、別のパスを指定することができます。


あなたはあなたの例では持っていたJSON形式を生成したい場合は、最も簡単な方法は、例えば、jqsudo apt install jq)を用いることであろう

$ orig="Jeg liker ikke ansjos" 
$ echo "$orig" \ 
    | curl -Ss --data-urlencode '[email protected]' 'localhost:2737/translate?langpair=nob|nno' \ 
    | jq "{phrase: {original:\"$orig\", translated:.responseData.translatedText }}" 
{ 
    "phrase": { 
    "original": "Jeg liker ikke ansjos", 
    "translated": "Eg likar ikkje ansjos" 
    } 
} 

又はコーパスに:

xzcat corpus.nob.xz | while read -r orig; do 
    echo "$orig" \ 
    | curl -Ss --data-urlencode '[email protected]' 'localhost:2737/translate?langpair=nob|nno' \ 
    | jq "{phrase: {original:\"$orig\", translated:.responseData.translatedText}}"; 
done 

pasteバージョンは5.5Sを取りながら、500行の簡単なテストは、この撮影23.7sウォールクロック時間を示した)

関連する問題