Возможен ли баланс между unidic и unidic-neologd?

С предложением "это немного сложно найти, но это хорошее место".), Используя выражение "場所は多少わか か りづらい い ん す すけ 、感 感 感。。" mecab с -d mecab-unidic-neologd первая строка вывода:

場所  バショ バショ 場所  名詞-固有名詞-人名-姓

Т.е. там написано "場所" - это фамилия человека. Используя обычный mecab-unidic, он более точно говорит, что "場所" - просто простое существительное.

場所  バショ バショ 場所  名詞-普通名詞-一般      

Мой первый вопрос: заменил ли unidic-neologd все записи в unidic, или он просто добавил 3 миллиона собственных имен?

Затем, во-вторых, если предположить, что это слияние, возможно ли переоценить записи, чтобы более сильно предпочесть простые единичные записи? Т.е. я бы хотел получить 中 中 広のミになる図書館 и SMAP, каждый из которых распознается как одноименное собственное существительное, но мне также нужно, чтобы that всегда означало "место" (за исключением случаев, когда суффикс имени, такой как さん или 様, конечно).

Рекомендации: unidic-neologd

1 ответ

Решение

Neologd сливается с unidic (или ipadic), по этой причине он сохраняет "unidic" в названии. Если запись состоит из нескольких частей речи, например 場所, то какую запись использовать, выбирается путем минимизации затрат по предложению с использованием переходов части речи и, для слов в словаре, стоимости каждого токена.

Если вы посмотрите в CSV-файл, содержащий записи словаря neologd, вы увидите две записи для 場所:

場所,4786,4786,4329,名詞,固有名詞,一般,*,*,*,バショ,場所,場所,バショ,場所,バショ,固,*,*,*,*                              
場所,4790,4790,4329,名詞,固有名詞,人名,姓,*,*,バショ,場所,場所,バショ,場所,バショ,固,*,*,*,*

И в lex.csvстандартный словарь unidic:

場所,5145,5145,4193,名詞,普通名詞,一般,*,*,*,バショ,場所,場所,バショ,場所,バショ,混,*,*,*,*

Четвертый столбец - это стоимость. Более вероятно, что будет выбран предмет с более низкой стоимостью, поэтому в этом случае вы можете поднять стоимость на 場所 как на собственное существительное, хотя, честно говоря, я бы просто удалил его. Вы можете прочитать больше о возни с ценой здесь (на японском).

Если вы хотите более точно взвешивать все стандартные записи unidic, вы можете изменить файл neolog CSV, чтобы увеличить все веса. Это один из способов создать такой файл:

awk -F, 'BEGIN{OFS=FS}{$4 = $4 * 100; print $0}' neolog.csv > neolog.fix.csv

Вам придется удалить исходный файл csv перед сборкой (см. Примечание 2 ниже).

В данном конкретном случае, я думаю, вы должны сообщить об этом как об ошибке в проекте Neologd.


Примечание 1: Как упоминалось выше, поскольку выбранная запись зависит от предложения в целом, можно получить тег non-Proper-Noun даже с конфигурацией по умолчанию. Пример предложения:

お店の場所知っている?

Примечание 2: То, как словарь neologd сочетается с унидным словарем по умолчанию, основано на тонком аспекте работы сборок Mecab. В частности, все файлы CSV в каталоге сборки словаря используются при создании системного словаря. Порядок не указан, поэтому неясно, что происходит в случае столкновения.

Эта функция упоминается в документации Mecab здесь (на японском языке).

Другие вопросы по тегам