Стратегия разбора описания естественного языка в структурированные данные
У меня есть набор требований, и я ищу лучшее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 | - | |-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------|
Обратите внимание на разнообразие описаний. Некоторые вещи сокращены, некоторые нет. Некоторые числа являются числами, некоторые прописаны.
Я хотел бы что-то, что делает идеальный анализ / перевод. Но, согласился бы на то, что достаточно хорошо, чтобы начать.
Бонусный вопрос: после предложения стратегии / инструмента, как бы вы поступили?
Спасибо!
Джо