Стратегия разбора описания естественного языка в структурированные данные

У меня есть набор требований, и я ищу лучшееJava на основе стратегия / алгоритм / программное обеспечение для использования. По сути, я хочу взять набор ингредиентов рецепта, введенных реальными людьми на естественном английском языке, и проанализировать метаданные в структурированном формате (см. Требования ниже, чтобы узнать, что я пытаюсь сделать).

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

Какой самый лучший / самый простой способ решить эту проблему? Должен ли я использовать синтаксический анализатор естественного языка, dsl, lucene / solr или какой-либо другой инструмент / технологию? НЛП, кажется, может работать, но выглядит действительно сложно. Я бы предпочел не тратить много времени на глубокое погружение, просто чтобы узнать, что он не может сделать то, что я ищу, или что есть более простое решение.

Требования

Учитывая эти рецепты ингредиентов описания ....

«8 чашек смешанной зелени (около 5 унций)»«Восемь куриных бедер без кожи (около 1 фунта)»"6,5 столовых ложек оливкового масла""примерно 6 унций тонко нарезанного копченого лосося, нарезанного полосками"«2 целых курицы (по 3,5 фунта каждая)»"20 унций каждого замороженного нарезанного шпината, оттаявшего"".5 стакан сыра пармезан, тертый""около 0,5 стакана орехов пекан, поджаренных и тонко измельченных"".5 чашки Дикси Динер Хлебная крошка Микс, обычная"8 зубчиков чеснока, фарш (4 ч. Л.)""8 зеленых луковиц, нарезанных на 2 части"

Я хочу превратить это в это ....

|-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------|
|     | Measure |             |                         | weight | weight    |                                |             |
| #   | value   | Measure     | ingredient              | value  | measure   | preparation                    | Brand Name  |
|-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------|
| 1.  | 8       | cups        | mixed greens            | 5      | ounces    | -                              | -           |
| 2.  | 8       | -           | skinless chicken thigh  | 1.5    | pounds    | -                              | -           |
| 3.  | 6.5     | tablespoons | extra-virgin olive oil  | -      | -         | -                              | -           |
| 4.  | 6       | ounces      | smoked salmon           | -      | -         | thinly sliced, cut into strips | -           |
| 5.  | 2       | -           | whole chicken           | 3.5    | pounds    | -                              | -           |
| 6.  | 20      | ounces      | forzen chopped spinach  | -      |           | thawed                         | -           |
| 7.  | .5      | cup         | parmesean cheese        | -      | -         | grated                         | -           |
| 8.  | .5      | cup         | pecans                  | -      | -         | toasted, finely ground         | -           |
| 9.  | .5      | cup         | Bread Crumb Mix, plain  | -      | -         | -                              | Dixie Diner |
| 10. | 8       | -           | garlic clove            | 4      | teaspoons | minced                         | -           |
| 11. | 8       | -           | green onions            | -      | -         | cut into 2 pieces              | -           |
|-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------|

Обратите внимание на разнообразие описаний. Некоторые вещи сокращены, некоторые нет. Некоторые числа являются числами, некоторые прописаны.

Я хотел бы что-то, что делает идеальный анализ / перевод. Но, согласился бы на то, что достаточно хорошо, чтобы начать.

Бонусный вопрос: после предложения стратегии / инструмента, как бы вы поступили?

Спасибо!

Джо

Ответы на вопрос(5)

Ваш ответ на вопрос