2008-10-15 4 views
20

1 컵 밀가루, 2 레몬 껍질과 1 컵 포장 된 갈색 설탕 등 줄에 적용 가능한 양, 측정, 항목 및 설명으로 조리법 성분을 분석해야합니다. 최선의 방법은 무엇입니까? 이? 나는 nltk를 사용하는 것이 최선의 방법이라고 가정하고 있기 때문에 프로젝트에 파이썬을 사용하는 것에 관심이 있지만 다른 언어들에 대해서 열려 있습니다.NLP를 사용하여 조리법 재료를 파싱하려면 어떻게해야합니까?

+6

당신이 조리법 구문 분석에 여전히 관심이 있다면 이봐, 내가 [오픈 소스 화] 한 (https://github.com/KitchenPC/core/) 내 구현입니다. 어쩌면 당신은 유용 할 것입니다! –

+4

나는이 질문을 여기에서 찾을 수있을 것이라고 기대하지 않았을 것이다. –

답변

0

입력 내용을 구체적으로 기재 할 수 있습니까? 다음과 같이 입력 한 경우 :

1 cup flour 
2 lemon peels 
1 cup packed brown sugar 

NLP를 사용하지 않고 구문 분석하기가 너무 어렵지 않습니다.

+0

위의 몇 가지 예가 있습니다. 특히 레몬 2 개를 껍질을 벗 깁니다. 그것은 자유 형식의 텍스트가 될 것이므로 유효한 금액과 항목 인 것일 수 있습니다. – Greg

+2

정말로 "anything"을 처리 할 수 ​​있기를 원하면 구문 분석을하기 위해 사람이 필요하거나 AI 수준 문제 일 수 있습니다. 그것이 텍스트 파싱의 경우 짐승의 본질입니다. 정상적인 경우에 대한 가정을하고 경계 사례가 실패한다고 가정합니다. –

3

이 불완전한 답변입니다,하지만 당신은 당신이 알고, :) 아닌 사소한 자유 텍스트 파서, 최대 쓰기보고있는

요리에 특정 지식을 사용하여, 속임수 몇 가지 방법은 :

  1. {L., C, 컵, t 추천 단어의 약어를 사용
    1. 측정 단위가 닫힌 집합을 형성하고 그것들에 대한 "형용사"및 "동사"필터에 대한 단어리스트를 구축 , 대시}
    2. 지침 - 잘라 내기, 주사위, 요리, 껍질. 이 이후에 오는 것들은 거의 확실하게 재료가 될 것입니다.
  2. 대부분 명사를 찾고 있으며, 명사가 아닌 이름표 목록 (예 : WordNet)을 필터링 할 수 있습니다.

더 야심 찬 사람은 NLTK Book의 파서 장을 참조하십시오.

행운을 빈다. 이것은 주로 할 수있는 프로젝트처럼 들립니다!

4

나는이 밖으로 몇 년 추측하지만, 나 자신을 비슷한 일을 생각이 우연히되었다, 그래서 F에서 다른 사람에게 유용한 나는 경우에 그것을 찔러있을 수 있습니다 생각

무료 테스트를 구문 분석하기를 원한다고해도, 대부분의 요리법은 조리법 목록에 대해 꽤 표준적인 형식을 가지고 있습니다. 각 성분은 별도의 줄에 있으며, 정확한 문장 구조는 거의 중요하지 않습니다. vocab의 범위는 상대적으로 작습니다.

명사가 될 수있는 단어와 양을 나타내는 단어/기호를 각 줄에서 확인하는 것이 한 가지 방법 일 수 있습니다. WordNet이 단어가 명사가 될지 여부를 확인하는 데 도움이 될 수 있다고 생각하지만 직접 사용하지는 않았습니다. 또는 http://en.wikibooks.org/wiki/Cookbook:Ingredients을 단어 목록으로 사용할 수도 있지만 다시 한 번 포괄적 인 단어인지는 알 수 없습니다.

다른 부분은 수량을 인식하는 것입니다. 이들은 몇 가지 다른 형태로 제공되지만 키워드 목록을 작성할 수있는 것은 거의 없습니다. 특히, 좋은 오류보고가 있는지 확인하십시오. 프로그램이 라인을 완전히 파싱 할 수없는 경우 해당 라인이 무엇인지, 그 라인이 무엇인지, 무엇을 인식하지 못했는지 등을보고하여 적절하게 키워드 목록을 조정하십시오.

Aaanyway,이 중 하나가 작동합니다 (그리고 100 % 신뢰할 수없는 거의 확실입니다) 보장 아니에요하지만 내가