|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Добрый день. Мне нужно найти область науки о базах данных занимающююся этой проблематикой (описание проблемы ниже). Как данная проблема правильно называется в академических кругах, под каким названием она упоминается в литературе. О конкретных публикациях\книгах\алгоритмах я даже не мечтаю ибо область оч спецефическая. Проблема формулируется так: Есть несколько БД информация в которых (в следствии разных её источников) записана по-разному т.е. в другом формате или просто с ошибкой, а может быть даже и на транслите или с частичной заменой букв цифрами. Нужно эти базы данных свести воедино т.е. уствновить соответсвие между инфой записанной по-разному. Например: есть три БД - в одной БД предприятие числится как "ОАО Укртелеком", приобрело "5" едениц продукции. - во второй числится как "Отркрытое Акционерное Общество Укрт3лек0м", приобрело "3" ед. продукции - в третей числится как "OAO Ukrtelekom", приобрело "2" ед. прод. А после анализа в новой БД должно быть "ОАО Укртелеком", приобрело "10" (5+2+3) ед. прод. Пожалуйста, дорогие друзья, помогите понять где искать инфу. Пишу диплом, это одна из проблемных областей, сроки горят, а я даже не представляю куда копать... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2011, 18:53 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Data mining, может быть. Но это слишком обобщенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2011, 19:12 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Mental_ForceНапример: есть три БД - в одной БД предприятие числится как "ОАО Укртелеком", приобрело "5" едениц продукции. - во второй числится как "Отркрытое Акционерное Общество Укрт3лек0м", приобрело "3" ед. продукции - в третей числится как "OAO Ukrtelekom", приобрело "2" ед. прод. А после анализа в новой БД должно быть "ОАО Укртелеком", приобрело "10" (5+2+3) ед. прод. Пожалуйста, дорогие друзья, помогите понять где искать инфу. Пишу диплом, это одна из проблемных областей, сроки горят, а я даже не представляю куда копать... мы такое решали в рамках "понабирали-по-обьявлению-операторов-те-позаводили-дублирующих-контрагентов" схема такая, что берёте название из БД1 и сравниваете со всеми названиями в других БД, по любому, доступному вам алгоритму (понятное дело, это не тупое сравнение букв). получаете % похожести строк, эмпирическим путём подбираем порог "достоверности", после этого, возможно, часть информации у вас и соберётся. понятное дело, надо перед этим "подготовить" БД. например, все английские буквы заменить на русские, или наоборот ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2011, 21:29 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
ETL ещё близко сабжу, так как в процессе загрузки верифицирует информацию из разных источников и приводит её к нужному виду. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2011, 21:36 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Спасибо большое за ответы ребята, столько информации мне подкинули сейчас разбираю. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2011, 22:07 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Гугли по следующим ключевым словам soudex || Similarity function|| Fuzzy Search || N-gramm . В MS SQL Server Fuzzy Lookup на базе n-gramm дает весьма достойные результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2011, 22:33 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Вот еще по теме: как бороться с дубликатами в справочниках ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2011, 22:48 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Mental_Force, погугли AI и Mechanical Translation (обработка ошибок) - там очень много всего. Но насколько я знаю до конца эта проблема пока не решена, максимум что может автоматика - выдать "подозрительные" совпадения. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2011, 01:23 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2011, 09:56 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Mental_Force, Ищите материалы по задаче Нормализация НСИ. Это как раз то, что описано в Вашем примере. У Вас перечислены 2 справочника: справочник контрагентов (наименование) и справочник материалов (продукция). Есть специальный софт (как правило, созданный для себя, компанией которая специализируется в этой области), который помогает при нормализации, но основную часть делает человек. Не менее важна методология формирования новых наименований (особенно относится ТМЦ). Теперь вернемся к Вашему примеру. Кроме названия у контрагента есть еще много всяких параметров: адреса, банковские реквизиты, регистрационные данные и т.д. Как показывает практика, уникальным ключом может служить сочетание ИНН и КПП. Сливаем все базы в одну, находим совпадения и объединяем их. Но не у всех записей заполнены все обязательные поля (которые согласовываются перед началом нормализации, цель которой - получение выверенного справочника и дальнейшая работа с ним), поэтому без ручного труда не обойтись. Со справочником материалов посложнее - там очень сложно найти уникальные элементы, по которым можно провести сравнение. Поэтому есть два основных варианта: 1. Все записи по очереди анализируются и им присваиваются новые наименования. 2. В ходе работы предприятия, на основании текущей потребности в материалах, формируется новый эталонный справочник, а в старом "замусоренном" справочнике находятся аналоги и связываются с эталоном. Как правило, эти занимаются специалисты службы снабжения. Так постепенно нормализуются большая часть материалов, которые актуальны и используются. В старом справочнике останется много не нормализованных записей, но это не очень страшно - эти исторические и не используемые сейчас материалы и скорее всего на складских остатках их немного. Очень важно правильно формировать новое название ТМЦ. Желательно, чтобы был механизм при котором минимизировались фантазия человека и возможность ошибок. Один из вариантов - это "сбор" наименования ТМЦ по шаблону из нескольких элементов. Пример: Болт М48х160 ГОСТ 7798-82 получается из сложения {Болт} {М}{48}х(160) [ГОСТ 7798-82]. Набор элементов для каждой группы ТМЦ можно сделать своим. Тогда занося занесение нового ТМЦ будет следующим: выберется группа "метизы", для этой группы определен набор обязательных полей, часть или все из которых заполняются из справочников значений. Надо еще добавить, что у ТМЦ можно вести несколько наименований: одно для бухгалтерии, другое для покупателей/поставщиков, для производства и т.д. Следующей задачей после нормализации идет сопровождение справочников - это относится к MDM (Master data management), основные задачи которого: ведение централизованного справочника и интеграция его с локальными справочниками, механизм заявок на добавление новых записей, создание новых записей, распространение обновлений на локальные справочники. Я описал все очень поверхностно и обобщенно, но основную идею постарался передать... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2011, 10:06 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Mental_ForceНапример: есть три БД - в одной БД предприятие числится как "ОАО Укртелеком", приобрело "5" едениц продукции. - во второй числится как "Отркрытое Акционерное Общество Укрт3лек0м", приобрело "3" ед. продукции - в третей числится как "OAO Ukrtelekom", приобрело "2" ед. прод. Я такое делал сравнивая ИНН и КПП, судя по обсуждению это сэкономило мне много времени :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2011, 00:47 |
|
Задача: поиск записей одинаковых по смыслу, но разных по форме записи.
|
|||
---|---|---|---|
#18+
Фух, сдал. Хочу от души поблагодарить всех неравнодушных людей, кто не прошел мимо и указал мне верный путь. Знаю, это выглядит не очень серьезно что я не знал даже с чего начать, просто как типичный идиот откладывал до последнего, и фактически за 7 дней сделал то что надо было делать несколько месяцев... Итого, что мы имеем? Оценку - отлично и начальные расстройства личности по причине полного отсутствия сна. Плохо это или хорошо решу когда проснусь... Большое спасибо за консультацию, вы чудесные, отзывчивые люди! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 13:12 |
|
|
start [/forum/topic.php?fid=33&msg=37301342&tid=1548030]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 125ms |
0 / 0 |