Осмысление больших данных

Практическое руководство по разрешению проблем юридических лиц - часть 1

Это первая часть мини-серии, посвященной разрешению сущностей

Что такое разрешение организации (ER)?

Разрешение сущностей (ER) - это процесс создания систематической связи между разрозненными записями данных, которые в действительности представляют одно и то же, в отсутствие ключа соединения. Например, предположим, что у вас есть набор данных продуктов, выставленных на продажу на Amazon, и другой набор данных продуктов, выставленных на продажу в Google. У них могут быть немного разные названия, несколько разные описания, могут быть похожие цены и совершенно разные уникальные идентификаторы. Человек, вероятно, может просмотреть записи из этих двух источников и определить, относятся ли они к одному и тому же продукту или нет, но это не распространяется на все записи. Число потенциальных пар, на которые следует обратить внимание, равно A x G, где A - количество записей в наборе данных Amazon, а G - количество записей в наборе данных Google. Если в каждом наборе данных было 1000 записей, то нужно проверить 1 миллион пар, и это только для двух довольно небольших наборов данных. Сложность быстро увеличивается с увеличением количества наборов данных. Разрешение сущностей - это алгоритм для решения этой проблемы и получения канонических сущностей систематическим и масштабируемым образом.

Почему мне нужно заботиться об экстренной помощи?

Разблокирование значения из данных часто зависит от интеграции данных. Целостная картина данных, созданная путем интеграции различных фрагментов данных об интересующей сущности, гораздо более эффективна при принятии решений, чем частичное или неполное представление. Например, аналитик по гарантии на предприятии-изготовителе автомобилей может гораздо более эффективно диагностировать претензию, если у него будет интегрированное представление всех данных, касающихся рассматриваемой детали, начиная от цепочки поставок и заканчивая сборкой в ​​транспортном средстве, посредством считывания показаний датчика. генерируется в процессе эксплуатации. Точно так же венчурный инвестор может быть гораздо более эффективным при выборе наиболее подходящей инвестиции, если он будет иметь комплексное представление обо всех данных о потенциальных компаниях, начиная с качества его команды, заканчивая ее успехом на рынке и шумихой вокруг нее. Также существует множество рабочих процессов в правоохранительных органах, противодействии терроризму, борьбе с отмыванием денег, и это лишь некоторые из них, которые также требуют интегрированного актива данных. Однако прискорбная реальность с данными (особенно данными третьих сторон) заключается в том, что они часто являются исчерпывающими данными определенных приложений или процессов и никогда не предназначались для использования в сочетании с другими наборами данных для принятия обоснованных решений. Таким образом, наборы данных, содержащие разные аспекты информации об одной и той же сущности реального мира, часто разобщены в разных местах, имеют разные формы и не имеют согласованных ключей соединения. Именно здесь ER может быть особенно полезен для систематической интеграции разнородных источников данных и обеспечения целостного представления об интересующей сущности.

Как мне обратиться за помощью?

На высоком уровне есть 5 основных шагов к ER:

  1. Нормализация источника - очистка данных и приведение различных источников в общую схему функций (столбцов), которые будут использоваться для оценки потенциальных совпадений.
  2. Изменение характеристик и генерация блокирующих ключей - создание функций для блокировки ключей, которые представляют собой целевые токены, которые, вероятно, совместно используются между совпадающими записями, чтобы ограничить пространство поиска от N² до чего-то более управляемого с вычислительной точки зрения.
  3. Сгенерировать пары кандидатов - использование блокирующих ключей соединения для создания пар потенциальных кандидатов. По сути, это самосоединение по ключу блокировки, которое обычно реализуется с использованием структур данных графа с отдельными записями в качестве узлов и потенциальных совпадений в виде ребер.
  4. Подсчет совпадений и итерация - определение фактически совпадающих пар кандидатов с помощью функции оценки совпадений. Это может быть основано на правилах, но, как правило, лучше реализовать в виде алгоритма обучения, который может адаптироваться и оптимизироваться на нелинейных границах принятия решений.
  5. Генерация сущностей - устранение несовпадающих ребер в графе и создание разрешенных сущностей и связанное сопоставление с отдельными исходными записями.

В следующих нескольких публикациях я подробно расскажу о каждом из вышеперечисленных шагов на конкретном примере, предоставлю подробное объяснение и примеры кода PySpark, как реализовать их в масштабе.

Надеюсь, это было полезное обсуждение. Не стесняйтесь обращаться, если у вас есть комментарии или вопросы. Твиттер | Linkedin | "Середина"

Ознакомьтесь с частью 2 о нормализации исходного кода