Rozpoznawanie składników w przepisach kulinarnych

0

Cześć,

zastanawiam się jak zaimplementować rozpoznawanie składników (produktów), ich ilości i gramatury w przepisach kulinarnych. Mam takie dane:
screenshot-20200807091738.png

Obecnie w bazie mam około 850 takich pozycji, które niekoniecznie są unikalne. Chcę po wpisaniu friendlyName wyciągnąć amount, selectedUnit i foodstuffId na podstawie nazwy składnika. Macie pomysł jak to rozwiązać?

Na początku rozważałem fuzzy search bazy, żeby wyciągać wyniki na podstawie podobieństwa + jakieś regexy może dla ilości/gramatury. Teraz myślę o użciu Apache OpenNLP i wytrenować jakoś tym model + Named Entity Recognition. Tylko też nie wiem jak, oddzielnie ilość/jednostki/składniki?

Co byście polecili?

0

Chcesz przeparsować strony z przepisami i w finalnym efekcie zapisać w bazie przepisy w ustandaryzowanej postaci?

0

Nie, chcę żeby użytkownicy mogli wpisywać swoje przepisy i na podstawie tego wyciągać listę składników, ich ilość itp.

0

No to normalna tabelka w SQL bazie danych. Czy czegoś nie kumam?

3
kkojot napisał(a):

Nie, chcę żeby użytkownicy mogli wpisywać swoje przepisy i na podstawie tego wyciągać listę składników, ich ilość itp.

To zrób sobie jak człowiek inputy na składniki, a pod nimi duże textarea na opis poszczególnych etapów. Ewentualnie jedno textarea na jeden etap i możliwość kliknięcia na ikonę [+], która doda Ci kolejny textarea lub kolejny zestaw inputów na składnik.

[mąka] - [250]
[woda] - [500]

Narzuć podawanie w gramach, a płynne składniki w ml. Jak ktoś poda 1000 to wyświetlaj na froncie jako 1kg lub 1L.

0

@purrll: oczywiście tak mam już zrobione :) i te dane co w screenie tak zostały wprowadzone.

Po prostu chcę usprawnić ten proces. Czyli własnie textarea, gdzie użytkownik po enterze szybko przepisze sobie listę składników tak jak ma zapisane, a ja z tej nazwy mu te wszystkie inputy uzupełnię.
Jeśli będzie chciał skopiować listę składników z przepisu z bloga to też będzie mu w ten sposób dużo łatwiej.

Mapowanie encji + lematyzacja wydaje się być tutaj czasochłonna. Spróbuję użyć Document Categorizer i zobaczę na ile skutecznie będzie rozpoznawał składniki i porcje.

1

Pytanie kontrolne - czy "mąka", "maka" i np. "mąka szymanowska" traktujesz tak samo czy jako osobne produkty?

0

@Charles_Ray: heh to zależy. "Mąka" i "Maka" powinno skategoryzwować jako "Mąka" (przypisuję wtedy domyślnie np. pszenna 450). "Mąka tortowa" to już oddzielny produkt, "Mąka żytnia" też inny.
Więc w sumie fajnie gdyby model się uczył, bo produktów w bazie przybywa i liczy się najbliższe dopasowanie.

1

Ja bym zobaczył, czy Elastic tego nie ogra, ale to już wspominałeś o fuzzy search https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1