Еще немного информации о японском:
Когда дело доходит до разделения имен на фамилию и имя, морфологические анализаторы, такие как mecab (упомянутые в ответе @ Holden), в основном работают, но уровень точности не будет очень высоким strong>, потому что они будут правильно понимать только те имена, которые есть в их словаре (статистические возможности mecab в основном относятся к тегам POS и работе с неоднозначными словарными статьями, но если имя собственное отсутствует в словаре, mecab в большинстве случаев разделит его на отдельные символы, что почти всегда неверно). Чтобы проверить это, я использовал случайный список имен в Интернете (этот, который содержит имена 113 человек ), извлекли имена, удалили из них пробелы и протестировали mecab с помощью IPAdic. Получил ок. 21% названий ошиблись.
«Правильные» японские имена, то есть имена японцев, состоят из фамилии (чаще всего 2, но иногда 1 или 3, кандзи) и имени (чаще всего 1 или 2, иногда 3 кандзи, но иногда 2-5 хираганы). Нет отчества и нет понятия инициалов. Вы можете улучшить вывод mecab, (1) используя исчерпывающий словарь фамилий, который можно составить из веб-ресурсов, (2) предполагая, что вывод неверен, если имеется более двух элементов, и затем используйте самодельный словарь фамилий, чтобы распознать часть фамилии, и если это не удастся, используйте правила разделения по умолчанию, основанные на количестве символов. Последнее не всегда будет точным.
Конечно, иностранные имена могут быть представлены и на японском языке. Во-первых, есть китайские и корейские имена, которые обычно представлены с помощью кандзи, то есть любые правила разделения для китайского или корейского, которые вы используете, могут применяться более или менее напрямую. Западные, а также арабские или индийские имена представлены с использованием символов латиницы (хотя, возможно, полной ширины) или символов катакана, часто (но не всегда) с использованием пробел или средняя точка ・ между фамилией и именем. В то время как для имен японцев, китайцев или корейцев порядок в японском представлении всегда будет фамилией, а затем именем, порядок западных имен трудно предсказать.
Вам вообще нужно разделить имена на семейство и заданную часть? В целях дедупликации / очистки данных это необходимо только в том случае, если некоторые из возможных дубликатов появляются в другом порядке или с необязательными инициалами в середине. Ничего из этого невозможно в японских именах (ни китайских, ни корейских именах, если на то пошло). Единственное, что нужно иметь в виду, это то, что если вам дана строка катакана с пробелами или средними точками в ней, вы, вероятно, имеете дело с западным именем, и в этом случае полезно разделение на пробел / среднюю точку.
Хотя разделение, вероятно, на самом деле не требуется, вы должны решить ряд других проблем, не упомянутых в предыдущих ответах:
Транслитерация иностранных имен. В зависимости от того, как была построена ваша база данных, могут быть ситуации, в которых используется западное имя, например «Обама» в одной записи, и японское представление катаканы «オ バ マ» в повторяющейся записи. К сожалению, преобразование латинского языка в катакану непросто, поскольку катакана пытается отразить произношение имени, которое может варьироваться в зависимости от языка или происхождения и акцента того, кто его произносит. Например. тот, кто впервые слышит имя «Обама», может испытать соблазн представить его как «オ バ ー マ», чтобы подчеркнуть долгую гласную в середине. Решение этой проблемы нетривиально и никогда не сработает идеально, но если вы считаете, что это важно для вашей проблемы с очищением, давайте рассмотрим ее в отдельном вопросе.
Варианты кандзи. В японских именах (а также в японских представлениях некоторых китайцев или корейских имен) используются кандзи, которые считаются традиционными версиями современных кандзи. Например, многие распространенные фамилии содержат 澤, что является версией 沢. Например, фамилия Такадзава может записываться как 高 沢 или 高 澤. Обычно только один правильный вариант используется любым конкретным лицом с таким именем, но нередко неправильный вариант используется в записи базы данных. Поэтому вам обязательно нужно привести традиционные варианты к современным, прежде чем сравнивать имена. Эта веб-страница предоставляет сопоставление, которое, конечно, не является исчерпывающим, но, вероятно, Достаточно хорошо для ваших целей.
Как латинские символы, так и символы катаканы существуют как как во всю ширину, так и в полуширину. В катакане обычно используется первое, а на латыни - второе, но нет никакой гарантии. Вы должны нормализовать всю Какатану до полной ширины и всю латинскую до полуширины, прежде чем сравнивать имена.
Возможно, излишне говорить, что существуют различные версии символов пробела, которые вы также должны нормализовать перед сравнением имен. Более того, в последовательности чистых иероглифов я рекомендую удалить все пробелы перед сравнением.
Как уже говорилось, некоторые имена (особенно женские) написаны хираганой. Может случиться так, что в некоторых случаях эти же имена написаны катаканой. Сопоставление между хираганой и катаканой возможно тривиально. Вам следует подумать о нормализации всех Кана (то есть хираганы и катаканы) до общего представления (либо хираганы, либо катаканы), прежде чем проводить какие-либо сравнения.
Также может случиться так, что некоторые имена кандзи представлены с помощью Кана. Это связано с тем, что тот, кто сделал запись в базе данных, возможно, не знал правильного кандзи для имени (особенно с именами, угадать правильный кандзи после прослушивания имени, например, по телефону, очень часто невозможно даже для носителей языка). К сожалению, сопоставление между представлениями кандзи и представлениями кана очень сложно и весьма неоднозначно, например, 真, 誠 и 実 являются возможными кандзи для имени «Макото». Любой человек с таким именем сочтет правильным для себя только одно из них, но невозможно узнать, какое из них, если единственное, что вы знаете, это то, что имя - «Макото». Но Кана основана на звуке, поэтому все три версии одинаковы マ コ ト в Катакане. Словари, встроенные в морфологические анализаторы, такие как mecab, предоставляют сопоставления, но поскольку существует более одного возможного кандзи для любой последовательности Кана и наоборот, фактическое использование этого во время очистки данных значительно усложнит ваш алгоритм. В зависимости от того, как изначально была создана ваша база данных, это может быть или не быть актуальной проблемой.
Специальное редактирование имен авторов публикации: японские переводы неяпонских книг обычно транслитерируют имя автора на катакана. Например. в списке рекомендаций по книгам газеты Asahi сегодня 30 книг; 7 имеют имя западного автора на катакане. У них даже есть сокращенные имена и вторые инициалы, которые они хранят на латыни, например
H ・ S ・ フ リ ー ド マ ン и L ・ R ・ マ ー テ ィ ン
что соответствует
H.S. Фридман (или Фридман, или Фридман, или Фридман?)
и
L.R. Мартин (или Матин, или Махтин?)
Я бы сказал, что это является примером наиболее распространенного способа работы с именами авторов неяпонского происхождения книг:
- Инициалы сохранены как латинские.
- Несокращенные части имени даны в катакане (но нет однозначно определенного сопоставления между латинским и катаканой, как описано в 5.1)
- Сохраняется порядок: первое, среднее, фамилия. Это очень распространенное соглашение для имен авторов, но в базе данных клиентов оно может отличаться.
- Для разделения элементов используются либо пробел, либо средняя точка (как указано выше), либо стандартная точка ASCII.
Итак, если ваш проект связан с именами авторов книг, я считаю, что следующее верно в отношении неяпонских авторов:
Один и тот же автор может появиться в латинском (в неяпонской записи), а также в представлении катаканы (в японской статье). Чтобы определить, что две такие записи относятся к одному и тому же автору, вам необходимо сопоставить катакану и латынь. Это нетривиальная проблема, но тоже не является непреодолимой (хотя она никогда не будет работать на 100% правильно). Я не уверен, что хорошее решение доступно бесплатно; но давайте рассмотрим это в отдельном вопросе (возможно, с помощью japanese тег a>), если требуется.
Даже если по какой-то причине мы можем предположить, что нет латинских дубликатов имен катаканы, все же есть хороший шанс, что в катакане есть несколько вариантов (из-за 5.1). Однако для имен авторов (в частности, известных авторов) можно с уверенностью предположить, что количество вариаций относительно ограничено. Следовательно, для начала может быть достаточно нормализовать точки и пробелы.
Разделение на имя и фамилию тривиально (пробелы и точки), и порядок имен, как правило, будет одинаковым для всех вариантов.
Западные авторы, как правило, не будут представлены с использованием иероглифов. Есть несколько человек, которые считают себя настолько близкими к Японии, что выбирают кандзи для своего имени (это вопрос выбора, а не просто транслитерации, потому что кандзи несут значение), но это будет настолько редко, что вряд ли стоит беспокоясь о.
Что касается японских авторов, они будут представлены кандзи, как описано во второй части основного ответа. В западных переводах их книг их имена, как правило, будут даваться на латыни, и порядок будет меняться. Например,
村上 春樹 (村上 = Мураками, фамилия, 春樹 = Харуки, имя)
будет представлен как
Харуки Мураками
о переводах его книг. Такое сопоставление кандзи и латыни требует очень обширного словаря и довольно большой работы. Кроме того, написание на латыни не всегда может быть однозначно определено, даже если это возможно при чтении кандзи. Например. одно из наиболее частых японских фамилий, 伊藤, может произноситься как «Ито», так и «Ито» на английском языке. Даже «Ито» и «Итоо» не невозможны.
Если японско-латинское перекрестное сопоставление не требуется, единственный вид вариации среди самих представлений кандзи, который вы увидите, - это варианты кандзи (5.2). Но чтобы было ясно, даже если существует как традиционный, так и современный вариант кандзи, только один из них является правильным для любого конкретного человека. Ввод неправильного варианта кандзи может легко произойти, когда телефонный оператор вводит имена в базу данных, но в базе данных имен авторов это будет относительно редко, поскольку правильное написание автора можно проверить относительно легко.
Относительно вопроса о версии 5.6 (Кана против иероглифов):
Имя некоторых людей не имеет представления кандзи, только хирагана. Поскольку существует взаимно однозначное соответствие между хираганой и катаканой, есть большая вероятность, что оба варианта появятся в базе данных. Я рекомендую преобразовать всю хирагану в катакану (или наоборот) перед сравнением.
Однако имена большинства людей написаны кандзи. На обложке книги будут использоваться эти иероглифы, поэтому, скорее всего, они также будут использоваться в вашей базе данных. Единственные причины, по которым кто-то может ввести Кана вместо Кандзи: (а) когда он / она не знает правильного иероглифа (возможно, маловероятно, поскольку вы можете легко выполнить поиск на Amazon или что-то еще, чтобы узнать), (б) когда база данных создана для поисковых целей. Поисковые системы по каталогам книг могут включать версии катаканы, потому что это позволяет пользователям находить авторов, даже если они не знают правильного иероглифа. Следовательно, требуется ли вам преобразование кандзи-кана (что является сложной проблемой), зависит от первоначального назначения данных и того, как была создана база данных.
Что касается псевдонимов: есть псевдонимы, которые используются в повседневной беседе, но я сомневаюсь, что вы найдете их в базе данных авторов. Я понимаю, что есть языки (например, польский), в которых используются псевдонимы или уменьшительные (например, «Gosia» вместо «Małgorzata») почти обычным образом, но я бы не сказал, что это относится к японскому языку.
Что касается китайского языка: я не могу дать исчерпывающий ответ, но, по крайней мере, не существует всей проблемы вариации кандзи-кана, потому что китайский язык использует только кандзи (под именем Ханзи). Однако существует серьезная проблема с вариациями иероглифов (особенно между традиционными вариантами (используемыми на Тайване) и упрощенными вариантами (используемыми на материке)).
Что касается корейского: насколько мне известно, корейцы обычно могут писать свое имя на ханджа (= кандзи), хотя они не используют ханджа для большей части остального языка большую часть времени), но, очевидно, есть Тоже хангыльская версия названия. Я не уверен, в какой степени требуется преобразование ханджа-хангыль для решения такой проблемы очищения, как ваша. Если да, то это будет очень сложная проблема.
Что касается региональных вариантов: в японском языке нет региональных вариантов самих символов кандзи (по крайней мере, в наше время). Кандзи любого автора будут написаны одинаково по всей Японии. Конечно, есть определенные фамилии, которые в одном регионе встречаются чаще, чем в другом. Если вас интересуют сами имена (а не люди, к которым они относятся), региональные варианты (а также различия между традиционными и современными формами иероглифов) будут иметь значение.
09.04.2012