레시피 성분의 부분을 분류하는 방법?


4

나는 요리법 앱 / 웹 사이트를 만들고 있으며 용어와 관련하여 요리 섹션이나 웹 사이트에서 찾을 수있는 성분 섹션을 올바르게 분류하는 방법에 관심이 있습니다. 내가 무엇을 의미하는지 예를 들어 보겠습니다. 성분이 다음과 같이 쓰여 있다고합시다.

오레이다 남부 스타일 해시 브라운 3 컵

이 문장 조각의 일부에 대한 용어에 대한 나의 최선의 추측은 다음과 같습니다.

  • 3 = 수량
  • 컵 = 단위
  • 광석 = 브랜드
  • 남부 스타일 = 변형
  • 해시 브라운 = 성분

이것이 올바른지 또는 더 정확한 설명 용어 사용법이 있는지 확실하지 않습니다. 이것이 올바른 것으로 간주되지 않으면 적절한 용어를 배우는 데 관심이 있습니다.

주목해야 할 또 하나의 사례는 99 %의 경우 브랜드가 전혀 없거나 브랜드가 없을 경우 중요하지 않다는 것입니다. 또한 성분에 단위가 포함되어 있지 않으면 단위가 "수"라고 가정합니다 (예 : "3 개의 계란"은 수량 "3", 단위 "수", 성분 "계란"을 의미 함 ).


당신은 "구문 분석"이라고 말합니다-당신은 실제로 물건을 파싱하는 방법, 또는 부분의 이름을 무엇에 대해 묻고 있습니까? 그리고 당신은 모든 것에 대해 알고 있습니까? 특히, 양파 2 컵, 다진 것 같은 일반적인 경우를 놓쳤습니다.
Cascabel

1
@Jefromi oh, c'mon ... 당신은 그의 모범을 따를 수있었습니다. 그러나 그가 일종의 AI 일을하려고한다면 ... "작은 캔 토마토 페이스트 한 개"를 발견하면 지저분 해지 며 토마토 페이스트가 일반적으로 어떤 크기 캔에 들어올 수 있는지 알아야합니다 (시간과 장소에 상대적) 레시피가 작성되었으므로 옵션 중 '소형'입니다. 그리고 "작은 양파 하나가 잘게 썰어졌습니다"
Joe

@Joe Sorry :( 더 일반적인 방법으로 갈 것이라고 생각했습니다. 어쨌든, 그렇기 때문에 이것이 부분의 구문 분석이나 이름 지정에 관한 것인지 물었습니다 (누군가가 구조적으로 입력 할 수 있도록).
Cascabel

2
@Jefromi 명확히하기 위해 파싱하는 방법이 아니라 파트의 이름을 지정하려고합니다. 혼란을 드려 죄송합니다.
Matt Huggins

1
@Jolenealaska : 내가 유지하는 시스템 (요리 관련이 아니지만 단위가있는 시스템)의 경우 소스가 우리에게 말한 것 인 '표시 값'과 모두에게 사용되는 내부 가치라는 두 가지 값을 저장합니다 우리의 계산 중 레시피를 변환하려는 경우 비슷한 값을 지정하는 것이 좋습니다. 스케일링을위한 하나의 값이지만 디스플레이 및 출처를 위해 원본을 유지하는 것이 좋습니다.
Joe

답변:


5

이것은 요리보다는 데이터 모델링의 실습입니다.
당신이 설명하는 것은 데이터베이스의 디자인입니다.
당신은 올바른 길을 가고 있습니다.

필요한 각 필드 수를 고려할 수 있습니다. 예를 들면 다음과 같습니다.

  • 수량-고유 [정확히이 중 하나가 있습니다]
  • 수량 단위-고유 [정확하게 하나]
  • 브랜드-고유 [선택 사항] (하나 또는 없음)
  • 변형 (또는 스타일 또는 준비 노트)-고유하지 않은 [선택 사항] (0, 1 또는 다수)
  • 성분-고유
  • 초기 요리 온도-고유
  • Ict Units-고유
  • 준비 지침-(하나의 블록 텍스트 또는 일련의 필드를 사용하거나 사용하지 않을 것인지 결정)
  • 요리 지침-(준비 지침과 동일)
  • 냉각 지침 ... 기타

추가 :

여러 개질제를 재료와 함께 사용할 수있는 경우에 대한 질문 : 요리 할 때 준비 될 재료가있을 수 있습니다. 그래서 : "다진 양파. 여기서도 질서가 중요 할 것 같습니다. 여기에서 볼 수 있듯이 두 가지 스타일이 있습니다 (방금 'modifier'가 더 포괄적 인 field-name 일 수 있음을 깨달았습니다).

따라서 일반적으로 다음과 같이 나열된 성분의 설명적인 특성을 볼 수 있습니다 (정확한 언어는 아니지만 아마도이 정확한 성분이 나열되어 있는지 확실하지 않습니다). 따라서 성분 앞에 0+ 수정자를 나열하고 쉼표로 형식을 지정한 다음 성분 뒤에 0+ 쉼표를 사용할 수 있는지 여부를 결정해야합니다.

당연히 쉼표는 성분 뒤에> = 1 수정자가 나열된 경우에만 나타납니다.

나는 당신이 다진 양파를 볼 수있는 방법에 대해 생각했기 때문에, 파삭났습니다 ... 대신 소금에 절인 고추가 들어간 빨간 감자를 볼 수 있습니다. 수정자를 어떻게 사용할 수 있는지에 대해 고려해야 할 사항이 많이 있습니다.

한 가지 더 말하면-데이터베이스 디자인에서 사전 작성 / 프로그래밍을 개발하는 데 가능한 한 많은 시간이 필요합니다. 데이터베이스 스키마를 약간만 변경하면 다시 시작해야 할 수도 있습니다. :)


