У меня есть набор требований, и я ищу лучшую Java-ориентированную стратегию / algorthm / программное обеспечение для использования. По сути, я хочу взять набор ингредиентов рецепта, введенных реальными людьми на естественном английском, и преобразовать метаданные в структурированный формат (см. Требования ниже, чтобы узнать, что я пытаюсь сделать).
Я осмотрелся здесь и в других местах, но не нашел ничего, что дало бы общий совет о том, в каком направлении двигаться. Итак, я передам это умным людям: -):
Какой лучший / самый простой способ решить эту проблему? Должен ли я использовать синтаксический анализатор естественного языка, dsl, lucene / solr или какой-либо другой инструмент / технологию? Кажется, что НЛП может сработать, но выглядит действительно сложным. Я бы предпочел не тратить много времени на глубокое погружение только для того, чтобы узнать, что он не может сделать то, что я ищу, или что есть более простое решение.
С учетом этих описаний ингредиентов рецепта ....
Я хочу превратить это в ... .
|-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------| | | 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 | - | |-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------|
Обратите внимание на разнообразие описаний. Некоторые вещи сокращены, некоторые нет. Некоторые числа являются числами, некоторые записаны по буквам.
Я бы хотел что-то, что делает идеальный синтаксический анализ / перевод. Но я бы согласился на то, что достаточно хорошо для начала.
Дополнительный вопрос: после предложения стратегии / инструмента, как бы вы это сделали?
Спасибо!
Джо