Как я могу использовать обработку естественного языка для парсинга составляющих рецепта?

Вы можете использовать такую ​​функцию, чтобы форматировать числа и, необязательно, передавать нужные десятичные знаки. Если десятичные разряды не указаны, он будет использовать два десятичных знака.

    public static string formatNumber(decimal valueIn=0, int decimalPlaces=2)
    {
        return string.Format("{0:n" + decimalPlaces.ToString() + "}", valueIn);
    }

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

23
задан Fabian Steeg 28 January 2009 в 00:15
поделиться

2 ответа

Это - неполный ответ, но Вы смотрите на описывание свободного текстового синтаксического анализатора, который, как Вы знаете, нетривиален:)

Некоторые способы обмануть, с помощью знания, характерного для кулинарии:

  1. списки Конструкции слов для "прилагательных" и "глаголов" и фильтра против них
    1. измерительные единицы формируют замкнутое множество, с помощью слов и сокращений как {L., c, чашка, t, тире}
    2. инструкции - сокращение, игра в кости, повар, кожица. Вещи, которые прибывают после того, как это почти наверняка будет компонентами
  2. , Помнят, что Вы главным образом ищете существительные, и можно взять маркированный список несуществительных (от WordNet, например) и отфильтровать против них.

, Если Вы более амбициозны, можно посмотреть в Книга NLTK в главе по синтаксическим анализаторам.

Удачи! Это походит на главным образом выполнимый проект!

3
ответ дан jbochi 29 November 2019 в 01:58
поделиться

Можно ли быть более конкретными, каков вход? Если Вы просто ввели как это:

1 cup flour
2 lemon peels
1 cup packed brown sugar

не будет слишком трудно проанализировать его, не используя обработки естественного языка вообще.

0
ответ дан Claudiu 29 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: