Очистка данных, пост конвертация из ALLCAPS в титул - PullRequest
0 голосов
/ 13 июля 2010

Преобразование базы данных людей и адресов из ALL CAPS в Title Case создаст несколько неправильно прописных слов / имен, некоторые примеры следуют:

Макдональд, доктор философии, CPA, III

Кто-нибудь знает о существующем скрипте, который очистит все распространенные проблемные слова? Конечно, это все равно оставит некоторые ошибки (менее распространенные названия с написанием CamelCase-like, т.е. "MacDonalz").

Не думаю, что это имеет большое значение, но в настоящее время данные хранятся в MSSQL. Поскольку это разовая работа, я бы экспортировал ее в текст, если это требуется для решения.

Существует ветка, которая ставит связанный вопрос, иногда затрагивая эту проблему, но не обращаясь к этой проблеме специально. Вы можете увидеть это здесь:

SQL Server: переведите все ВЕРХНИЕ регистры в правильный регистр / заглавный регистр

Ответы [ 2 ]

2 голосов
/ 14 июля 2010

Не знаю, поможет ли это

private static function ucNames($surname) {
//  ( O\' | \- | Ma?c | Fitz )  # attempt to match Irish, Scottish and double-barrelled surnames
    $replaceValue = ucwords($surname);
    return preg_replace('/
                        (?: ^ | \\b )       # assertion: beginning of string or a word boundary
                        ( O\' | \- | Ma?c | Fitz )  # attempt to match Irish, Scottish and double-barrelled surnames
                        ( [^\W\d_] )        # match next char; we exclude digits and _ from \w
                        /xe',
                        "'\$1' . strtoupper('\$2')",
                        $replaceValue);
}

Это простая функция PHP, которую я использую, чтобы установить фамилии, чтобы исправить регистр, который работает для имен, таких как О'Коннор, Макдональд и МакБет, FitzPatrick, и для двуствольных имен, таких как Хедли-Смайт

0 голосов
/ 31 августа 2010

Вот ответ, который я искал:

Есть компания данных Melissa Data, которая публикует некоторые API и приложения для очистки баз данных - в основном для индустрии прямого маркетинга.

Мне удалось использовать два приложения для решения моей проблемы.

  1. StyleList: это приложение, помимо прочего, конвертирует ВСЕ ЗАГЛУШКИ в смешанный регистр, и в процессе оно не портит данные,оставляя названия, такие как CPA, MD, III и т. д. в такте;а также естественные, распространенные имена в случае верблюдов, такие как McDonalds.
  2. Personator: я использовал personator, чтобы разбить поля Полное имя на Префикс, Имя, Отчество, Фамилия и Суффикс.Честно говоря, это было далеко от совершенства, но данные, которые я дал, были довольно сложными (часто без пробела, разделяющего второе имя и суффикс).Это приложение делает ряд других полезных вещей, в том числе назначение пола большинству имен.Он также доступен в виде API, к которому можно обратиться.

Вот ссылка на решения, предлагаемые Melissa Data:

http://www.melissadata.com/dqt/index.htm

Для меня,приложения Melissa Data выполняли большую часть тяжелой работы, а оставшиеся грязные данные можно было идентифицировать и исправить в SQL с помощью отчетов по счетчикам LEFT x или RIGHT x - грязь обычно имеет наименьшую уникальность, шаблоны легко обнаруживаются и исправляются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...