Есть ли что-то лучше, чем библиотека какаси для сопоставления годзюон?

«Лучше» в первую очередь означает точность, но меня также интересуют любые другие критерии, по которым превосходят другие системы. Я протестировал привязку Perl Text::Kakasi на предмет корректности, правда, ограниченным образом, и она отлично подходит для наших нужд. .

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__
アメリカ合衆国
アラブ首長国連邦
ロシア連邦
中国
南アフリカ共和国
日本
北京(ペキン)
大阪
東京

person daxim    schedule 09.10.2010    source источник
comment
Во-первых, Какаси — это конвертер, который изменяет кандзи на кана или ромадзи. Это не имеет ничего общего с сортировкой. Вы хотите найти лучший конвертер кандзи в кана? Это не то, что вы спросили. Во-вторых, в каком порядке вы хотите отсортировать слова? Если вы выведете слова, отсортированные по значениям юникода каны, вы получите порядок, отличный от порядка, найденного в японском словаре.   -  person    schedule 10.10.2010
comment
Конечно, нужно приложить некоторые усилия, чтобы намеренно неправильно понять тему вопроса и полностью проигнорировать пример программы!   -  person daxim    schedule 10.10.2010
comment
Я не очень хорошо разбираюсь в Perl, но это для сортировки?   -  person Bogdan Maxim    schedule 18.11.2010
comment
Если это так, то вот помощник: stackoverflow.com/questions/3891556/   -  person Bogdan Maxim    schedule 18.11.2010


Ответы (3)


Единственный известный мне другой (серьезный) инструмент преобразования с открытым исходным кодом — это N-gram, не самое явное имя... У него огромные словари, и может быть лучше, чем Какаси. Но я не видел никаких сравнений там.

ИЗМЕНИТЬ:

Я немного подумал о понятии «лучшести» одной библиотеки по сравнению с другими в этом контексте. Одна вещь, которую можно сделать, это взять словари N-gram и запустить их против какаси. Если kakasi не сможет преобразовать некоторые записи N-gram, можно сказать, что N-gram лучше, потому что его словарный запас богаче, что повышает точность сопоставления.

Однако, поскольку корпус слов, основанных на кандзи (которые должны быть преобразованы в кану для правильного сопоставления), не конечен - фамилии среди других являются большой проблемой, поскольку их можно читать практически любым способом, который вы можете себе представить. не быть решением, которое обеспечивает 100% покрытие. Но ОП попросил «лучшее» решение, а не идеальное...

person dda    schedule 27.05.2012

Я не уверен в значении слова «авторитетный».

Но я могу сказать, что Kakashi — хорошо известная бесплатная библиотека, которая до сих пор не устарела.

Если вы можете преобразовать строки кандзи в строки хираганы (или катаканы) с помощью Какаши, полученный порядок сортировки будет в порядке.

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

person kmugitani    schedule 10.10.2010
comment
Я не спрашивал, устарела ли библиотека какаси, а есть ли что-то лучше. - person daxim; 10.10.2010

Учитывая, что все, что делает Какаси, это просто вытаскивание кана/ромадзи из поставляемых словарей для определенных японских строк, вряд ли вы можете получить что-то более точное. Точность зависит от качества используемых словарей.

person Oleg V. Volkov    schedule 22.05.2012
comment
Какаси связывает словарь. Вы не отвечаете на мой вопрос, есть ли что-то лучше. Этот ответ бесполезен. - person daxim; 22.05.2012