KR101614642B1 - 반구조화 데이터의 분석 및 분류 방법 - Google Patents

반구조화 데이터의 분석 및 분류 방법 Download PDF

Info

Publication number
KR101614642B1
KR101614642B1 KR1020147026567A KR20147026567A KR101614642B1 KR 101614642 B1 KR101614642 B1 KR 101614642B1 KR 1020147026567 A KR1020147026567 A KR 1020147026567A KR 20147026567 A KR20147026567 A KR 20147026567A KR 101614642 B1 KR101614642 B1 KR 101614642B1
Authority
KR
South Korea
Prior art keywords
data
subject
semi
structured
recipe
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020147026567A
Other languages
English (en)
Other versions
KR20140132378A (ko
Inventor
조피아 스탄키에윅즈
Original Assignee
라쿠텐 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라쿠텐 인코포레이티드 filed Critical 라쿠텐 인코포레이티드
Publication of KR20140132378A publication Critical patent/KR20140132378A/ko
Application granted granted Critical
Publication of KR101614642B1 publication Critical patent/KR101614642B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Creation or modification of classes or clusters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

음식 레시피들에 관한 하나 이상의 입력을 포함하는 상기 사용자들로부터의 통신을 수신하고 상기 입력들을 액세스 가능한 메모리에 저장하도록 프로그램된 데이터 프로세서 입력 모듈을 구비한 사용자들의 공동체에 상호 연결된 컴퓨터 시스템. 저장된 데이터에 액세스하고 이질적인 데이터 입력들을 통합하여 레시피들에 관한 응집성 데이터베이스로 조직화하기 위해 상기 데이터에 데이터 해석 알고리즘을 적용하도록 프로그램된 데이터 프로세서. 또한, 상기 레시피 데이터베이스에 연결되어 상기 레시피 데이터베이스에 적용된 검색 알고리즘을 지원하기 위해 상기 데이터베이스로의 액세스를 허용하는 검색 입력 모듈.

Description

반구조화 데이터의 분석 및 분류 방법{METHOD FOR ANALYZING AND CATEGORIZING SEMI-STRUCTURED DATA}
본 발명은 코디네이트된 필드 지정들(coordinated field assignments)을 가진 잘 구조화된 입력들에서 원시 및/또는 비구조화 데이터까지 망라하는 복수의 상이한 포맷으로 조직화된 데이터 세트를 분석하는 것에 관한 것이다. 특히 본 발명은 전영역의 상이하게 구조화된 데이터를 분류하기 위해 하나 이상의 데이터 해석 모델에 따라 다양한 입력들을 데이터 처리하는 것에 관한 것이다.
오늘날의 현대 사회에서는, 무수한 상이한 이유로 다수의 사용자들에 의해 데이터가 입력되고 있다. 일단 데이터가 입력되면, 다른 사용자들은 데이터를 해석하고 관련 결과를 신속히 찾아내기 위해 데이터를 검색하고 정렬하는 능력을 원한다. 그러나, 데이터가 상이한 사용자들에 의해, 상이한 포맷, 장소 및 언어로 입력되고 있으므로, 데이터가 입력되는 방법에 있어 불일치가 있을 수 있다. 따라서, 예를 들어 특정 단어 또는 주제의 검색은 불일치하는 입력 때문에 관련 정보를 놓칠 수 있다.
이에 대한 한 예는 웹 사이트에 게시되어 있는 사용자 입력 레시피들이다. 레시피의 구조화된 부분은 레시피의 이름, 재료들, 요리법(cuisine), 및 행사에 대한 필드들이다. 그러나, 사용자들이 이 필드들에 정보를 입력하기 시작하면, 정보가 실제로 제시되는 방법에 있어 큰 변화가 있을 수 있다. 임의의 구조화된 필드에서, 오기(misspellings)가 흔할 수 있다. 또한, 레시피들 및 재료들에 대한 동의어들 또는 대체 이름들이 일반적이다. 예를 들어, 어떤 사용자들은 레시피를 "감자 수프(potato soup)" 또는 "차가운 감자 수프(cold potato soup)"로 입력할 수 있는 데 반해, 다른 사용자들은 "비시스와즈(vichyssoise)"라는 이름을 입력할 수 있다. 그러나, "비시스와즈"를 검색하는 사용자는 모든 이용 가능한 차가운 감자 수프 레시피들을 보고 싶을 것이다.
이것은 다른 유형의 사용자 입력 데이터에도 해당된다. 많은 이러한 데이터는 반구조화되어 있거나 어떤 구조도 전혀 없을 수 있다. 본 발명은 비구조화 또는 반구조화 데이터로부터 유용한 정보를 추출할 수 있다.
본 명세서의 교시 내용들은 각종 상이한 포맷으로 수신되거나, 포맷은 동일하지만 기록시 구조, 정확도 및 충실도가 상이한 레벨들로 수신되어 하나 이상의 평가에 적용될 수 있는 데이터를 통합하고 조직화하는 것으로 위에 언급한 문제들 중 하나 이상을 다소나마 해결한다. 예시적인 실시예에서, 컴퓨터 시스템은 다수의 사용자들이 데이터/통신 네트워크를 가로질러 중앙 서버/네트워크에 접속할 수 있게 해준다. 서버는 시스템 운영 프로그래밍에 의해 통제되는 플랫폼에 이르는 게이트웨이를 형성한다. 선택 데이터가 프로그램된 입력 구조들에 따라 수집되고 하나 이상의 데이터 구조화 알고리즘에 의해 해석되고/거나 조직화된다. 그 후 프로세스 데이터는, 예를 들어, 검색 조회 등과 같은 다양한 기능들을 지원하는 데 이용된다.
*다른 예들에서, 컴퓨터 시스템은 복수의 사용자들에게 네트워크로 연결된다. 이 시스템은, 적어도, 복수의 반구조화 사용자 입력 데이터를 저장하는 메모리 및 상기 반구조화 사용자 입력 데이터의 서브세트에 데이터 해석 알고리즘을 적용하는 프로세서를 구비하고 있다. 동일한 또는 제2의 프로세서가 상기 반구조화 사용자 입력 데이터의 서브세트를 이용하여 상기 복수의 반구조화 사용자 입력 데이터의 나머지를 분류할 수 있다. 이 시스템은 또한 사용자가 상기 분류된 복수의 반구조화 사용자 입력 데이터를 검색할 수 있게 해주는 인터페이스를 구비하고 있다. 이 인터페이스는 결과들의 검색 및 회수를 가능하게 하는 웹 페이지, 애플리케이션, 또는 기타 포털일 수 있다.
이 시스템의 또 다른 예에서, 상기 복수의 반구조화 사용자 입력 데이터는 데이터 필드들을 가지고 있다. 또한, 상기 복수의 반구조화 사용자 입력 데이터는 레시피들이다. 그리고, 상기 복수의 데이터 필드들은 레시피 제목, 재료들, 지시들, 태그들, 및 이미지 중 적어도 하나일 수 있다.
데이터 해석 알고리즘의 예들에 관하여, 그것은 하이브리드 최대 엔트로피(Maximum Entropy) 및 LDA 모델 및 용어 빈도-역 문헌 빈도(term frequency-inverse document frequency) 및 코사인 유사도(cosine similarity) 분석을 포함할 수 있다.
반구조화 데이터를 분석하는 방법의 예는 복수의 반구조화 데이터 항목들을 메모리에 저장하는 단계들을 포함한다. 각 반구조화 데이터 항목은 복수의 데이터 필드들을 포함할 수 있다. 프로세서는 데이터 해석 알고리즘을 이용하여 각 반구조화 데이터 항목에서 반구조화 데이터 필드들을 정렬하고 반구조화 데이터 항목들의 서브세트를 선택할 수 있다. 그 후 반구조화 데이터 항목들의 서브세트의 반구조화 데이터 필드들로부터 주제에 관한 데이터 필드(topical data field)가 선택될 수 있다. 그 후 나머지 복수의 반구조화 데이터 항목들이 상기 주제에 관한 데이터 필드를 이용하여 분석될 수 있다. 상기 분석된 나머지 복수의 반구조화 데이터 항목들에 대해 데이터 해석 알고리즘을 이용하여 새로운 반구조화 데이터 항목들의 서브세트가 선택되고 이어서 상기 반구조화 데이터 항목들의 서브세트와 조합될 수 있다.
또 다른 예에서, 상기 복수의 반구조화 데이터 항목들은 레시피들이고, 상기 복수의 데이터 필드들은 레시피 제목, 재료들, 지시들, 태그들, 및 이미지 중 적어도 하나를 포함한다. 상기 데이터 해석 알고리즘은 하이브리드 최대 엔트로피 및 LDA 모델 및 용어 빈도-역 문헌 빈도 및 코사인 유사도 분석을 포함할 수 있다.
도면들은 본 교시 내용에 따른 하나 이상의 구현예를 제한이 아니라 단지 예로서 도시하고 있다. 도면들에서, 비슷한 참조 번호들은 동일한 또는 유사한 요소들을 나타낸다.
도 1은 본 발명을 구현하기 위한 네트워크의 예에 대한 다이어그램이다.
도 2a는 웹사이트 및 반구조화 데이터 필드들을 보여주는 다이어그램이다.
도 2b는 반구조화 데이터 항목의 예를 보여준다.
도 3a는 시스템에 의해 분석되는 반구조화 데이터에 대한 다이어그램이다.
도 3b는 시스템에 의해 분석되는 반구조화 데이터의 또 다른 예에 대한 다이어그램이다.
도 4는 트레이닝 데이터를 이용하여 요리법을 결정하는 방법의 예에 대한 순서도이다.
도 5는 레시피 유사도를 결정하는 방법의 예에 대한 순서도이다.
도 6은 레시피 유사도를 결정하는 방법의 또 다른 예에 대한 순서도이다.
다음의 상세한 설명에서는, 관련 교시 내용들의 철저한 이해를 제공하기 위해 많은 구체적인 세부 사항들이 예로서 설명된다. 그러나, 숙련된 당업자들에게는 본 교시 내용들이 그러한 세부 사항들 없이도 실시될 수 있다는 것이 분명할 것이다. 다른 예들에서, 잘 알려진 방법들, 절차들, 구성요소들, 및/또는 회로는, 본 교시 내용들의 양태들을 불필요하게 모호하게 하지 않기 위하여, 세부 사항 없이 비교적 높은 수준으로 설명되었다.
본 발명은 반구조화 데이터로부터 구조화된 "지식"을 추출하는 시스템 및 방법을 제공한다. 구체적인 예로서, 웹사이트에서 사용자들에 의해 입력된 레시피들을 정렬하고 분류하는 것.
도 1을 보면, 시스템(100)은 저장소(104) 및 프로세서(106)를 구비한 하나 이상의 서버(102)를 포함할 수 있다. 서버(102)는 하기의 모든 프로세스들을 처리할 수 있거나 이 기술에 공지되어 있는 바와 같이 다수의 서버들 사이에 분산될 수 있다. 서버(102)는 서버 팜 내의 다수의 서버들 중 하나일 수 있거나 각각이 하기의 모든 작업들을 수행하는 많은 서버들이 지리적으로 분산될 수 있거나, 그 작업들이 복수의 서버들(102) 사이에 분배된다. 각 서버(102)는 기능하기 위해 필요한 프로그래밍 및 하기에 기술된 데이터를 저장하는 저장소 또는 메모리(104)를 구비하거나, 중앙 저장 장치에 연결되어 있을 수 있다. 한 예로, 저장소(104)는 비일시적 메모리이다. 또한, 프로세서(106)는 하기의 작업들을 수행하기 위해 이용될 수 있거나 특정 작업들이 다수의 프로세서들 사이에 분배될 수 있거나 다수의 프로세서들이 하나의 작업을 완료하기 위해 요구될 수 있다.
서버들(102)은 하나 이상의 사용자 장치(110)에 네트워크(108)로 연결되어 있다. 네트워크(108)는 하나 이상의 패킷 교환 방식 네트워크, 예를 들어 인터넷 프로토콜(IP) 기반 네트워크, LAN(local area network), WAN(wide area network), PAN(personal area network), 인트라넷, 인터넷, 셀룰러 네트워크(예컨대, GSM(Global System for Mobile Communications), CDMA(Code-Division Multiple Access), WCDMA(Wideband CDMA), LTE(Long Term Evolution), IEEE 802.11x, 기타), 광섬유 네트워크, 또는 데이터 전송이 가능한 또 다른 유형의 네트워크를 포함할 수 있다. 네트워크(108)는 회선 교환 방식 네트워크, 예를 들어 종래의 전화기들에 대한 전화 서비스들을 제공하는 PSTN(public-switched telephone network)을 포함할 수 있다.
사용자 장치(110)는 인터넷(108)과 통신하는 하나 이상의 장치를 포함할 수 있다. 예를 들어, 사용자 장치(110)는 애플리케이션들(예컨대, 인터넷 익스플로러(등록상표), 크롬(등록상표) 등)과 인터넷(108)에 접속하기 위한 통신 인터페이스(예컨대, 유선 또는 무선 통신 인터페이스)를 포함하는 텔레비전을 포함할 수 있다. 사용자 장치(110)는 또한 인터넷 서비스를 제공하기 위해 인터넷(108)과 통신하는 하나 이상의 장치를 포함할 수 있다. 예를 들어, 사용자 장치(110)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 팜탑 컴퓨터, 넷북, 태블릿, 스마트폰 등 또는 다른 유형의 통신 장치들을 포함할 수 있다. 사용자(112)는 사용자 장치(110)를 이용하여 네트워크(108)를 통하여 서버들(102)에 액세스할 수 있다.
서버(102)는 사용자 장치(110)를 이용하여 사용자(112)에 의해 액세스될 수 있는 웹페이지(114)를 호스팅할 수 있다. 도 2a에서, 웹페이지(114)는 반구조화 데이터 필드들(200)의 요소들을 가지고 있다. 본 예에서, 반구조화 데이터 필드들(200)은 사용자(112)가 레시피를 입력하는 데이터 필드들을 나타낸다. 그러나, 반구조화 데이터 필드들(200)은 호텔, 레스토랑, 또는 여행 목적지 정보를 포함하여 임의의 다른 유형의 반구조화 데이터를 나타낼 수 있다.
본 명세서에서 사용될 때 "반구조화 데이터"는 많은 제약 없이 사용자에 의해 입력될 수 있는 정보이다. 반구조화 데이터는 데이터 필드들(200)의 제목들로부터 주어진 구조를 가질 수 있고, 사용자가 그 필드들에 임의의 정보를 입력할 수 있다는 점에서 비구조화되어 있다. 반구조화 데이터 및 데이터 필드들의 예들이 아래에 제시된다. 이와 비교하여, "구조화 데이터"는 사용자가 입력을 위한 많은 제약을 가지고 있는 데이터이다. 구조화 데이터의 예들은 이진 또는 고정 선택 데이터 옵션들, 예컨대, "예/아니오" 질문들, 1에서 10까지 스케일에서 순위를 매기는 것, 또는 풀-다운 옵션들을 포함한다. "비구조화 데이터"는 입력에 아무런 제약이 없다; 본질적으로 사용자(112)에게는 임의의 유형의 데이터를 입력할 공백 페이지가 주어진다.
도 2a의 예에서, 반구조화 데이터 필드들(200)은 레시피 제목(202), 재료들(204), 지시들 또는 단계들(206), 태그들(208), 및 이미지(210)를 포함할 수 있다. 레시피 제목(202)은 뒤이어 나오는 레시피의 간단한 설명자이다. 그것은 차가운 감자 수프 또는 미트 소스의 파스타 같은 비공식적 이름들, 또는 공식적 이름, 예를 들어 비시스와즈 또는 스파게티 볼로네즈(spaghetti Bolognese)를 포함할 수 있다. 용어 반구조화가 레시피 제목(202)에 적용되는 것은 사용자(112)가 이 필드에 임의의 단어를 입력할 수 있기 때문이지만, 그 구조는 입력되는 것이 레시피의 이름이라는 사실에서 유래한다.
재료들(204)은 재료 양(204A), 재료 이름(204B) 및 재료 수식어(204C)에 대한 데이터 필드들이 있을 수 있다는 점에서 반구조화되고 조직화되고 상이하게 입력될 수 있다. 이러한 필드들 내의 항목(entry)들은 "2쪽(2 cloves)", "마늘" 및 "다진", 또는 "3컵", "밀가루" 및 "체로 거른"을 포함할 수 있다. 일 실시예에서, 재료 필드들(204A, 204B, 204C) 모두는 모두 반구조화되어 있어, 이 3개의 필드에 임의의 수 또는 값이 허용된다. 다르게는, 이 필드들(204A, 204B, 204C) 중 하나 이상이 구조화될 수 있다(예를 들어, 양들(204A) 또는 재료들(204B)에 대한 풀-다운 리스트들을 포함함). 풀-다운 메뉴들은 가장 흔한 데이터 입력들인, "컵", "티스푼", "테이블스푼", "스틱" 등의 리스트를 포함할 수 있다. 재료 이름(204B) 선택들은 간단한 설명자인, "밀가루", "설탕", 및 "버터"일 수 있고, 수식어(204C)는 "다목적", "가루로 만든" 및 "소금을 넣지 않은"에서 "껍질을 벗긴", "잘게 썬", 또는 "체로 거른"까지 무엇이든 될 수 있다.
단계들(206)은 사용자(112)가 레시피를 준비하고 요리하기 위한 지시들을 입력할 수 있는 하나의 필드 또는 다수의 필드들(206A...206n)일 수 있다. 다수의 필드 예에서, 지시들은 개별 단계들(즉, "믹서에서 버터를 크림처럼 만든다" 또는 "계란을 한 번에 하나씩 추가하고, 각각의 추가 후에 그릇의 측면들을 긁는다")로 분해될 수 있다. 단계들(206)은 재료 필드들(204)보다 덜 구조화되어 있고 보통 구조화되지 않은 데이터 필드들이다. 또 다른 예에서, 단계들(206) 중 하나 이상에 대해 해당 단계를 위해 필요한 기법을 보여주기 위해 이미지가 추가될 수 있다. 이미지들은 반죽 농도(batter consistency), 형성 후의 모양, 또는 심지어 묶음 매듭들(trussing knots)을 포함할 수 있다.
하나 이상의 태그(208A-208C)가 또한 포함될 수 있다. 태그들(208)은, 일부 예들에서, 요리법, 음식 유형, 식사, 및 행사를 나타낼 수 있다. 따라서, 태그(208)는 요리법, "일식", "중식", "이태리식", 또는 "한식"에 대한 것일 수 있다. 음식 유형 태그들(208)은 "수프", "샐러드", "해산물 요리", 또는 "고기"일 수 있다. 식사 태그들(208)은 "아침 식사", "점심 식사", "저녁 식사", "애피타이저" 등일 수 있고, 행사 태그들은 "휴일", "소풍", 또는 "추수감사절"일 수 있다. 태그들(208)을 이용하여, 사용자(112)는 레시피를 분류하는 데 이용될 수 있는 추가의 짧은 식별자들을 추가할 수 있다. 상기와 같이, 이들 태그(208) 중 일부는, 사용자(112)에게 "일식, 중식, 이태리식, 한식, 프랑스식, 러시아식, 독일식, 타이식, 인도식, 독일식, 및 멕시코식" 같은 요리법에 대한 풀 다운 메뉴들을 제공하는, 구조화 데이터로서 제시될 수 있다.
추가의 예들에서, 기타 데이터(210)가 또한 입력될 수 있다. 기타 데이터(210)는 레시피의 이미지일 수 있다. 본 명세서에서 사용될 때 "이미지"는 완성된 레시피 또는 레시피 내의 단계들의 임의의 표현이다. 용어 이미지는 정지 이미지, 동영상, 및/또는 오디오 파일을 식별하는 데 이용될 수 있다. 또한, 기타 데이터(210)는 레시피를 특별하게 만드는 데 도움을 주기 위해 사용자(112)에 의해 공유되는 특별한 비밀 또는 사용자(112)가 레시피를 얻은 곳, 즉, 요리책의 이름, 또는 레시피를 전수해준 가족 구성원의 이름일 수 있다.
하나의 레시피에 대한 이들 데이터 필드(200)의 모음(collection)은 반구조화 데이터 항목(212)이다. 반구조화 데이터 항목들(212)은 위에 언급한 반구조화 데이터 필드들(200)을 포함한다. 한 예로, 데이터 항목들(212)은 하나의 특정 레시피에서 입력된 모든 데이터 필드들(200)로 간주될 수 있다. 도 2b는 한 예로 간단한 레시피를 이용한 데이터 항목(212)을 보여준다. 데이터 항목(212)은 거품을 일게 한 크림(whipped cream)에 대한 것이고 데이터 필드들(200) 각각은 사용자(112)가 레시피를 따라 할 수 있도록 한 항목(212)에서 연결되어 있다.
반구조화 데이터 필드들(200)은 바로 그렇게 반구조화되어 있기 때문에, 그 필드들에 입력된 데이터는 보통 일치하지 않는다. 사용자들은 단어를 잘못 쓰거나, 재료들에 대한 상이한 이름들을 사용하거나, 정보(가장 흔하게 태그들(208))를 생략할 수 있다. 이 불일치하는 데이터 입력은 데이터를 분류하고, 검색하고, 다른 사용자들에게 반환하는 데 문제를 제기한다. 본 발명의 예들은 반구조화 데이터를 분석하여 데이터로부터 구조화된 정보를 추출하여 보다 쉬운 데이터의 분류, 검색, 및 반환을 가능하게 할 수 있다.
레시피 예에서, 구조화된 지식은 유사한 이름의 레시피들을 관련시킬 수 있으며 따라서 하나의 검색 용어가 그것들 모두를 반환할 수 있다. 따라서, 사용자(112)가 "감자 수프"를 입력하든, "차가운 감자 수프"를 입력하든, "비시스와즈"를 입력하든 상관없이 그 용어들 중 어느 하나에 대한 검색이 입력될 때 그 레시피들 모두가 반환될 수 있다. 또한, 주어진 재료에 대한 전형적인 요리(dish)들도 반환될 수 있다. 예를 들어, 사용자가 "가지(eggplant)"를 검색하고 있다면 시스템(100)은 "구운 가지", "마파 가지(mapo eggplant)", "바삭 튀긴 가지", "파르미지아나 가지(eggplant parmigiana)", "무사카(moussaka)", 및 "라타투이(ratatouille)"에 대한 레시피들을 반환할 수 있다. 관련 레시피들을 이용하여, 요리 이름 동의어들, 중요 재료들, 및 국가 요리법에 대한 지식이 모두 관련 결과들을 반환하는 데 도움을 줄 수 있다.
도 3a, 도 3b, 및 도 4는 반구조화 데이터로부터 구조화된 지식을 추출하는 방법의 예를 보여준다. 레시피 예를 계속하여, 시스템(100)은 이미 메모리(104)에 저장된 반구조화 데이터의 리포지토리(300)를 가지고 있다. 반구조화 데이터는 반구조화 데이터 항목들(212)로서 저장된다(단계 400). 많은 반구조화 데이터 항목들(212)이 있다. 레시피 예에서는, 500,000개의 사용자 입력 레시피가 있을 수 있다. 그 후 반구조화 데이터 항목들(212)의 리포지토리가 각 항목의 반구조화 데이터 필드들(200)에 의해 정렬될 수 있다(단계 402). 예를 들어 태그(208)가 분류될 수 있고 이에 의해 레시피들에 국가 요리법 태그가 달린다. 그 후 데이터 항목들(212)의 서브세트(302)가 그들의 주제(304)에 의해 선택될 수 있다(단계 404). 이 서브세트는 트레이닝 데이터(302)라고 불릴 수 있다.
이 예에서, 주제는 국가 요리법 태그(208)에서 식별된 하나 이상의 국가이다. 더 구체적으로, 500,000개의 레시피들 중 20,000개만이 국가 요리법 태그(208)를 가지고 있다. 태그들(208)은 일식, 중국식, 이태리식 등일 수 있다. 일단 주제가 선택되면, 그것의 데이터 필드(200)가 주제 데이터 필드(304)가 되고, 따라서 국가 요리법 태그 필드가 주제 데이터 필드가 된다. 따라서, 데이터 서브세트(302), 즉 트레이닝 데이터는 국가 요리법 태그들을 가진 20,000개 레시피일 수 있다.
각 주제(304)마다, 주제(304) 및 주제 데이터 필드에 관련되어 있는 하나 이상의 다른 반구조화 데이터 필드들(200)이 선택된다(단계 406). 이들 다른 반구조화 데이터 필드들(200)은 데이터 서브세트(302)로부터만 선택된다. 선택된 반구조화 데이터 필드들은 특징 데이터 필드들(306)일 수 있다. 특징 데이터 필드들(306) 내의 정보는 주제 데이터 필드 내의 하나 이상의 주제들에 어느 정도 관련되어 있다. 본 예에서, 레시피 이름들(202)과 핵심 재료들(204) 둘 다는 국가의 요리법의 특징으로 간주된다. 따라서, "미소(miso)", "가쯔(katsu)", "스시(sushi)", "볶음(stir-fry)", "로 메인(lo-mein)", "푸 영(foo yung)", "파르미지아나(parmigiana)", "스파게티(spaghetti)", 및 "보드카 소스(vodka sauce)" 같은 단어들을 포함하는 레시피 이름들(202)은 일식, 중식, 및 이태리식 요리법의 주제들에 관련되어 있을 수 있다. 이것들은 이 주제(304)의 특징들(306) 중 하나이다. 또한, 김(nori), 참치(tuna), 미소 된장(miso paste), 해선장(hoisin sauce), 청경채(bok choy), 쌀국수, 토마토 소스, 모짜렐라, 및 브로콜리 라브(broccoli rabe)는 동일 요리법들의 특징인 재료들(204)이다.
한 예로, 레시피의 가장 큰 부분인 또는 레시피들에 가장 많이 존재하는 재료들은 보통 특정 국가의 요리법의 특징으로 선택된다. 그러나, 쌀은 일식 요리법과 중식 요리법 사이에 공통이고, 마늘은 중식 요리법과 이태리식 요리법 사이에 공통일 것 같은 재료이므로, 약간 주의해야 한다.
일단 주제들(304)과 특징들(306)이 식별되면, 메모리(104)에 저장된 반구조화 데이터의 나머지 리포지토리(308)의 분석이 수행된다(단계 408). 이 분석은 선택된 데이터 필드들(200)에 의해 나머지 데이터 항목들(212)을 분류하기 위해 수행된다. 레시피들의 나머지 리포지토리(308)은 그것들이 어떤 주제(304)에 속하는지를 결정하기 위해 그들의 특정한 특징들(306)에 대하여 분석된다. 더 간단히 말해서, 레시피 이름들과 재료들은 그것들이 어떤 국가 요리법에 속할 것 같은지를 결정하기 위해 수학적 모델들을 이용하여 분석된다.
이 분석은 최대 엔트로피 분류기(Maximum Entropy Classifier) 및 잠재 디리클레 할당(Latent Dirichlet Allocation) 모델(이하 "LDA")의 하이브리드를 이용하여 수행될 수 있다. 양자는 자연 언어 처리 및 기계 학습에 이용되는 수학적 기법들이다. 최대 엔트로피의 이론은 베이지안 통계학에 기초하고 있다. 이 기법은 문헌의 맥락 내에서 특정 용어들이 나타나는 확률을 추정하기 위해 테스트 가능한 데이터의 서브세트를 필요로 한다. LDA 역시 데이터에서 유사도들을 결정하는 통계적 모델이다. LDA는 각 문헌(또는 본 예에서 레시피)을 특정 주제(이 예에서, 요리법)에 의해 특징 짓는다. 일반적인 예로서, 어떤 문헌이 "강아지(puppy)" 또는 "짖다(bark)" 같은 단어들을 포함할 경우 그것은 "개(dog)" 주제를 갖는 것으로 결정될 수 있다. 이 예에서, 레시피의 이름이 "파르미지아나(parmigiana)"라는 단어를 포함하고 그것이 핵심 재료로서 토마토를 사용할 경우 그 레시피는 "이태리식"인 것으로 결정될 수 있다.
LDA 성분은 각 데이터 항목(레시피)을 주제 확률들의 벡터로 기술할 수 있다. 이 벡터는 레시피의 "스코어"로 간주될 수 있다. 이 방법은 "단어 주머니(Bag of Words)" 모델을 이용하는 것보다 간단한데, 그 이유는 분석할 치수들이 더 적기 때문이다. 단어 주머니 모델은 주로 문헌 내의 단어들의 빈도를 살핀다. 이것은 거의 모든 단어들이 드물게 사용되고 보통 공통 반복 총수를 가지는 레시피에서는 이용하기가 어렵다.
LDA 모델은 각 요리법에 대한 LDA 중심(centroid)을 계산하는 것이다(단계 408). LDA 중심은, 한 예로, 주어진 요리법에 대한 "중심 벡터"를 계산하기 위해 주어진 국가로부터의 모든 레시피들로부터의 주제들에 걸친 합이다. 초기 트레이닝 데이터(302) 또는 업데이트된 트레이닝 데이터(310)(도 3b 참조)가 요리법 중심과의 코사인 유사도에 기초하여 선택될 수 있다(단계 410). 그 후 업데이트된 트레이닝 데이터(310)가 이전의 트레이닝 데이터(302)와 조합된다(단계 412). 주제와 특징을 결정하는 상기 프로세스(단계 406)가 반복되고 그 후 나머지 리포지토리(308a)가 다시 분석된다. 한 예로, 업데이트된 트레이닝 데이터(310)가 선택되는 것은 그것들이 그들의 요리법이 정확히 결정된 레시피들(데이터 항목들)의 상위 10%이기 때문이다. 이 프로세스는 일단 업데이트된 트레이닝 데이터(310)가 분석되면 중심 벡터가 변하는 것을 허용한다. 프로세스가 반복됨에 따라, 트레이닝 데이터 업데이트들로부터, 트레이닝 데이터 내의 초기 국가 태그가 달린 레시피들에 기초하여 레시피 이름들이 추출될 수 있고, 최대 엔트로피 분류기에 의해 높은 신뢰도로 레시피들이 분류될 수 있다.
상기 하이브리드 최대 엔트로피 및 LDA 모델은 특징들이 "이진"이므로, 즉 요리 이름 또는 재료 이름이 레시피에 존재하거나 첫 번째 사례에 존재하지 않으므로 비교적 단순화된다. 이것은 위에 언급한 스코어링을 단순화한다. 한 예로, 레시피 이름과 요리법에 기초한 레시피의 스코어는 다음과 같을 수 있다:
Figure 112014090129224-pct00001
여기서 "z-score"는 표준 스코어이고, 함수 f는 레시피의 원 스코어(raw score)를 계산하는 데 이용되고, p는 확률이다.
되풀이된 반복들은 중식, 이태리식 및 한식 요리법들이 실행되었을 때 유망한 결과들을 냈다. 결과들은 다음과 같다:
Figure 112014090129224-pct00002
여기서 "P"는 정밀도(precision)이고 "R"은 리콜(recall) 또는 상관관계(correlation)이다. 모든 비일반적(non-generic) 요리법들에 스코어들이 테스트되었을 때의 결과들은 다음과 같다:
Figure 112014090129224-pct00003
~ 400,000개 항목 레시피 데이터베이스에 대해 샘플 요리 이름 평가의 예가 수행되었다. 결과는 놀라웠다. 요리법이 정확했는지를 결정하기 위해 각 반복 후에 1보다 큰 z-score를 가진 레시피들이 분석되었다:
Figure 112014090129224-pct00004
레시피 이름들(202)을 이용하는 것의 이점은 오퍼레이터가 쉽고 빠른 평가를 할 수 있고 레시피마다 체크할 필요가 없다는 것이다. 또한, 분석은 능동 학습 방식으로 이용될 수 있다(즉, 레시피 이름 인간 평가 결과들은 트레이닝 데이터 업데이트에 이용될 수 있다).
도 5에 도시된 또 다른 예는 리포지토리(300)를 분석하여 어느 레시피들이 서로 유사한지를 결정한다. 분석의 한 레벨은 레시피 이름들(202)을 매칭시키는 것이다. 또 다른 것은 재료들(204)에 기초하여 유사도를 체크하는 것이다. "용어 빈도-역 문헌 빈도"(여기서 "TF-IDF")로 알려진 방법을 이용하여 레시피들에 대한 또 다른 벡터가 산출될 수 있다(단계 500). TF-IDF는 한 단어가 모음(collection) 내의 문헌에 대해 얼마나 중요한지를 반영하는 수학적 통계이다. 이 예에 대해 더 잘 진술하면, 한 재료가 리포지토리 내의 레시피에 대해 얼마나 중요한지이다. 이 맥락에서 "용어"는 재료이고, "문헌 빈도"는 그 재료가 나타나는 레시피 유형의 수이다. 일단 리포지토리(300) 내의 모든 레시피에 대해 벡터들이 산출되면 코사인 유사도가 실행될 수 있다(단계 502). 코사인 유사도는 2개의 벡터가 얼마나 유사한지를 측정한다. 벡터들이 서로 더 많이 유사할수록, 레시피들이 서로 더 많이 유사할 수 있다.
도 6은 추가의 정확도로 레시피 유사도를 결정할 수 있는 또 다른 예를 보여준다. 재료 데이터 필드(204)를 이용하는 것에 더하여, 또 다른 치수 또는 변수가 이용될 수 있다. 상기 예의 맥락에서, 또 다른 데이터 필드(200)가 이용될 수 있다. 예를 들어, 요리법 데이터 필드(208), 다른 태그 정보(208) 또는 단계들/준비 방법(206)이 분석에 포함될 수 있다. 리포지토리(300) 내의 레시피들(데이터 항목들(212))에 대한 벡터들 또는 스코어들은 이제 재료들을 개념들에 또는 레시피로부터 재료들로 개념들로 매핑하고 그들의 유사도를 비교함으로써 산출될 수 있다. 따라서, 각 레시피/요리 유형을 재료들의 벡터로서 표현하고, 그 벡터들을 이용하여 레시피 유사도를 비교하는 대신에, 먼저, 각 재료가 레시피 카테고리들의 TF-IDF 값 벡터로서 표현될 수 있다. 레시피 이름(202) 및 재료(204) 외에 또 다른 데이터 필드(204)가 그로부터 선택될 수 있다. 그 후 각 레시피 이름에 대한 벡터가 그것의 재료 벡터들의 중심(또는 간단히 평균)으로서 계산될 수 있다.
이 방법은 명시적 의미 분석(Explicit Semantic Analysis, "ESA")에 필적한다. ESA는 텍스트(개별 단어들 또는 전체 문헌들)의 벡터 표현인 자연 언어 처리 및 정보 검색의 한 형태이다. 구체적으로, ESA에서는, 단어가 텍스트의 TF-IDF 행렬 내의 열 벡터로 표현되고 문헌(단어들의 스트링)이 그것의 단어들을 표현하는 벡터들의 중심으로 표현된다.
이 방법에서, 사용자는 레시피 이름(202) 및 재료(204) 필드들과 함께 포함시킬 추가 데이터 필드(204)를 선택한다(단계 600). 다음으로, 그 필드들에 기초하여 각 재료에 대한 TF-IDF 값 벡터를 산출한다(단계 602). 재료 벡터들을 이용하여, 재료 벡터들의 중심으로서 레시피 이름 벡터를 산출한다(단계 604).
선택 사항으로서 이제 카테고리 간 유사도(category-to-category similarity)를 고려하여 스코어들을 평활화(smooth out)할 수 있는 레시피-카테고리 행렬에 라그랑지안 커널(Lagrangian kernel)이 적용될 수 있다. 라그랑지안 기법은 레시피들 및 카테고리들의 역학 관계를 요약할 수 있다.
논의된 구성요소들, 단계들, 특징들, 목적들, 이익들 및 이점들은 예시적인 것에 불과하다. 이들 중 어떤 것도, 이들에 관한 논의들도 보호 범위를 어떤 식으로든 제한하고자 하는 것이 아니다. 많은 다른 실시예들이 또한 구상된다. 이들은 보다 적은, 추가의, 및/또는 상이한 구성요소들, 단계들, 특징들, 목적들, 이익들 및 이점들을 가진 실시예들을 포함한다. 이들은 또한 구성요소들 및/또는 단계들이 상이하게 배열되고/거나 정리되는 실시예들을 포함한다.
다르게 진술되지 않은 한, 후속되는 특허청구범위를 포함하여, 이 명세서에 제시되어 있는 모든 측정들, 값들, 등급들, 위치들, 규모들, 크기들, 및 다른 규격들은 정확하지 않고, 근사치이다. 이들은 이들과 관련 있는 함수들과 그리고 이들이 속하는 기술 분야에서 관례적인 것과 일관되는 타당한 범위를 갖도록 의도되어 있다.
이 개시 내용에서 인용된 모든 기사들, 특허들, 특허 출원들, 및 기타 출판물들은 이로써 본 명세서에 참고로 포함된다.
"~를 위한 수단"이라는 구절은 청구항에서 사용될 때 기술된 대응하는 구조들 및 재료들과 이들의 등가물들을 포괄하도록 의도되어 있고 그렇게 해석되어야 한다. 유사하게, "~를 위한 단계"라는 구절은 청구항에서 사용될 때 기술된 대응하는 행위들과 이들의 등가물들을 포괄하도록 의도되어 있고 그렇게 해석되어야 한다. 청구항에 이러한 구절들이 없는 것은 청구항이 대응하는 구조들, 재료들, 또는 행위들 중 어떤 것에도 또는 이들의 등가물들에 제한되도록 의도되어 있지 않고 그렇게 해석되어서는 안 된다.
진술되거나 예시된 어떤 것도 그것이 청구항들에 기재되어 있는지 여부에 상관없이 어떠한 구성요소, 단계, 특징, 목적, 이익, 이점, 또는 등가물도 대중에게 헌정되도록 의도되어 있지 않고 그렇게 해석되어서는 안 된다.
보호 범위는 오로지 이제 후속되는 청구항들에 의해서만 제한된다. 그 범위는 이 명세서 및 차후의 출원 경과 기록(prosecution history)에 비추어 해석될 때 청구항들에서 사용되는 언어의 통상의 의미와 일관되는 정도로 넓고 또한 모든 구조적 및 기능적 등가물들을 망라하도록 의도되어 있고 그렇게 해석되어야 한다.

Claims (17)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 미리 정해진 네트워크를 통해 복수의 사용자들에게, 많은 제약 없이 사용자에 의해 입력될 수 있는 반구조화 주제, 반구조화 또는 구조화 특징들 및 상기 주제의 속성을 제시하는 컴퓨터 시스템으로서,
    복수의 반구조화 데이터 항목(semi-structured data entry)들을 저장하도록 구성된 메모리 - 각각의 반구조화 데이터 항목은 미리 정해진 주제 및 상기 주제의 데이터 필드인 주제 데이터 필드를 제공함 -; 및
    상기 반구조화 데이터 항목들의 주제에 기초하여 상기 반구조화 데이터 항목들의 서브세트를 선택하고, 상기 서브세트 중 상기 주제의 특징에 관련된 반구조화 데이터 필드와 상기 주제 데이터 필드 중 적어도 하나를 선택하고, 선택에 따라 상기 주제의 특징 및 상기 주제에, 데이터의 유사도를 판단하기 위한 데이터 해석 알고리즘을 적용하여 상기 주제의 속성을 결정하도록 구성된 프로세서
    를 포함하는 컴퓨터 시스템.
  11. 제10항에 있어서,
    상기 주제, 상기 특징들 및 상기 주제의 속성은 레시피 제목, 재료들 및 국가 요리법에 각각 대응하는 컴퓨터 시스템.
  12. 제10항에 있어서,
    상기 데이터 해석 알고리즘은 하이브리드 최대 엔트로피 및 LDA 모델과 용어 빈도-역 문헌 빈도(term frequency-inverse document frequency) 및 코사인 유사도(cosine similarity) 분석 중 적어도 하나를 포함하는 컴퓨터 시스템.
  13. 제10항에 있어서,
    상기 선택된 반구조화 데이터 항목의 서브세트는 트레이닝 데이터이고,
    상기 프로세서는 업데이트된 트레이닝 데이터와 이전의 트레이닝 데이터를 조합하고, 상기 주제 및 상기 특징들의 결정과 상기 데이터 해석 알고리즘의 적용을 반복하는 컴퓨터 시스템.
  14. 미리 정해진 네트워크를 통해 복수의 사용자에게, 많은 제약 없이 사용자에 의해 입력될 수 있는 반구조화 주제, 반구조화 또는 구조화 특징들 및 상기 주제의 속성을 제시하는 방법으로서,
    복수의 반구조화 데이터 항목들을 메모리에 저장하는 단계 - 각각의 반구조화 데이터 항목은 미리 정해진 주제 및 상기 주제의 데이터 필드인 주제 데이터 필드를 제공함 -;
    프로세서를 이용하여, 상기 반구조화 데이터 항목들의 주제에 기초하여 상기 반구조화 데이터 항목들의 서브세트를 선택하는 단계;
    상기 프로세서를 이용하여, 상기 서브세트 중 상기 주제의 특징에 관련된 반구조화 데이터 필드와 상기 주제 데이터 필드 중 적어도 하나를 선택하는 단계; 및
    상기 프로세서를 이용하여, 선택에 따라 상기 주제의 특징 및 상기 주제에, 데이터의 유사도를 판단하기 위한 데이터 해석 알고리즘을 적용하여 상기 주제의 속성을 결정하는 단계
    를 포함하는 방법.
  15. 제14항에 있어서,
    상기 주제, 상기 특징들 및 상기 주제의 속성은 레시피 제목, 재료들 및 국가 요리법에 각각 대응하는 방법.
  16. 제14항에 있어서,
    상기 데이터 해석 알고리즘은 하이브리드 최대 엔트로피 및 LDA 모델과 용어 빈도-역 문헌 빈도 및 코사인 유사도 분석 중 적어도 하나를 포함하는 방법.
  17. 제14항에 있어서,
    상기 선택된 반구조화 데이터 항목의 서브세트는 트레이닝 데이터이고,
    상기 방법은,
    업데이트된 트레이닝 데이터와 이전의 트레이닝 데이터를 조합하고, 상기 주제 및 상기 특징들의 결정과 상기 데이터 해석 알고리즘의 적용을 반복하는 단계를 더 포함하는 방법.
KR1020147026567A 2013-03-15 2013-12-13 반구조화 데이터의 분석 및 분류 방법 Active KR101614642B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/837,764 2013-03-15
US13/837,764 US9477777B2 (en) 2013-03-15 2013-03-15 Method for analyzing and categorizing semi-structured data
PCT/JP2013/084169 WO2014141560A1 (en) 2013-03-15 2013-12-13 Method for analyzing and categorizing semi-structured data

Publications (2)

Publication Number Publication Date
KR20140132378A KR20140132378A (ko) 2014-11-17
KR101614642B1 true KR101614642B1 (ko) 2016-04-21

Family

ID=49998631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147026567A Active KR101614642B1 (ko) 2013-03-15 2013-12-13 반구조화 데이터의 분석 및 분류 방법

Country Status (6)

Country Link
US (1) US9477777B2 (ko)
JP (1) JP5946916B2 (ko)
KR (1) KR101614642B1 (ko)
SG (1) SG11201405967QA (ko)
TW (1) TWI590086B (ko)
WO (1) WO2014141560A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418298B1 (ko) * 2022-01-06 2022-07-07 (주) 바우디움 구조화 문서에 기반하여 사용자의 계획을 관리하는 방법 및 이를 이용한 장치

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201864B2 (en) * 2013-03-15 2015-12-01 Luminoso Technologies, Inc. Method and system for converting document sets to term-association vector spaces on demand
US9495360B2 (en) * 2014-01-31 2016-11-15 International Business Machines Corporation Recipe creation using text analytics
US9489377B1 (en) 2014-02-21 2016-11-08 Yummly, Inc. Inferring recipe difficulty
US20150339394A1 (en) * 2014-05-20 2015-11-26 Tasty Time, Inc. Extracting Online Recipes, and Arranging and Generating a Cookbook
US9311568B1 (en) * 2014-05-21 2016-04-12 Yummly, Inc. Recipe text and image extraction
US9824152B1 (en) 2014-05-30 2017-11-21 Yummly, Inc. Recipe recommendation
US9483547B1 (en) 2014-05-30 2016-11-01 Yummly, Inc. Clustering and display of recipes
US9797873B1 (en) 2014-06-26 2017-10-24 Yummly, Inc. Prediction of recipe preparation time
JP6539962B2 (ja) * 2014-09-04 2019-07-10 富士ゼロックス株式会社 情報提示プログラム及び情報処理装置
US20160103834A1 (en) * 2014-10-14 2016-04-14 International Business Machines Corporation Food recipe scoring and ranking system
US10157178B2 (en) * 2015-02-06 2018-12-18 International Business Machines Corporation Identifying categories within textual data
US10825044B2 (en) * 2017-08-10 2020-11-03 Louis Iannone System and method for recipe identification and classification
US11410638B1 (en) * 2017-08-30 2022-08-09 Amazon Technologies, Inc. Voice user interface for nested content
US10872236B1 (en) 2018-09-28 2020-12-22 Amazon Technologies, Inc. Layout-agnostic clustering-based classification of document keys and values
US11257006B1 (en) 2018-11-20 2022-02-22 Amazon Technologies, Inc. Auto-annotation techniques for text localization
US10949661B2 (en) * 2018-11-21 2021-03-16 Amazon Technologies, Inc. Layout-agnostic complex document processing system
WO2021242073A1 (ko) * 2020-05-29 2021-12-02 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10984064B1 (en) 2020-08-17 2021-04-20 Louis Iannone Methods, devices, and systems for dish data generation and tracking

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178394A1 (en) * 2000-11-06 2002-11-28 Naama Bamberger System for processing at least partially structured data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832446A (en) * 1993-03-31 1998-11-03 Cornell Research Foundation, Inc. Interactive database method and system for food and beverage preparation
US5960440A (en) 1996-01-16 1999-09-28 Brother International Corporation Kitchen information and database management method and apparatus
US6389436B1 (en) * 1997-12-15 2002-05-14 International Business Machines Corporation Enhanced hypertext categorization using hyperlinks
US6970881B1 (en) 2001-05-07 2005-11-29 Intelligenxia, Inc. Concept-based method and system for dynamically analyzing unstructured information
US6778995B1 (en) * 2001-08-31 2004-08-17 Attenex Corporation System and method for efficiently generating cluster groupings in a multi-dimensional concept space
JP2005284406A (ja) 2004-03-26 2005-10-13 Matsushita Electric Works Ltd 料理レシピ提示システム
JP4937709B2 (ja) 2006-11-22 2012-05-23 日本電信電話株式会社 構造化文書生成方法及び装置及びプログラム
US20090009815A1 (en) 2007-07-05 2009-01-08 Gregory Karasik Apparatus for electronic storage of recipes
US7996390B2 (en) * 2008-02-15 2011-08-09 The University Of Utah Research Foundation Method and system for clustering identified forms
JP5310196B2 (ja) * 2009-03-31 2013-10-09 富士通株式会社 分類体系改正支援プログラム、分類体系改正支援装置、および分類体系改正支援方法
US20110099133A1 (en) * 2009-10-28 2011-04-28 Industrial Technology Research Institute Systems and methods for capturing and managing collective social intelligence information
US8886623B2 (en) * 2010-04-07 2014-11-11 Yahoo! Inc. Large scale concept discovery for webpage augmentation using search engine indexers
US9536237B2 (en) * 2012-11-28 2017-01-03 Wal-Mart Stores, Inc. Recipe suggestion apparatus and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178394A1 (en) * 2000-11-06 2002-11-28 Naama Bamberger System for processing at least partially structured data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Multi-class text categorization based on LDA and SVM", Kunlun Li 외4, Procedia Engineering Volume 15, Pages 1963-1967 CEIS 2011, (2011.12.31.)*
네이버 블로그 게시물. 2012.07.02. http://blog.naver.com/cg_lab/80163506515

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418298B1 (ko) * 2022-01-06 2022-07-07 (주) 바우디움 구조화 문서에 기반하여 사용자의 계획을 관리하는 방법 및 이를 이용한 장치
WO2023132422A1 (ko) * 2022-01-06 2023-07-13 (주) 바우디움 구조화 문서에 기반하여 사용자의 계획을 관리하는 방법 및 이를 이용한 장치

Also Published As

Publication number Publication date
WO2014141560A1 (en) 2014-09-18
US9477777B2 (en) 2016-10-25
US20140280148A1 (en) 2014-09-18
SG11201405967QA (en) 2015-11-27
TWI590086B (zh) 2017-07-01
JP2015518585A (ja) 2015-07-02
JP5946916B2 (ja) 2016-07-06
KR20140132378A (ko) 2014-11-17
TW201439797A (zh) 2014-10-16

Similar Documents

Publication Publication Date Title
KR101614642B1 (ko) 반구조화 데이터의 분석 및 분류 방법
US20220084096A1 (en) System and method for providing food taxonomy based food search and recommendation
WO2022022002A1 (zh) 一种信息展示方法、信息搜索方法及装置
US8843497B2 (en) System and method for association extraction for surf-shopping
US9971737B2 (en) Identifying substitute ingredients using a natural language processing system
US9870550B2 (en) Modifying existing recipes to incorporate additional or replace existing ingredients
WO2014002512A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US9797873B1 (en) Prediction of recipe preparation time
CN115129994A (zh) 商品推荐方法、装置、电子设备及可读存储介质
Amano et al. Food category representatives: Extracting categories from meal names in food recordings and recipe data
KR20230116355A (ko) 개인맞춤형 레시피 추천 방법 및 이를 위한 연산장치
KR102110766B1 (ko) 음식 적합도에 기초한 요리 정보 제공 방법 및 장치
Kicherer et al. What you use, not what you do: Automatic classification and similarity detection of recipes
Guria et al. Classification of Foods based on Ingredients
CN115062605B (zh) 一种服务问题归因方法及装置
CN116340383A (zh) 基于查询与结果相关性的搜索方法、装置、介质及设备
Tachibana et al. Extraction of naming concepts based on modifiers in recipe titles
Hakguder et al. Smart Diet Management through Food Image and Cooking Recipe Analysis
Kusu et al. Searching cooking recipes by focusing on common ingredients
US11977566B2 (en) Information processing apparatus, information processing method, and information processing program
Shah et al. Revolutionizing Culinary Experiences: AI-Driven Ingredient Recognition and Personalized Recipe Recommendation System.
JP5292525B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Vitas Food as Text
Wen et al. Ranking recipes according to classicality towards understanding evolution of food preference
Sedano Moreno Development of a cooking recipes application with Python

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20140923

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20140923

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20150916

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160325

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160415

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160415

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20190405

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20200403

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20210402

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20220408

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20240401

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20250324

Start annual number: 10

End annual number: 10