Неконтролируемое извлечение признаков блюд путем построения древовидной структуры ингредиентов с обработкой естественного языка.

Я строю рекомендательную систему для блюд. Рассмотрим пользователя, который ест картофель фри и оценивает его на 5. Затем я хочу дать хорошую оценку всем ингредиентам, из которых приготовлено блюдо. В случае французского огня связанные слова должны быть «жареными», «картофельными», «нездоровой пищей», «солеными» и так далее. Из слова Цацики хочу извлечь "Огурцы", "Йогурт" "Чеснок". Из Йогурта хочу извлечь Молочный продукт, Из Огурцов овощной и так далее.

Как называется эта проблема в обработке естественного языка и есть ли способ ее решить?

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


person user1506145    schedule 18.01.2013    source источник
comment
У меня есть некоторое программное обеспечение (в альфа-тестировании), которое может быть полезным. Свяжитесь со мной для получения подробной информации.   -  person Dave Jarvis    schedule 11.06.2013


Ответы (2)


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

person rmh    schedule 18.01.2013

У вас есть такой рецепт:

Ingredients:
*Cucumbers
*Garlic
*Yoghurt

или вот так:

Grate a cucumber or chop it. Add garlic and yoghurt.

Если первое, ваши функции уже были извлечены. Следующим шагом будет преобразование в вектор рекомендуемых других рецептов. Самым простым способом было бы (неконтролируемое) группирование рецептов.

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

person mbatchkarov    schedule 18.01.2013
comment
Спасибо, но я не обязательно хочу, чтобы это было на английском языке и не только с ингредиентами, но и с категориями и так далее. Извините, что не так точно. Часть речи - хорошая вещь для начала, но у меня нет рецепта. - person user1506145; 18.01.2013
comment
Я бы порекомендовал сначала получить некоторые данные. Решение будет сильно зависеть от него. - person mbatchkarov; 18.01.2013