ИИ учить закономерности в неверных данных? - PullRequest
4 голосов
/ 21 января 2012

Я работаю в отделе общественного здравоохранения, который ежедневно принимает и хранит большое количество медицинских данных. Я написал программу, которая использует регулярные выражения, чтобы определить, являются ли определенные поля во входящих данных действительными или недействительными. Пример: DOB вводятся как YYYYmmDD, поэтому они должны соответствовать регулярному выражению ^ [0-9] {8} $

Я хочу проанализировать «неверные» данные, чтобы помочь выявить проблемы в нашей системе (мы получаем слишком много данных, чтобы построчно проходить каждую «плохую» запись). Может ли кто-нибудь предложить методы ИИ / техники машинного обучения, которые могут «отслеживать» неверные данные и находить закономерности в том, что не так? Я думаю, что придумать кучу регулярных выражений для возможных способов, которыми данные могут быть недопустимыми (например, недостаточно или слишком много символов), и затем отслеживание этих результатов может работать. Но вместо того, чтобы придумывать все способы, которыми данные могут быть недействительными, мне любопытно узнать, как «выучить» шаблоны из плохих данных с помощью ИИ.

Есть ли какие-нибудь известные методы, которые делают это?

Ответы [ 4 ]

3 голосов
/ 21 января 2012

Я думаю, что придумать кучу регулярных выражений для возможных способов, которыми данные могут быть недействительными (например, недостаточно или слишком много символов), и затем отслеживание этих результатов может сработать.Но вместо того, чтобы придумывать все способы, которыми данные могут быть недействительными, мне любопытно узнать, как «выучить» шаблоны из плохих данных с помощью ИИ.

Что забавно, янапоминает цитату, обычно приписываемую Джейми Завински:

Некоторые люди, сталкиваясь с проблемой, думают: «Я знаю, я буду использовать регулярные выражения».Теперь у них есть две проблемы.

За исключением того, что в этом случае я думаю, что созданный вручную маршрут регулярных выражений на самом деле ваш лучший выбор!

Ирония иронии.

В любом случае.

Смысл этого высказывания состоит в том, что люди склонны слишком усложнять свои решения.Здесь регулярные выражения на самом деле являются довольно простым решением вашей проблемы, в то время как создание ученика займет у вас гораздо больше времени, чем, я думаю, вы понимаете.

Существует меньше способов для этого очень ограниченного представления данных (дата), чтобы быть выраженным правильно, чем есть способы для того, чтобы это было выражено неправильно.Потому что есть бесконечные способы определения плохих данных.Вы хотите обучить ученика обнаруживать их всех?Это кроличья нора.Вместо этого думайте об этом ученике ИИ как о коллеге или о друге: как бы вы описали им все способы, которыми даты не могут * правильно отображаться ?

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

2 голосов
/ 21 января 2012

Байесовская фильтрация может быть тем, что вы ищете.

1 голос
/ 21 января 2012

Звучит так, как будто вы хотите применить контролируемое обучение к регулярным выражениям. Эти парни , кажется, что-то в этом роде.

0 голосов
/ 21 января 2012

Может быть, искать методы "обнаружения выбросов"?

...