gojûon整理有没有比kakasi图书馆更好的东西?

dax*_*xim 9 unicode perl collation cjk

"更好"主要意味着准确性,但我也对其他系统擅长的任何其他标准感兴趣.我Text::Kakasi以一种公认有限的方式对Perl绑定进行了正确的采样,它可以很好地满足我们的需求.

use utf8;
use Encode;
use Text::Kakasi;
use Unicode::Collate;

my $k = Text::Kakasi->new(qw(-iutf8 -outf8 -JH));
my $c = Unicode::Collate->new;

print encode_utf8 $_ for
    map  { $_->[0] }
    sort { $c->cmp($a->[1], $b->[1]) }
    map  { [$_, $k->get($_)] }
    <DATA>;

__DATA__
???????
????????
?????
??
????????
??
???????
??
??
Run Code Online (Sandbox Code Playgroud)

dda*_*dda 5

我所知道的唯一其他(严肃的)开源转换工具是N-gram,而不是最明确的名称......它有很多字典,可能比Kakasi更好.但我没有看到任何比较.

编辑:

在这种情况下,我考虑过一个图书馆的"更好"概念.可以做的一件事就是拿出N-gram的字典并对抗kakasi.如果kakasi无法转换一些N-gram的条目,可以说N-gram更好,因为它的词典更丰富 - 提高了整理的准确性.

然而,由于基于汉字的单词的语料库(需要转换成假名才能正确整理)并不是有限的 - 家族名称等等都是一个大问题,因为它们几乎可以通过任何你能想象的方式阅读 - 可以不是提供100%覆盖率的解决方案.但OP要求"更好"的解决方案,而不是一个完美的解决方案......


kmu*_*ani 2

我不确定“权威”的含义。

但我可以说 Kakashi 是众所周知的免费软件库,并且今天仍然没有过时。

如果您可以通过卡卡西将汉字字符串转换为平假名(或片假名)字符串,则生成的排序顺序就可以了。

http://www.utf8-chartable.de/unicode-utf8-table.pl