Машинне навчання - найкращий спосіб очистити та нормалізувати великий обсяг даних, покладаючись на відповідність рядків

Зараз я працюю над проектом моделювання даних у рамках свого університетського літнього проекту. Дані клієнта потребують великої кількості очищення, оскільки низка стовпців покладається на людські введення та має вільний текст.

найкращий

Для прикладу в стовпці Назва підприємства є кілька записів для однієї компанії. Для "Hugo Boss" це включає "Hugo Bos", "Huggo Boss", "Hugo Boss Ltd".

Я потенційно міг би пройти кожен рядок і визначити всі використані значення та створити карту для кожного запису, однак враховуючи, що я маю справу з 1 мільйоном записів, це дуже трудомістко і не дуже ідеально.

Чи знають люди про вихідний код такої/подібної реалізації? Я розглядав алгоритм узгодження, проте вони покладаються на попередньо обчислений шаблон. Які інші алгоритми узгодження або техніки машинного навчання я можу використовувати для розробки автоматизованого процесу, який очищав би дані, тобто поєднувати всі різні імена з одним іменем.

Будь-яка допомога буде вдячна.

4 відповіді 4

Це дослідницьке поле називається "Збіг даних" або "Зв’язок записів".

Існує дуже гарна книга опитувань, якими ви можете скористатися Пітер Крістен. Він також заглиблюється в моделі машинного навчання та як покращити їх від базового підходу, як прості відстані рядків (як вже пропонувались інші відповіді).

Щоб дати вам фору, ви можете спробувати обчислити n-грами символів ваших заголовків.