2
최소한의 수량을 추가하고 '수량 qualifer'( '1 heaping tablepoon', '1 scant cup')를 추가하십시오 ... 그러나 수량은 항상 하나가 아닙니다 ... '1 cup + 1 TB'... '4TB, 분할 됨'
Joe

2
좋은 지적입니다. 내 답변은 프로세스에 대해 다른 생각을 불러 일으키기위한 것입니다. 최종 솔루션이 아닙니다.
Jason P Sallinger

2
@JasonPSallinger-문제를 해결해 주셔서 감사합니다. 이것은 내가 찾고있는 것입니다. "많은"변형을 가진 성분이 어떻게 보일지에 대한 예가 있습니까? (또한, 한정자를 지적 조 덕분에.)
매트 허긴

죄송하지만, 여기서는 "정식"이 아니지만 실제 레시피에서 매우 일반적인 경우가 많이 누락되었습니다. 예를 들어 양을 예로 들려면 0이 될 수 있습니다 (사람들은 "초콜릿 플레이크"라고 말하면 케이크가 아름답게 보일 때까지 원하는만큼 추가 할 수 있음), "4" -5 사과 ". 또는 "3 개의 큰 양파 또는 4 개의 작은 양파"에서와 같이 "또는"문구. 그리고 수량이 전혀없는 "소금, 맛"을 잊지 마십시오.
rumtscho

3

자, 이것을 쉽게 소화시키기 위해, 나는 전체 w / 서브 파트를 할 것입니다. 대괄호는 옵션 부품을 표시합니다

기본 레시피 :

  • <수량> <성분> [, <준비>] [, "분할"]

수량:

  • (<번호> [<자격자>] [<단위>]) +

성분 :

  • [<브랜드 이름>] [<준비>] <항목>

... 이제 '준비'가 두 번 나타납니다. 때로는 준비가 측정 전에, 때로는 다음과 같이 준비되기 때문입니다.

  • 자른 양파 2 개
  • 잘게 썬 양파 1 컵
  • 스피치 치 10 컵, 소테
  • 시금치 1 컵

... '준비'에 대한 자세한 내용은 다루지 않았습니다. (여러 단계, '껍질 벗겨 및 절단'일 수도 있고 '정밀하게 절단 된', '5mm 슬라이스'에 해당 될 수도 있습니다.)

수량이 두 번 이상 나타날 수 있습니다 (1 컵 + 1TB).

"분할 된"은 성분이 2 개의 상이한 제조 단계에서 사용될 것이라는 점에 유의한다. 때로는 성분 라인 ( "2 TB + 1TB")에 지정되지만 항상 그런 것은 아닙니다.

update : bah, 업데이트는 주석과 완전히 다릅니다 ... 당신이 무엇을 부를 것인지를 다룰 때 종종 수용 가능한 용어가 여러 개 있기 때문에. 예를 들어, '수량'은 '측정'일 수도 있습니다.


좋은 정보, 감사합니다! 무엇을 부를 것인지에 대한 동의어가 있다는 것에 대해 걱정할 필요가 없습니다. 저는 모든 것을 고려하고 데이터를 연결할 때 모든 것을 정리하는 방법을 알기 위해 일종의 통찰력을 찾고 있습니다. :)
Matt Huggins
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.