Розничный вывод знаний - PullRequest
0 голосов
/ 19 января 2010

Итак, я провожу исследование о том, как я могу вывести знания из отчетов (не в определенном формате), но после предварительной обработки у меня должны быть какие-то отформатированные данные.

Довольно простой выводbe: «У розничного продавца есть запас X».и «Х продается».-> «Ритейлер продает Х» - знания, на которые я ориентируюсь, ориентированы на розничный домен, и, если возможно, я должен повышать его эффективность с каждой итерацией.

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

Можете ли вы помочь мне с некоторыми моментами, чтобы я мог сосредоточиться или сориентировать меня в каком-то исследованиинаправления?

blueomega

Ответы [ 2 ]

2 голосов
/ 04 мая 2010

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

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

  • Получение знаний (извлечение правил из головы людей в код / ​​правила)
  • Представление знаний "KR" (какпредставлять ваши данные и правила)
  • Эффективное сопоставление с образцом (сопоставление правила формирует большой набор правил с большим количеством фактов / данных)
  • Вывод / Рассуждение (вывод дополнительных выводов из сопоставлений правил, т.е.правила, запускающие больше правил)

Для получения знаний смотрите: Ripple Down Rules и Деревья принятия решений, они имеют большое значение и их легко понять.Кроме того, обширное поле Машинное обучение предлагает множество подходов для извлечения моделей из данных.

Для представления знаний смотрите RDF и Owl и в меньшей степени Концептуальные графики .С точки зрения выразительности RDF и CG примерно эквивалентны.Основной концепцией обоих является независимое от сериализации графическое (тройное) представление данных.

Для сопоставления с образцом используется классический алгоритм Rete , автор Charles Forgy.

Для вывода существуют две типичные стратегии: Цепочка прямого движения и Цепочка обратного хода .Прямое связывание выполняется по набору правил следующим образом:

Настройка данных:

 Rule 1:  If A Then B
 Rule 2:  If B Then C

 Facts:  A

Выполнение:

Do {
     Newfacts = Eval(RuleSet, Facts)
     Facts = Facts + Newfacts
} while (NewFacts.Count > 0)

Подача данных A в этот маленький алгоритм,и вы будете «выявлять» (открывать) факт C на основе данных, благодаря rulebase.Обратите внимание, что существует множество ошибок с умозаключениями, особенно вокруг таких вещей, как немонотонные рассуждения (не просто добавление фактов, а изменение или удаление фактов, что может привести к противоречиям или ошибкам в выводе).

Упрощенным и наивным способом получения какого-либо рода выводов было бы использование базы данных и объединений для сопоставления фактов (утверждений).Это может быть достаточно для некоторых приложений.Когда дело доходит до рассуждений, легко погрузиться в мир сложностей и не совсем существующих технологий.Будь проще.

1 голос
/ 22 января 2010

То, что вы написали, напоминает мне о «правиле». Подобные правила (где все переменные являются номинальными) являются результатом того, что называется майнинг правил ассоциации . Может быть, этот подход является одним из тех, которые вы должны рассмотреть.

Вы можете использовать программное обеспечение с открытым исходным кодом для машинного обучения Weka , или, если вы предпочитаете R среду , тогда rattle gui может пригодиться.

...