Rozpoznawanie składników w przepisach kulinarnych

Odpowiedz Nowy wątek
2020-08-07 09:32

Rejestracja: 12 lat temu

Ostatnio: 13 godzin temu

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?


Pozostało 580 znaków

2020-08-07 11:54

Rejestracja: 2 lata temu

Ostatnio: 2 dni temu

0

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

Pozostało 580 znaków

2020-08-07 12:00

Rejestracja: 12 lat temu

Ostatnio: 13 godzin temu

0

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


Pozostało 580 znaków

2020-08-07 13:50

Rejestracja: 4 lata temu

Ostatnio: 7 godzin temu

0

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

Pozostało 580 znaków

2020-08-07 13:54

Rejestracja: 6 miesięcy temu

Ostatnio: 9 godzin temu

Lokalizacja: Kuala Lumpur

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.


Pozostało 580 znaków

2020-08-07 14:07

Rejestracja: 12 lat temu

Ostatnio: 13 godzin temu

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.


Pozostało 580 znaków

2020-08-07 14:26

Rejestracja: 12 lat temu

Ostatnio: 9 godzin temu

1

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


IT mikromenadżer
edytowany 1x, ostatnio: Charles_Ray, 2020-08-07 14:26
Plus jeszcze "monka", bo różni ludzie będą z tego korzystać - cerrato 2020-08-07 16:37
Jasne, trzeba tez uwzględnić użytkowników z tzw. Polski B - Charles_Ray 2020-08-07 17:08

Pozostało 580 znaków

2020-08-07 14:34

Rejestracja: 12 lat temu

Ostatnio: 13 godzin temu

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.


Pozostało 580 znaków

2020-08-07 14:37

Rejestracja: 12 lat temu

Ostatnio: 9 godzin temu

1

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


IT mikromenadżer
edytowany 2x, ostatnio: Charles_Ray, 2020-08-07 14:40
Pobawię się chwilę OpenNLP, ale prawdopodobnie skończę właśnie z fuzzy search - kkojot 2020-08-07 14:43

Pozostało 580 znaków

Odpowiedz

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