假名到汉字逆变器的SKK

时间:2018-09-27 08:16:23

标签: docker kana kanji kakasi

我正在使用kakasi逆变器将汉字字符转换为罗马字,如下所示:

echo "日本が好きです。" | kakasi -i euc -Ha -Ka -Ja -Ea -ka -s -iutf8 -outf8
nippon ga suki desu .

KAKASI是基于字典的简单汉字假名逆变器。相反,这是一项艰巨的任务,但是有一些方法可以将假名转换为汉字,然后再转换成 Romanji 。卡卡西人可以通过汉字,日语等类似版本的

进行平假名
echo "7月31日" | iconv -f utf8 -t shift-jis | kakasi -JH -KH -Ea -s | iconv -f shift-jis -t utf8

7 がつ 31 にち

我已经建立了this随kakasi和 libskk 一起提供的Dockerfile,它应该是假名汉字转换器,但是我不能摆脱它。 Dockerfile随附了this个SKK词典集合,并且已经配置为像libskk示例here中那样使用:

$ echo "A i SPC" | skk
{ "input": "A i SPC", "output": "", "preedit": "▼愛" }
$ echo "K a p a SPC K a SPC" | skk
{ "input": "K a p a SPC K a SPC", "output": "", "preedit": "▼かぱ【▼蚊】" }
$ echo "r k" | skk -r tutcode
{ "input": "r k", "output": "あ", "preedit": "" }
$ echo "a (usleep 50000) b (usleep 200000)" | skk -r nicola
{ "input": "a (usleep 50000) b (usleep 200000)", "output": "うへ", "preedit": "" }

我想使用libskk将假名转换为汉字,最终通过编程将kakasi用作中间步骤。对于Kakasi,我已经构建了一个Node.js包装器here,并且我正尝试对SKK库执行相同的操作。

current文档是日文,而执行此操作的示例是mecab-skkserve,但我找不到有关其工作原理的文档。

这里有一些基于skk可用示例的尝试

$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.L
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.S
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.M
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.M -r tutcode
{ "input": "n i p p o n g a s u k i d e s u", "output": "然諾毎度大団", "preedit": "u" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.M -r nicola
{ "input": "n i p p o n g a s u k i d e s u", "output": "めく,,つめせうしちきくてたし", "preedit": "" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.L.unannotated 
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.itaiji
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }
i$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.jinmei 
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.ML
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }
$ echo "n i p p o n g a s u k i d e s u" | skk -f ../dict/SKK-JISYO.hukugougo 
{ "input": "n i p p o n g a s u k i d e s u", "output": "にっぽんがすきです", "preedit": "" }

这是kakasiskk之间通过jq传递数据的有趣管道:

echo "もし君を 許せたら" | kakasi -i euc -Ha -Ka -Ja -Ea -ka -s -iutf8 -outf8 | awk '{gsub(/./,"& ",$0);print}' | skk -f ../dict/SKK-JISYO.M -r tutcode | jq -r .output

養せ校循七野寮开始时结果为もし君を 許せたら

注释

有关kakasi的更多信息,请参见官方网站here

0 个答案:

没有答案