Нужна ли мне нейросетевая или графовая база данных, например neo4j, для механизма предложений? - PullRequest
0 голосов
/ 29 ноября 2018

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

  1. Тип диеты: вегетарианская / невегетарианская / веганская
  2. Пристрастия к кухне: индийская, мексиканская, итальянская,и т. д. (человеку может нравиться более одного)
  3. Тип питания с точным временем: завтрак, обед, ужин, ужин
  4. Специализированные диеты: кето, тип группы крови, Аткинс и т. д..
  5. Любимые овощи: шпинат, брокколи и т. Д.
  6. Требования к пищевой аллергии
  7. Расположение - город, район, улица и т. Д.

Как только эти данные станут доступны системе, мне нужно создать простой механизм предложений -

  1. . Для любого выбранного человека предложите 10 других людей, которые наиболее совместимы с точки зрения пищевых привычек.
  2. Для выбранной группы людей (скажем, x, максимум 5) предложите x + 10 (здесь 15) людей из системы таким образом, чтобы у каждого человека в выбранной группе была совместимая привычка хотя бы с одним другим человеком.Порядок людей в группе не имеет значения.

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

Правильно ли мое понимание?Эта проблема полностью разрешима с базой данных графа как Neo4j?Или мне действительно построить Neural модель для этого, используя Tensorflow?

1 Ответ

0 голосов
/ 29 ноября 2018

Самый простой способ узнать, какой из них выбрать, - ответить на этот более конкретный вопрос.Является ли данные открытым миром или закрытым миром .

Если вы оригинальный фанат Star Trek , подумайте о том, как Спок мог бы сделать вывод и нуждается во всех данных, прежде чем сможет ответить ( Закрытый мир )или капитан Кирк, которому не нужна вся информация, прежде чем ответить (Открытый мир).

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

Несмотря на то, что я фанат программирования на логику, я бы предпочел использовать либо Prolog, а именно SWI-Prolog или Mercury .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...