我有一组要求,正在寻找最佳的基于Java的策略/算法/软件来使用。基本上,我想采取由真实人们输入的自然英语食谱成分集并将元数据解析成结构化格式(请参见下面的要求,以了解我的意图)。
我在这里和其他地方四处寻找,但没有找到任何高级建议来确定方向。所以,我向聪明人提问:
解决这个问题的最佳/最简单方法是什么?应该使用自然语言解析器、DSL、lucene/solr还是其他工具/技术?NLP看起来可能有效,但它看起来非常复杂。我宁愿不花太多时间进行深入研究,只是为了发现它不能做到我想要的或者有更简单的解决方案。
要求
给出这些食谱成分描述……
- 8 杯混合生菜(约 5 盎司)
- 8 块去皮鸡腿肉(约 1¼ 磅)
- 6.5 汤匙特级初榨橄榄油
- 约 6 盎司切成条状的薄片熏三文鱼
- 2 只整鸡(每只 3.5 磅)
- 每袋 20 盎司冷冻菠菜末,解冻后
- 约 0.5 杯帕尔玛干酪,磨碎
- 约 0.5 杯胡桃仁,烤香并细碎
- 约 0.5 杯 Dixie Diner 面包屑混合物,普通口味
- 8 瓣大蒜,切碎(4 茶匙)
- 8 根青葱,切成 2 段
我想把它转化为这个...
|-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------| | | 测量 | | | 重量 | 重量 | | | | # | 值 | 测量 | 食材 | 值 | 测量 | 制备 | 品牌名称 | |-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------| | 1. | 8 | 杯 | 混合生菜 | 5 | 盎司 | - | - | | 2. | 8 | - | 无皮鸡腿肉 | 1.5 | 磅 | - | - | | 3. | 6.5 | 汤匙 | 特级初榨橄榄油 | - | - | - | - | | 4. | 6 | 盎司 | 烟熏三文鱼 | - | - | 切成条状 | - | | 5. | 2 | - | 整只鸡 | 3.5 | 磅 | - | - | | 6. | 20 | 盎司 | 冷冻菠菜碎 | - | | 解冻 | - | | 7. | .5 | 杯 | 帕尔马干酪 | - | - | 磨碎 | - | | 8. | .5 | 杯 | 山核桃 | - | - | 烤香,磨细 | - | | 9. | .5 | 杯 | 普通面包屑混合物 | - | - | - | Dixie Diner | | 10. | 8 | - | 大蒜瓣 | 4 | 茶匙 | 切碎 | - | | 11. | 8 | - | 青葱 | - | - | 切成2段 | - | |-----|---------|-------------|-------------------------|--------|-----------|--------------------------------|-------------|请注意描述的多样性。有些事情是缩写的,有些不是。一些数字是用数字表示的,一些是拼写出来的。
我希望有一个能够进行完美解析/翻译的工具。但是,如果能开始就做得相当不错,那也是可以接受的。
奖励问题:在建议策略/工具之后,你会怎么做?
谢谢!
乔
ChatGPT
或Bard
。 - Introspective