KR20210019392A - 온톨로지 기반의 식단 추천 장치 및 그 방법 - Google Patents

온톨로지 기반의 식단 추천 장치 및 그 방법 Download PDF

Info

Publication number
KR20210019392A
KR20210019392A KR1020200101185A KR20200101185A KR20210019392A KR 20210019392 A KR20210019392 A KR 20210019392A KR 1020200101185 A KR1020200101185 A KR 1020200101185A KR 20200101185 A KR20200101185 A KR 20200101185A KR 20210019392 A KR20210019392 A KR 20210019392A
Authority
KR
South Korea
Prior art keywords
information
diet
ontology
user
health
Prior art date
Application number
KR1020200101185A
Other languages
English (en)
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 KR20210019392A publication Critical patent/KR20210019392A/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/60ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets

Landscapes

  • Health & Medical Sciences (AREA)
  • Nutrition Science (AREA)
  • Engineering & Computer Science (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

질병에 대한 일반적인 정보 뿐 아니라 사용자의 건강 상태와 음식 선호도, 섭취 내역 등을 모두 종합하여 사용자에게 적합한 식단을 추천할 수 있는 온톨로지 기반의 식단 추천 장치 및 방법이 개시된다. 본 발명의 실시예에 따른 온톨로지 기반의 식단 추천 방법은 사용자의 건강 정보, 선호 식단 정보, 다양한 질병에 관한 질병 정보, 다양한 식단의 영양 정보 및 레시피 정보를 수집하여 온톨로지를 구축하는 단계; 및 온톨로지 데이터베이스로부터 사용자의 건강 정보, 선호 식단 정보, 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 사용자 온톨로지 벡터를 생성하고, 사용자 온톨로지 벡터와 식단 별로 생성된 식단 온톨로지 벡터 간의 온톨로지 유사도를 기반으로 사용자에게 하나 이상의 식단을 추천하는 단계를 포함한다.

Description

온톨로지 기반의 식단 추천 장치 및 그 방법{APPARATUS AND METHOD FOR RECOMMENDING DIET INFORMATION BASED ON ONTOLOGY}
본 발명은 온톨로지 기반의 식단 추천 장치 및 방법에 관한 것으로, 보다 상세하게는 질병에 대한 일반적인 정보 뿐 아니라 사용자의 건강 상태와 음식 선호도, 섭취 내역 등을 모두 종합하여 사용자에게 적합한 식단을 제안할 수 있는 온톨로지 기반의 식단 추천 장치 및 방법에 관한 것이다.
2016년 통계청 조사에 따르면 국내 사망자 사망원인 중 만성질환은 전체 사망자 중 80%를 차지하며, 사망 원인 상위 10개 중 7개를 차지하고 있다. 이러한 만성질환은 노인인구 증가에 따라 늘어날 가능성이 크다. 대부분의 만성질환은 식습관 관리를 통해 개선될 수 있으나, 현 시점에서 식습관을 체계적으로 관리하는 인구는 소수이다. 만성질환으로 입원한 경험이 있는 사람도 퇴원 후 식단 관리시스템의 부재로 인해 체계적인 관리가 이루어지지 않고 있다. 종래의 식단 추천 방법은 단순히 질병에 대한 일반적인 정보만을 사용하여 만성질환 환자의 식단을 추천하는 수준에 그치고 있다.
본 발명은 질병에 대한 일반적인 정보 뿐 아니라 사용자의 건강 상태와 음식 선호도, 섭취 내역 등을 모두 종합하여 사용자에게 적합한 식단을 추천할 수 있는 온톨로지 기반의 식단 추천 장치 및 방법을 제공하기 위한 것이다.
본 발명의 실시예에 따른 온톨로지 기반 식단 추천 방법은: 온톨로지 구축 모듈에 의해, 사용자와 관련된 의료 문진 데이터 또는 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 정보를 수집하고, 상기 사용자의 음식 주문에 관한 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 선호 식단 정보를 수집하고, 질병 관련 기관으로부터 다양한 질병에 관한 질병 정보를 수집하고, 음식의 영양과 관련된 음식 영양 데이터로부터 다양한 식단의 영양에 관한 영양 정보를 수집하고, 음식의 레시피와 관련된 음식 레시피 데이터로부터 상기 다양한 식단의 레시피에 관한 레시피 정보를 수집하고, 상기 건강 정보, 상기 선호 식단 정보, 상기 질병 정보, 상기 영양 정보 및 상기 레시피 정보 별로 각각 온톨로지를 구축하여 온톨로지 데이터베이스에 저장하는 단계; 및 식단 추천 모듈에 의해, 상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하고, 식단 별로 식단 온톨로지 벡터를 생성하고, 상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 온톨로지 유사도를 산출하고, 상기 온톨로지 유사도를 기반으로 상기 사용자에게 하나 이상의 식단을 추천하는 단계를 포함한다.
상기 온톨로지를 구축하여 온톨로지 데이터베이스에 저장하는 단계는: 건강 온톨로지 구축부에 의해, 상기 의료 문진 데이터 또는 상기 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 관련 키워드들로부터 상기 건강 정보를 수집하여 건강 관련 온톨로지를 구축하는 단계; 선호 식단 온톨로지 구축부에 의해, 상기 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 음식 선호도 관련 키워드들로부터 상기 선호 식단 정보를 수집하여 선호 식단 관련 온톨로지를 구축하는 단계; 질병 온톨로지 구축부에 의해, 상기 질병 관련 기관으로부터 상기 다양한 질병에 관한 질병 관련 키워드들로부터 상기 질병 정보를 수집하여 질병 관련 온톨로지를 구축하는 단계; 음식 영양 온톨로지 구축부에 의해, 음식 영양 데이터로부터 상기 식단 별 영양 관련 키워드들로부터 상기 영양 정보를 수집하여 음식 영양 관련 온톨로지를 구축하는 단계; 및 음식 레시피 온톨로지 구축부에 의해, 상기 음식 레시피 데이터로부터 상기 식단 별 레시피 관련 키워드들로부터 상기 레시피 정보를 수집하여 음식 레시피 관련 온톨로지를 구축하는 단계를 포함할 수 있다.
상기 식단을 추천하는 단계는: 사용자 온톨로지 벡터 생성부에 의해, 상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하는 단계; 식단 온톨로지 벡터 생성부에 의해, 상기 온톨로지 데이터베이스로부터 각 식단과 관련된 건강 정보, 상기 각 식단에 대한 선호 식단 정보, 상기 각 식단과 관련된 질병 정보, 상기 각 식단의 영양 정보 및 상기 각 식단의 레시피 정보를 추출하여 상기 각 식단과 관련된 식단 온톨로지 벡터를 생성하는 단계; 온톨로지 유사도 산출부에 의해, 상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 상기 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 상기 온톨로지 유사도를 산출하는 단계; 및 식단 추천부에 의해, 상기 온톨로지 유사도가 높은 순으로, 상기 사용자에게 상기 하나 이상의 식단을 추천하는 단계를 포함할 수 있다.
상기 사용자 온톨로지 벡터를 생성하는 단계는: 가중 건강 정보 생성부에 의해, 상기 사용자의 상기 건강 정보에 상기 건강 정보의 경과 시간에 따라 제1 시간 가중치를 적용하여 가중 건강 정보를 생성하는 단계; 가중 선호 식단 정보 생성부에 의해, 상기 선호 식단 정보에 상기 선호 식단 정보의 경과 시간에 따라 제2 시간 가중치를 적용하여 가중 선호 식단 정보를 생성하는 단계; 가중 질병 정보 생성부에 의해, 상기 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 질병 정보에 제3 시간 가중치를 적용하여 가중 질병 정보를 생성하는 단계; 가중 영양 정보 생성부에 의해, 상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 영양 정보에 제4 시간 가중치를 적용하여 가중 영양 정보를 생성하는 단계; 가중 레시피 정보 생성부에 의해, 상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 레시피 정보에 제5 시간 가중치를 적용하여 가중 레시피 정보를 생성하는 단계; 및 벡터 생성부에 의해, 상기 가중 건강 정보, 상기 가중 선호 식단 정보, 상기 가중 질병 정보, 상기 가중 영양 정보 및 상기 가중 레시피 정보를 기반으로 상기 사용자 온톨로지 벡터를 생성하는 단계를 포함할 수 있다.
상기 제1 시간 가중치는 상기 건강 정보의 경과 시간에 따라 제1 감소율로 선형적으로 감소하는 가중치이고, 상기 제2 시간 가중치는 상기 선호 식단 정보의 경과 시간에 따라 제2 감소율로 선형적으로 감소하는 가중치일 수 있다. 상기 제1 감소율 및 상기 제2 감소율은 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 질병 정보, 상기 영양 정보 및 상기 레시피 정보에 따라 사용자 별로 상이하게 설정될 수 있다.
본 발명의 실시예에 따르면, 상기 온톨로지 기반 식단 추천 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체가 제공된다.
본 발명의 실시예에 따른 온톨로지 기반 식단 추천 장치는: 사용자와 관련된 의료 문진 데이터 또는 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 정보를 수집하고, 상기 사용자의 음식 주문에 관한 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 선호 식단 정보를 수집하고, 질병 관련 기관으로부터 다양한 질병에 관한 질병 정보를 수집하고, 음식의 영양과 관련된 음식 영양 데이터로부터 다양한 식단의 영양에 관한 영양 정보를 수집하고, 음식의 레시피와 관련된 음식 레시피 데이터로부터 상기 다양한 식단의 레시피에 관한 레시피 정보를 수집하고, 상기 건강 정보, 상기 선호 식단 정보, 상기 질병 정보, 상기 영양 정보 및 상기 레시피 정보 별로 각각 온톨로지를 구축하여 온톨로지 데이터베이스에 저장하는 온톨로지 구축 모듈; 및 상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하고, 식단 별로 식단 온톨로지 벡터를 생성하고, 상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 온톨로지 유사도를 산출하고, 상기 온톨로지 유사도를 기반으로 상기 사용자에게 하나 이상의 식단을 추천하는 식단 추천 모듈을 포함한다.
상기 온톨로지 구축 모듈은: 상기 의료 문진 데이터 또는 상기 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 관련 키워드들로부터 상기 건강 정보를 수집하여 건강 관련 온톨로지를 구축하는 건강 온톨로지 구축부; 상기 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 음식 선호도 관련 키워드들로부터 상기 선호 식단 정보를 수집하여 선호 식단 관련 온톨로지를 구축하는 선호 식단 온톨로지 구축부; 상기 질병 관련 기관으로부터 상기 다양한 질병에 관한 질병 관련 키워드들로부터 상기 질병 정보를 수집하여 질병 관련 온톨로지를 구축하는 질병 온톨로지 구축부; 음식 영양 데이터로부터 상기 식단 별 영양 관련 키워드들로부터 상기 영양 정보를 수집하여 음식 영양 관련 온톨로지를 구축하는 음식 영양 온톨로지 구축부; 및 상기 음식 레시피 데이터로부터 상기 식단 별 레시피 관련 키워드들로부터 상기 레시피 정보를 수집하여 음식 레시피 관련 온톨로지를 구축하는 음식 레시피 온톨로지 구축부를 포함한다.
상기 식단 추천 모듈은: 상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하는 사용자 온톨로지 벡터 생성부; 상기 온톨로지 데이터베이스로부터 각 식단과 관련된 건강 정보, 상기 각 식단에 대한 선호 식단 정보, 상기 각 식단과 관련된 질병 정보, 상기 각 식단의 영양 정보 및 상기 각 식단의 레시피 정보를 추출하여 상기 각 식단과 관련된 식단 온톨로지 벡터를 생성하는 식단 온톨로지 벡터 생성부; 상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 상기 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 상기 온톨로지 유사도를 산출하는 온톨로지 유사도 산출부; 및 상기 온톨로지 유사도가 높은 순으로, 상기 사용자에게 상기 하나 이상의 식단을 추천하는 식단 추천부를 포함할 수 있다.
상기 사용자 온톨로지 벡터 생성부는: 상기 사용자의 상기 건강 정보에 상기 건강 정보의 경과 시간에 따라 제1 시간 가중치를 적용하여 가중 건강 정보를 생성하는 가중 건강 정보 생성부; 상기 선호 식단 정보에 상기 선호 식단 정보의 경과 시간에 따라 제2 시간 가중치를 적용하여 가중 선호 식단 정보를 생성하는 가중 선호 식단 정보 생성부; 상기 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 질병 정보에 제3 시간 가중치를 적용하여 가중 질병 정보를 생성하는 가중 질병 정보 생성부; 상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 영양 정보에 제4 시간 가중치를 적용하여 가중 영양 정보를 생성하는 가중 영양 정보 생성부; 상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 레시피 정보에 제5 시간 가중치를 적용하여 가중 레시피 정보를 생성하는 가중 레시피 정보 생성부; 및 상기 가중 건강 정보, 상기 가중 선호 식단 정보, 상기 가중 질병 정보, 상기 가중 영양 정보 및 상기 가중 레시피 정보를 기반으로 상기 사용자 온톨로지 벡터를 생성하는 벡터 생성부를 포함할 수 있다.
상기 사용자 온톨로지 벡터 생성부는: 다수의 단위 구간에 대해 상기 사용자의 건강 정보와 관련된 건강 정보 벡터들을 산출하고; 인접한 단위 구간들에 대해 생성된 건강 정보 벡터들 간의 유사도를 산출하고; 상기 건강 정보 벡터들 간의 유사도를 제1 기준 유사도와 비교하여 상기 사용자의 건강 정보의 변화를 판단하고; 상기 사용자의 건강 정보가 변화한 시점을 기반으로 상기 제1 감소율에 대응되는 제1 임계 기간을 설정하고; 상기 다수의 단위 구간에 대해 상기 사용자의 선호 식단과 관련된 선호 식단 벡터들을 산출하고; 인접한 단위 구간들에 대해 생성된 선호 식단 벡터들 간의 유사도를 산출하고; 상기 선호 식단 벡터들 간의 유사도를 제2 기준 유사도와 비교하여 상기 사용자의 선호 식단의 변화를 판단하고; 그리고 상기 사용자의 선호 식단이 변화한 시점을 기반으로 상기 제2 감소율에 대응되는 제2 임계 기간을 설정할 수 있다.
본 발명의 실시예에 의하면, 질병에 대한 일반적인 정보 뿐 아니라 사용자의 건강 상태와 음식 선호도, 섭취 내역 등을 모두 종합하여 사용자에게 적합한 식단을 추천할 수 있는 온톨로지 기반의 식단 추천 장치 및 방법이 제공된다.
도 1은 본 발명의 실시예에 따른 온톨로지 기반 식단 추천 장치의 구성도이다.
도 2는 본 발명의 실시예에 따른 온톨로지 기반의 식단 추천 장치를 구성하는 사용자 온톨로지 벡터 생성부의 구성도이다.
도 3은 본 발명의 실시예에 따른 온톨로지 기반 식단 추천 방법의 순서도이다.
도 4는 도 3의 단계 S110을 구체적으로 나타낸 순서도이다.
도 5는 도 4의 단계 S120을 설명하기 위한 예시도이다.
도 6은 도 3의 단계 S120을 구체적으로 나타낸 순서도이다.
도 7은 도 6의 단계 S121을 구체적으로 나타낸 순서도이다.
도 8은 도 7의 단계 S1211 및 단계 S1212를 설명하기 위한 예시도이다.
도 9는 도 6의 단계 S121을 보다 구체적으로 나타낸 도면이다.
도 10은 도 9를 설명하기 위한 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 명세서에서, 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 본 명세서에서 사용되는 '~모듈, ~부'는 적어도 하나의 기능이나 동작을 처리하는 단위로서, 예를 들어 소프트웨어, FPGA 또는 하드웨어 구성요소를 의미할 수 있다. '~모듈, ~부'에서 제공하는 기능은 복수의 구성요소에 의해 분리되어 수행되거나, 다른 추가적인 구성요소와 통합될 수도 있다. 본 명세서의 '~모듈, ~부'는 반드시 소프트웨어 또는 하드웨어에 한정되지 않으며, 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 이하에서는 도면을 참조하여 본 발명의 실시예에 대해서 구체적으로 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 온톨로지 기반 식단 추천 장치의 구성도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 온톨로지 기반 식단 추천 장치(100)는 데이터 입력부(110), 온톨로지 구축 모듈(120), 온톨로지 데이터베이스(DB)(130), 식단 추천 모듈(140) 및 데이터 출력부(150)를 포함할 수 있다.
온톨로지 구축 모듈(120)은 다양한 사용자의 건강 정보 및 선호 식단 정보, 각종 질병 정보, 각종 식단의 영양 정보 및 레시피 정보 별로 각각 온톨로지를 구축하여 온톨로지 데이터베이스(130)에 저장할 수 있다.
데이터 입력부(110)는 사용자의 개인 정보, 건강 정보, 선호 식단 정보, 질병 정보, 식단의 영양 및 레시피 정보를 입력받을 수 있도록 구성될 수 있다. 데이터 입력부(110)를 통해 사용자 또는 관리자로부터 추가로 입력된 데이터를 기반으로 온톨로지를 구축하거나, 갱신, 수정 또는 삭제할 수 있다.
온톨로지 구축 모듈(120)은 건강 온톨로지 구축부(121), 선호 식단 온톨로지 구축부(122), 질병 온톨로지 구축부(123), 음식 영양 온톨로지 구축부(124) 및 음식 레시피 온톨로지 구축부(125)를 포함할 수 있다.
건강 온톨로지 구축부(121)는 사용자와 관련된 의료 데이터(10)로부터 추출된 사용자의 건강 상태에 관한 건강 관련 키워드들로부터 건강 정보를 수집하여 건강 정보 온톨로지(personal health ontology)(131)를 구축할 수 있다.
의료 데이터(10)는 예를 들어, 건강 검진 정보나 국민 건강 보험 공단이나 병원 등에서 수집된 의료 문진 데이터, 의료 기기로부터 수집된 의료 기기 측정 데이터 등의 데이터일 수 있다.
건강 정보 온톨로지(131)는 사용자의 체중, 비만, 질병 유무, 소화 상태, 투약 정보 등의 다양한 사용자의 건강 상태를 나타내는 키워드들 간의 계층적 연결 구조로 정의될 수 있다.
선호 식단 온톨로지 구축부(122)는 사용자의 음식 주문에 관한 음식 관련 데이터(20)로부터 추출된 사용자의 음식 선호도 및 섭취 내역에 관한 음식 선호도 관련 키워드들로부터 선호 식단 정보를 수집하여 선호 식단 정보 온톨로지(personal preference ontology)(132)를 구축할 수 있다.
음식 관련 데이터(20)는 예를 들어 사용자가 단말기를 이용하여 음식 주문 앱을 통해 주문한 음식 정보, 데이터 입력부(110)를 통해 입력한 음식 정보 등으로부터 수집될 수 있다. 선호 식단 정보 온톨로지(132)는 사용자가 선호하는 식단에 관한 키워드들 간의 계층적 연결 구조로 정의될 수 있다.
질병 온톨로지 구축부(123)는 질병 관련 기관에서 제공하는 질병 관련 데이터(30)로부터 추출된 다양한 질병에 관한 질병 관련 키워드들로부터 질병 정보를 수집하여 질병 정보 온톨로지(dieses ontology)(133)를 구축할 수 있다.
질병 관련 데이터(30)는 예를 들어, 질병 관리 기관에서 제공하거나 인터넷 등을 통해 제공하는 다양한 질병 종류, 질병 분류 정보, 질병의 증상 정보, 질병과 관련된 음식 정보를 포함하는 데이터일 수 있다.
질병 정보 온톨로지(133)는 질병 종류, 질병 분류 정보, 질병의 증상 정보, 질병과 관련된 음식 정보 등에 관한 키워드들 간의 계층적 연결 구조로 정의될 수 있다.
음식 영양 온톨로지 구축부(124)는 음식의 영양과 관련된 음식 영양 데이터(40)로부터 추출된 식단 별 영양 관련 키워드들로부터 다양한 식단의 영양에 관한 영양 정보를 수집하여 음식 영양 정보 온톨로지(food & nutrition information ontology)(134)를 구축할 수 있다.
음식 영양 데이터(40)는 예를 들어, 식품 관리 기관에서 제공하거나 인터넷 등을 통해 제공하는 다양한 음식 종류, 음식 분류 정보, 음식의 영양 정보를 포함하는 데이터일 수 있다. 음식 영양 정보 온톨로지(134)는 다양한 음식 종류, 음식 분류 정보, 음식의 영양 정보 등에 관한 키워드들 간의 계층적 연결 구조로 정의될 수 있다.
음식 레시피 온톨로지 구축부(125)는 음식의 레시피와 관련된 음식 레시피 데이터(50)로부터 추출된 식단 별 레시피 관련 키워드들로부터 다양한 식단의 레시피 정보를 수집하여 음식 레시피 정보 온톨로지(food-category recipe ontology)(135)를 구축할 수 있다.
음식 레시피 데이터(50)는 예를 들어, 식품 관리 기관에서 제공하거나 인터넷 등을 통해 제공하는 다양한 음식 종류 별 레시피 정보를 포함하는 데이터일 수 있다. 음식 레시피 정보 온톨로지(135)는 다양한 음식 종류 별 레시피 정보 등에 관한 키워드들 간의 계층적 연결 구조로 정의될 수 있다.
온톨로지 데이터베이스(130)는 온톨로지 구축 모듈(120)에 의해 건강 정보, 선호 식단 정보, 질병 정보, 영양 정보 및 레시피 정보 별로 각각 구축된 온톨로지를 저장할 수 있다.
식단 추천 모듈(140)은 사용자 온톨로지 벡터 생성부(141), 식단 온톨로지 벡터 생성부(142), 온톨로지 유사도 산출부(143) 및 식단 추천부(144)를 포함할 수 있다.
사용자 온톨로지 벡터 생성부(141)는 온톨로지 데이터베이스(130)로부터 사용자의 건강 정보, 선호 식단 정보, 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성할 수 있다.
식단 온톨로지 벡터 생성부(142)는 온톨로지 데이터베이스(130)로부터 각 식단과 관련된 건강 정보, 각 식단에 대한 선호 식단 정보, 각 식단과 관련된 질병 정보, 각 식단의 영양 정보 및 각 식단의 레시피 정보를 추출하여 각 식단과 관련된 식단 온톨로지 벡터를 생성할 수 있다.
온톨로지 유사도 산출부(143)는 사용자 온톨로지 벡터를 식단 별로 생성된 식단 온톨로지 벡터와 비교하여 사용자 온톨로지 벡터와 식단 온톨로지 벡터 간의 온톨로지 유사도를 산출할 수 있다.
온톨로지 유사도는 예를 들어 코사인 유사도(Cosine Similarity), 유클리디언 거리(Euclidean Distance), 맨해튼 거리(Manhattan Distance), 민코스키 거리(Minkowski Distance) 등을 기반으로 산출될 수 있으나, 이에 한정되는 것은 아니다.
식단 추천부(144)는 온톨로지 유사도를 기반으로 사용자에게 하나 이상의 식단을 추천할 수 있다. 즉, 식단 추천부(144)는 온톨로지 유사도가 높은 순으로, 사용자에게 하나 이상의 식단을 추천할 수 있다. 식단 추천부(144)에 의해 선정된 하나 이상의 식단은 데이터 출력부(150)를 통해 온톨로지 유사도 순으로 출력될 수 있다.
본 발명의 실시예에 의하면, 사용자 온톨로지 벡터와, 식단 온톨로지 벡터의 유사도를 기반으로, 사용자가 섭취한 영양분 양과, 앞으로 섭취할 수 있는 영양분 양 등을 파악하여 사용자에게 식단을 추천할 수 있으며, 환자에게 필요한 성분 구성과 가장 구조가 비슷하면서 환자의 취향에 맞는 음식으로 식단을 추천할 수 있다.
도 2는 본 발명의 실시예에 따른 온톨로지 기반의 식단 추천 장치를 구성하는 사용자 온톨로지 벡터 생성부의 구성도이다. 도 1 및 도 2를 참조하면, 사용자 온톨로지 벡터 생성부(141)는 가중 건강 정보 생성부(1411), 가중 선호 식단 정보 생성부(1412), 가중 질병 정보 생성부(1413), 가중 영양 정보 생성부(1414), 가중 레시피 정보 생성부(1415) 및 가중 벡터 생성부(1416)를 포함할 수 있다.
가중 건강 정보 생성부(1411)는 사용자의 건강 정보에 건강 정보의 경과 시간에 따라 제1 시간 가중치를 적용하여 가중 건강 정보를 생성할 수 있다.
가중 선호 식단 정보 생성부(1412)는 선호 식단 정보에 선호 식단 정보의 경과 시간에 따라 제2 시간 가중치를 적용하여 가중 선호 식단 정보를 생성할 수 있다.
가중 질병 정보 생성부(1413)는 건강 정보 및 가중 선호 식단 정보에 따라 질병 정보에 제3 시간 가중치를 적용하여 가중 질병 정보를 생성할 수 있다.
가중 영양 정보 생성부(1414)는 가중 건강 정보 및 가중 선호 식단 정보에 따라 영양 정보에 제4 시간 가중치를 적용하여 가중 영양 정보를 생성할 수 있다.
가중 레시피 정보 생성부(1415)는 가중 건강 정보 및 가중 선호 식단 정보에 따라 레시피 정보에 제5 시간 가중치를 적용하여 가중 레시피 정보를 생성할 수 있다.
가중 벡터 생성부(1416)는 가중 건강 정보, 가중 선호 식단 정보, 가중 질병 정보, 가중 영양 정보 및 가중 레시피 정보를 기반으로 사용자 온톨로지 벡터를 생성할 수 있다.
도 3은 본 발명의 실시예에 따른 온톨로지 기반 식단 추천 방법의 순서도이다. 도 1 및 도 3을 참조하면, 본 발명의 실시예에 따른 온톨로지 기반 식단 추천 방법은 다양한 사용자의 건강 정보 및 선호 식단 정보, 각종 질병 정보, 각종 식단의 영양 정보 및 레시피 정보 별로 각각 온톨로지를 구축하여 온톨로지 데이터베이스(130)에 저장하는 단계(S110)와, 온톨로지 데이터베이스(130)로부터 생성된 사용자 온톨로지 벡터와 식단 온톨로지 벡터 간의 온톨로지 유사도를 기반으로 사용자에게 식단을 추천하는 단계(S120)를 포함할 수 있다.
도 4는 도 3의 단계 S110을 구체적으로 나타낸 순서도이다. 도 5는 도 4의 단계 S120을 설명하기 위한 예시도이다. 도 1, 도 2, 도 4 및 도 5를 참조하면, 건강 온톨로지 구축부(121)는 사용자와 관련된 의료 문진 데이터 또는 의료 기기로부터 수집된 의료 기기 측정 데이터와 같은 의료 데이터(10)로부터 추출된 사용자의 건강 상태에 관한 건강 관련 키워드들로부터 건강 정보를 수집하여 건강 정보 온톨로지(personal health ontology)(131)를 구축할 수 있다(S111).
선호 식단 온톨로지 구축부(122)는 사용자의 음식 주문에 관한 음식 관련 데이터(20)로부터 추출된 사용자의 음식 선호도 및 섭취 내역에 관한 음식 선호도 관련 키워드들로부터 선호 식단 정보를 수집하여 선호 식단 정보 온톨로지(personal preference ontology)(132)를 구축할 수 있다(S112).
질병 온톨로지 구축부(123)는 질병 관련 기관에서 제공하는 질병 관련 데이터(30)로부터 추출된 다양한 질병에 관한 질병 관련 키워드들로부터 질병 정보를 수집하여 질병 정보 온톨로지(dieses ontology)(133)를 구축할 수 있다(S113).
음식 영양 온톨로지 구축부(124)는 음식의 영양과 관련된 음식 영양 데이터(40)로부터 추출된 식단 별 영양 관련 키워드들로부터 다양한 식단의 영양에 관한 영양 정보를 수집하여 음식 영양 정보 온톨로지(food & nutrition information ontology)(134)를 구축할 수 있다(S114).
음식 레시피 온톨로지 구축부(125)는 음식의 레시피와 관련된 음식 레시피 데이터(50)로부터 추출된 식단 별 레시피 관련 키워드들로부터 다양한 식단의 레시피 정보를 수집하여 음식 레시피 정보 온톨로지(food-category recipe ontology)(135)를 구축할 수 있다(S115).
온톨로지 데이터베이스(130)는 온톨로지 구축 모듈(120)에 의해 건강 정보, 선호 식단 정보, 질병 정보, 영양 정보 및 레시피 정보 별로 각각 구축된 온톨로지를 저장할 수 있다.
도 6은 도 3의 단계 S120을 구체적으로 나타낸 순서도이다. 도 1, 도 2, 도 3 및 도 6을 참조하면, 사용자 온톨로지 벡터 생성부(141)는 온톨로지 데이터베이스(130)로부터 사용자의 건강 정보, 선호 식단 정보, 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성할 수 있다(S121).
예를 들어, 스테이크를 선호하며 심혈관 질환을 가지고 있고 최근에 치과 충치 치료를 받은 비만인 사용자의 경우, 사용자의 건강 정보 및 선호 식단 정보로 추출된 "심혈관", "비만", "치과", "충치", "스테이크" 등의 용어들, 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보로 추출된 "채식", "식물성", "저칼로리", "고단백", "지방", "부드러운 음식" 등의 용어들의 가중치가 높은 사용자 온톨로지 벡터가 생성될 수 있다.
식단 온톨로지 벡터 생성부(142)는 온톨로지 데이터베이스(130)로부터 각 식단과 관련된 건강 정보, 각 식단에 대한 선호 식단 정보, 각 식단과 관련된 질병 정보, 각 식단의 영양 정보 및 각 식단의 레시피 정보를 추출하여 각 식단과 관련된 식단 온톨로지 벡터를 생성할 수 있다(S122).
예를 들어, 두부 스테이크의 경우, "부드러운", "저칼로리", "저지방", "채식", "고단백", "식물성", "심혈관", "비만", "스테이크" 등의 용어들의 가중치가 높은 식단 온톨로지 벡터가 생성될 수 있다.
온톨로지 유사도 산출부(143)는 사용자 온톨로지 벡터를 식단 별로 생성된 식단 온톨로지 벡터와 비교하여 사용자 온톨로지 벡터와 식단 온톨로지 벡터 간의 온톨로지 유사도를 산출할 수 있다(S123).
식단 추천부(144)는 온톨로지 유사도를 기반으로 사용자에게 하나 이상의 식단을 추천할 수 있다. 즉, 식단 추천부(144)는 온톨로지 유사도가 높은 순으로, 사용자에게 하나 이상의 식단을 추천할 수 있다(S124). 식단 추천부(144)에 의해 선정된 하나 이상의 식단은 데이터 출력부(150)를 통해 온톨로지 유사도 순으로 출력될 수 있다.
본 발명의 실시예에 의하면, 사용자 온톨로지 벡터와, 식단 온톨로지 벡터의 유사도를 기반으로 사용자가 섭취한 영양분 양과 앞으로 섭취할 수 있는 영양분 양 등을 파악하여 사용자에게 식단을 추천할 수 있으며, 환자에게 필요한 성분 구성과 가장 구조가 비슷하면서 환자의 취향에 맞는 음식으로 식단을 추천할 수 있다.
도 7은 도 6의 단계 S121을 구체적으로 나타낸 순서도이다. 도 8은 도 7의 단계 S1211 및 단계 S1212를 설명하기 위한 예시도이다. 도 1 내지 도 4, 도 6 내지 도 8을 참조하면, 가중 건강 정보 생성부(1411)는 사용자의 건강 정보에 건강 정보의 경과 시간에 따라 제1 시간 가중치를 적용하여 가중 건강 정보를 생성할 수 있다(S1211).
제1 시간 가중치는 건강 정보의 경과 시간에 따라 제1 감소율로 선형적으로 감소하는 가중치일 수 있다. 제1 감소율은 사용자의 건강 정보, 선호 식단 정보, 질병 정보, 영양 정보 및 레시피 정보에 따라 사용자 별로 상이하게 설정될 수 있다.
제1 시간 가중치 f는 예를 들어 하기의 수식 1과 같이 경과 시간 x와, 설정된 임계 기간 TP 에 따라 설정될 수 있으며, 이때 제1 감소율은 1/TP 로 설정될 수 있다.
[수식 1]
Figure pat00001
도 9는 도 6의 단계 S121을 보다 구체적으로 나타낸 도면이다. 도 10은 도 9를 설명하기 위한 예시도이다. 도 1 내지 도 4, 도 6 내지 도 10을 참조하면, 임계 기간 TP 는 단위 구간(T1, T2, ..., Tm, Tn) 별 선호 특성 벡터들 간의 변화를 기반으로 설정될 수 있다.
단위 구간(T1, T2, ..., Tm, Tn)은 예를 들어, 주, 월 등과 같이 미리 설정된 일정 주기로 설정될 수 있다. 건강 정보와 관련된 임계 기간의 설정을 위한 선호 특성 벡터는 예를 들어, 건강 정보를 나타는 건강 정보 벡터일 수 있다.
가중 건강 정보 생성부(1411)는 건강 정보 온톨로지(131)로부터 단위 구간(T1, T2, ..., Tm, Tn) 별로 선호 특성 벡터를 도출한 후(S1210a), 인접한 단위 구간(T1, T2, ..., Tm, Tn)에 대해 생성된 2개의 선호 특성 벡터 간의 유사도를 산출하고(S1210b), 인접한 2개의 선호 특성 벡터 간의 유사도가 건강 정보 변화를 판단하는 기준으로 설정된 제1 기준 유사도 미만인 경우에, 사용자의 건강 정보가 현격하게 변화한 것으로 판단할 수 있다(S1210c).
인접한 선호 벡터들 간의 유사도는 예를 들어 코사인 유사도(Cosine Similarity), 유클리디언 거리(Euclidean Distance), 맨해튼 거리(Manhattan Distance), 민코스키 거리(Minkowski Distance) 등을 기반으로 산출될 수 있으나, 이에 한정되지는 않는다.
예를 들어, 단위 구간 Tm과 Tn에 대해 생성된 2개의 선호 특성 벡터 간의 유사도가 기준 유사도 미만인 경우, 단위 구간 Tm과 Tn에 사이에 사용자의 건강 정보 특성이 현격하게 변화한 것으로 판단하여, 해당 단위 구간 Tm과 Tn 사이의 시점을 건강 정보에 관한 임계 기간 TP 으로 설정할 수 있다(S1210d).
가중 선호 식단 정보 생성부(1412)는 선호 식단 정보에 선호 식단 정보의 경과 시간에 따라 제2 시간 가중치를 적용하여 가중 선호 식단 정보를 생성할 수 있다(S1212). 제2 시간 가중치는 선호 식단 정보의 경과 시간에 따라 제2 감소율로 선형적으로 감소하는 가중치일 수 있다.
제2 시간 가중치는 건강 정보의 경과 시간에 따라 제2 감소율로 선형적으로 감소하는 가중치일 수 있다. 제2 감소율은 사용자의 건강 정보, 선호 식단 정보, 질병 정보, 영양 정보 및 레시피 정보에 따라 사용자 별로 상이하게 설정될 수 있다.
제2 시간 가중치는 상기 수식 1과 유사한 방식으로 설정될 수 있다. 실시예에서, 임계 기간 TP 는 단위 구간(T1, T2, ..., Tm, Tn) 별 선호 특성 벡터들 간의 변화를 기반으로 설정될 수 있다. 선호 식단 정보와 관련된 임계 기간의 설정을 위한 선호 특성 벡터는 예를 들어, 선호 식단 정보를 나타는 선호 식단 벡터일 수 있다.
가중 선호 식단 정보 생성부(1412)는 선호 식단 정보 온톨로지(132)로부터 단위 구간(T1, T2, ..., Tm, Tn) 별로 선호 특성 벡터를 도출한 후(S1210e), 인접한 단위 구간(T1, T2, ..., Tm, Tn)에 대해 생성된 2개의 선호 특성 벡터 간의 유사도를 산출하고(S1210f), 인접한 2개의 선호 특성 벡터 간의 유사도가 선호 식단 변화를 판단하는 기준으로 설정된 제2 기준 유사도 미만인 경우에, 선호 식단 특성이 현격하게 변화한 것으로 판단할 수 있다(S1210g).
예를 들어, 단위 구간 Tm과 Tn에 대해 생성된 2개의 선호 특성 벡터 간의 유사도가 기준 유사도 미만인 경우, 단위 구간 Tm과 Tn에 사이에 사용자의 선호 식단 특성이 현격하게 변화한 것으로 판단하여, 해당 단위 구간 Tm과 Tn 사이의 시점을 선호 식단에 관한 임계 기간 TP 으로 설정할 수 있다(S1210h).
개인의 식단 선호도, 겅강 상태 등은 시간의 흐름에 따라 변화한다. 누적된 특성 데이터에 의해서 과거의 선호도에 의해서 영향을 받게 되는 경우, 사용자의 변화된 식단 선호도에 따라 적합한 식단을 추천하지 못하게 될 수 있다.
일 실시예에서, 경과된 시간에 따른 가중치를 적용하며, 특정 임계 범위 기간이 지난 데이터는 식단 추천에 고려하지 않도록 할 수 있다. 임계 범위를 1년으로 설정하였을 때, 현재의 가중치는 1이 되고, 1년이 지난 시점이 된 경우의 가중치는 0이 되어 1년 이상의 모든 경과 시간에 대한 가중치는 0으로 설정될 수 있다.
가중 질병 정보 생성부(1413)는 건강 정보 및 가중 선호 식단 정보에 따라 질병 정보에 제3 시간 가중치를 적용하여 가중 질병 정보를 생성할 수 있다(S1213).
제3 시간 가중치는 예를 들어, 제1 시간 가중치에 제1 질병 가중치를 적용하고, 제2 시간 가중치에 제2 질병 가중치를 적용한 가중치일 수 있다. 제1 질병 가중치와 제2 질병 가중치는 각각 건강 정보와 선호 식단 정보와의 관련도를 기반으로 설정될 수 있다. 건강 정보와 선호 식단 정보와의 관련도는 건강 정보 벡터와 선호 식단 벡터와의 유사도를 기반으로 산출될 수 있다.
가중 영양 정보 생성부(1414)는 가중 건강 정보 및 가중 선호 식단 정보에 따라 영양 정보에 제4 시간 가중치를 적용하여 가중 영양 정보를 생성할 수 있다(S1214).
제4 시간 가중치는 예를 들어, 제1 시간 가중치에 제1 영양 가중치를 적용하고, 제2 시간 가중치에 제2 영양 가중치를 적용한 가중치일 수 있다. 제1 영양 가중치는 건강 정보 벡터와 영양 정보 벡터 간의 관련도를 기반으로 산출될 수 있다. 제2 영양 가중치는 선호 식단 벡터와 영양 정보 벡터 간의 관련도를 기반으로 산출될 수 있다.
가중 레시피 정보 생성부(1415)는 가중 건강 정보 및 가중 선호 식단 정보에 따라 레시피 정보에 제5 시간 가중치를 적용하여 가중 레시피 정보를 생성할 수 있다(S1215).
제5 시간 가중치는 예를 들어, 제1 시간 가중치에 제1 레시피 가중치를 적용하고, 제2 시간 가중치에 제2 레시피 가중치를 적용한 가중치일 수 있다. 제1 레시피 가중치와 제2 레시피 가중치는 각각 건강 정보와 선호 식단 정보와의 관련도를 기반으로 설정될 수 있다.
제1 레시피 가중치는 건강 정보 벡터와 레시피 정보 벡터 간의 관련도를 기반으로 산출될 수 있다. 제2 레시피 가중치는 선호 식단 벡터와 레시피 정보 벡터 간의 관련도를 기반으로 산출될 수 있다.
건강 정보 벡터, 선호 식단 벡터, 질병 정보 벡터, 영양 정보 벡터 및 레시피 정보 벡터는 각각 건강 정보 온톨로지(131), 선호 식단 정보 온톨로지(132), 질병 정보 온톨로지(133), 음식 영양 정보 온톨로지(134) 및 음식 레시피 정보 온톨로지(135)로부터 추출된 용어들로부터 생성될 수 있다.
건강 정보 벡터, 선호 식단 벡터, 질병 정보 벡터, 영양 정보 벡터 및 레시피 정보 벡터 간의 유사도는 예를 들어, 코사인 유사도, 유클리디언 거리, 맨해튼 거리, 민코스키 거리 등을 기반으로 산출될 수 있으나, 이에 한정되는 것은 아니다.
가중 벡터 생성부(1416)는 가중 건강 정보, 가중 선호 식단 정보, 가중 질병 정보, 가중 영양 정보 및 가중 레시피 정보를 기반으로 사용자 온톨로지 벡터를 생성할 수 있다(S1216).
도 7 내지 도 10의 실시예에 의하면, 사용자 개인의 시간에 따른 건강 상태 변화 및 선호 식단의 변화에 따라 시간 가중치 및 임계 기간을 설정하여 사용자 온톨로지 벡터를 생성함으로써, 과거의 선호에 의한 영향을 배제하거나 경감할 수 있으며, 사용자에게 적절한 식단을 추천할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/ 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.
처리 장치는 운영 체제 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리요소를 포함할 수 있음을 이해할 것이다.
예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor) 와 같은, 다른 처리 구성(Processing configuration)도 가능하다. 소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.
소프트웨어 및/ 또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody) 될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100: 온톨로지 기반 식단 추천 장치
110: 데이터 입력부
120: 온톨로지 구축 모듈
121: 건강 온톨로지 구축부
122: 선호 식단 온톨로지 구축부
123: 질병 온톨로지 구축부
124: 음식 영양 온톨로지 구축부
125: 음식 레시피 온톨로지 구축부
130: 온톨로지 데이터베이스
131: 건강 정보 온톨로지
132: 선호 식단 정보 온톨로지
133: 질병 정보 온톨로지
134: 음식 영양 정보 온톨로지
135: 음식 레시피 정보 온톨로지
140: 식단 추천 모듈
141: 사용자 온톨로지 벡터 생성부
142: 식단 온톨로지 벡터 생성부
143: 온톨로지 유사도 산출부
144: 식단 추천부
150: 데이터 출력부

Claims (12)

  1. 온톨로지 구축 모듈에 의해, 사용자와 관련된 의료 문진 데이터 또는 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 정보를 수집하고, 상기 사용자의 음식 주문에 관한 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 선호 식단 정보를 수집하고, 질병 관련 기관으로부터 다양한 질병에 관한 질병 정보를 수집하고, 음식의 영양과 관련된 음식 영양 데이터로부터 다양한 식단의 영양에 관한 영양 정보를 수집하고, 음식의 레시피와 관련된 음식 레시피 데이터로부터 상기 다양한 식단의 레시피에 관한 레시피 정보를 수집하고, 상기 건강 정보, 상기 선호 식단 정보, 상기 질병 정보, 상기 영양 정보 및 상기 레시피 정보 별로 각각 온톨로지를 구축하여 온톨로지 데이터베이스에 저장하는 단계; 및
    식단 추천 모듈에 의해, 상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하고, 식단 별로 식단 온톨로지 벡터를 생성하고, 상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 온톨로지 유사도를 산출하고, 상기 온톨로지 유사도를 기반으로 상기 사용자에게 하나 이상의 식단을 추천하는 단계를 포함하는, 온톨로지 기반 식단 추천 방법.
  2. 제1항에 있어서,
    상기 온톨로지를 구축하여 온톨로지 데이터베이스에 저장하는 단계는:
    건강 온톨로지 구축부에 의해, 상기 의료 문진 데이터 또는 상기 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 관련 키워드들로부터 상기 건강 정보를 수집하여 건강 정보 온톨로지를 구축하는 단계;
    선호 식단 온톨로지 구축부에 의해, 상기 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 음식 선호도 관련 키워드들로부터 상기 선호 식단 정보를 수집하여 선호 식단 정보 온톨로지를 구축하는 단계;
    질병 온톨로지 구축부에 의해, 상기 질병 관련 기관으로부터 상기 다양한 질병에 관한 질병 관련 키워드들로부터 상기 질병 정보를 수집하여 질병 정보 온톨로지를 구축하는 단계;
    음식 영양 온톨로지 구축부에 의해, 음식 영양 데이터로부터 상기 식단 별 영양 관련 키워드들로부터 상기 영양 정보를 수집하여 음식 영양 정보 온톨로지를 구축하는 단계; 및
    음식 레시피 온톨로지 구축부에 의해, 상기 음식 레시피 데이터로부터 상기 식단 별 레시피 관련 키워드들로부터 상기 레시피 정보를 수집하여 음식 레시피 정보 온톨로지를 구축하는 단계를 포함하는, 온톨로지 기반 식단 추천 방법.
  3. 제1항에 있어서,
    상기 식단을 추천하는 단계는:
    사용자 온톨로지 벡터 생성부에 의해, 상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하는 단계;
    식단 온톨로지 벡터 생성부에 의해, 상기 온톨로지 데이터베이스로부터 각 식단과 관련된 건강 정보, 상기 각 식단에 대한 선호 식단 정보, 상기 각 식단과 관련된 질병 정보, 상기 각 식단의 영양 정보 및 상기 각 식단의 레시피 정보를 추출하여 상기 각 식단과 관련된 식단 온톨로지 벡터를 생성하는 단계;
    온톨로지 유사도 산출부에 의해, 상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 상기 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 상기 온톨로지 유사도를 산출하는 단계; 및
    식단 추천부에 의해, 상기 온톨로지 유사도가 높은 순으로, 상기 사용자에게 상기 하나 이상의 식단을 추천하는 단계를 포함하는, 온톨로지 기반 식단 추천 방법.
  4. 제1항에 있어서,
    상기 사용자 온톨로지 벡터를 생성하는 단계는:
    가중 건강 정보 생성부에 의해, 상기 사용자의 상기 건강 정보에 상기 건강 정보의 경과 시간에 따라 제1 시간 가중치를 적용하여 가중 건강 정보를 생성하는 단계;
    가중 선호 식단 정보 생성부에 의해, 상기 선호 식단 정보에 상기 선호 식단 정보의 경과 시간에 따라 제2 시간 가중치를 적용하여 가중 선호 식단 정보를 생성하는 단계;
    가중 질병 정보 생성부에 의해, 상기 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 질병 정보에 제3 시간 가중치를 적용하여 가중 질병 정보를 생성하는 단계;
    가중 영양 정보 생성부에 의해, 상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 영양 정보에 제4 시간 가중치를 적용하여 가중 영양 정보를 생성하는 단계;
    가중 레시피 정보 생성부에 의해, 상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 레시피 정보에 제5 시간 가중치를 적용하여 가중 레시피 정보를 생성하는 단계; 및
    가중 벡터 생성부에 의해, 상기 가중 건강 정보, 상기 가중 선호 식단 정보, 상기 가중 질병 정보, 상기 가중 영양 정보 및 상기 가중 레시피 정보를 기반으로 상기 사용자 온톨로지 벡터를 생성하는 단계를 포함하는, 온톨로지 기반 식단 추천 방법.
  5. 제4항에 있어서,
    상기 제1 시간 가중치는 상기 건강 정보의 경과 시간에 따라 제1 감소율로 선형적으로 감소하는 가중치이고, 상기 제2 시간 가중치는 상기 선호 식단 정보의 경과 시간에 따라 제2 감소율로 선형적으로 감소하는 가중치이고,
    상기 제1 감소율 및 상기 제2 감소율은 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 질병 정보, 상기 영양 정보 및 상기 레시피 정보에 따라 사용자 별로 상이하게 설정되는, 온톨로지 기반 식단 추천 방법.
  6. 제1항 내지 제5항 중 어느 한 항의 온톨로지 기반 식단 추천 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  7. 사용자와 관련된 의료 문진 데이터 또는 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 정보를 수집하고, 상기 사용자의 음식 주문에 관한 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 선호 식단 정보를 수집하고, 질병 관련 기관으로부터 다양한 질병에 관한 질병 정보를 수집하고, 음식의 영양과 관련된 음식 영양 데이터로부터 다양한 식단의 영양에 관한 영양 정보를 수집하고, 음식의 레시피와 관련된 음식 레시피 데이터로부터 상기 다양한 식단의 레시피에 관한 레시피 정보를 수집하고, 상기 건강 정보, 상기 선호 식단 정보, 상기 질병 정보, 상기 영양 정보 및 상기 레시피 정보 별로 각각 온톨로지를 구축하여 온톨로지 데이터베이스에 저장하는 온톨로지 구축 모듈; 및
    상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하고, 식단 별로 식단 온톨로지 벡터를 생성하고, 상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 온톨로지 유사도를 산출하고, 상기 온톨로지 유사도를 기반으로 상기 사용자에게 하나 이상의 식단을 추천하는 식단 추천 모듈을 포함하는, 온톨로지 기반 식단 추천 장치.
  8. 제7항에 있어서,
    상기 온톨로지 구축 모듈은:
    상기 의료 문진 데이터 또는 상기 의료 기기로부터 상기 사용자의 건강 상태에 관한 건강 관련 키워드들로부터 상기 건강 정보를 수집하여 건강 정보 온톨로지를 구축하는 건강 온톨로지 구축부;
    상기 음식 관련 데이터로부터 상기 사용자의 음식 선호도 및 섭취 내역에 관한 음식 선호도 관련 키워드들로부터 상기 선호 식단 정보를 수집하여 선호 식단 정보 온톨로지를 구축하는 선호 식단 온톨로지 구축부;
    상기 질병 관련 기관으로부터 상기 다양한 질병에 관한 질병 관련 키워드들로부터 상기 질병 정보를 수집하여 질병 정보 온톨로지를 구축하는 질병 온톨로지 구축부;
    음식 영양 데이터로부터 상기 식단 별 영양 관련 키워드들로부터 상기 영양 정보를 수집하여 음식 영양 정보 온톨로지를 구축하는 음식 영양 온톨로지 구축부; 및
    상기 음식 레시피 데이터로부터 상기 식단 별 레시피 관련 키워드들로부터 상기 레시피 정보를 수집하여 음식 레시피 정보 온톨로지를 구축하는 음식 레시피 온톨로지 구축부를 포함하는, 온톨로지 기반 식단 추천 장치.
  9. 제7항에 있어서,
    상기 식단 추천 모듈은:
    상기 온톨로지 데이터베이스로부터 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 상기 사용자의 건강 및 선호 식단과 관련된 질병 정보, 영양 정보 및 레시피 정보를 추출하여 상기 사용자의 식단과 관련된 사용자 온톨로지 벡터를 생성하는 사용자 온톨로지 벡터 생성부;
    상기 온톨로지 데이터베이스로부터 각 식단과 관련된 건강 정보, 상기 각 식단에 대한 선호 식단 정보, 상기 각 식단과 관련된 질병 정보, 상기 각 식단의 영양 정보 및 상기 각 식단의 레시피 정보를 추출하여 상기 각 식단과 관련된 식단 온톨로지 벡터를 생성하는 식단 온톨로지 벡터 생성부;
    상기 사용자 온톨로지 벡터를 상기 식단 별로 생성된 상기 식단 온톨로지 벡터와 비교하여 상기 사용자 온톨로지 벡터와 상기 식단 온톨로지 벡터 간의 상기 온톨로지 유사도를 산출하는 온톨로지 유사도 산출부; 및
    상기 온톨로지 유사도가 높은 순으로, 상기 사용자에게 상기 하나 이상의 식단을 추천하는 식단 추천부를 포함하는, 온톨로지 기반 식단 추천 장치.
  10. 제7항에 있어서,
    상기 사용자 온톨로지 벡터 생성부는:
    상기 사용자의 상기 건강 정보에 상기 건강 정보의 경과 시간에 따라 제1 시간 가중치를 적용하여 가중 건강 정보를 생성하는 가중 건강 정보 생성부;
    상기 선호 식단 정보에 상기 선호 식단 정보의 경과 시간에 따라 제2 시간 가중치를 적용하여 가중 선호 식단 정보를 생성하는 가중 선호 식단 정보 생성부;
    상기 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 질병 정보에 제3 시간 가중치를 적용하여 가중 질병 정보를 생성하는 가중 질병 정보 생성부;
    상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 영양 정보에 제4 시간 가중치를 적용하여 가중 영양 정보를 생성하는 가중 영양 정보 생성부;
    상기 가중 건강 정보 및 상기 가중 선호 식단 정보에 따라 상기 레시피 정보에 제5 시간 가중치를 적용하여 가중 레시피 정보를 생성하는 가중 레시피 정보 생성부; 및
    상기 가중 건강 정보, 상기 가중 선호 식단 정보, 상기 가중 질병 정보, 상기 가중 영양 정보 및 상기 가중 레시피 정보를 기반으로 상기 사용자 온톨로지 벡터를 생성하는 가중 벡터 생성부를 포함하는, 온톨로지 기반 식단 추천 장치.
  11. 제10항에 있어서,
    상기 제1 시간 가중치는 상기 건강 정보의 경과 시간에 따라 제1 감소율로 선형적으로 감소하는 가중치이고, 상기 제2 시간 가중치는 상기 선호 식단 정보의 경과 시간에 따라 제2 감소율로 선형적으로 감소하는 가중치이고,
    상기 제1 감소율 및 상기 제2 감소율은 상기 사용자의 상기 건강 정보, 상기 선호 식단 정보, 질병 정보, 상기 영양 정보 및 상기 레시피 정보에 따라 사용자 별로 상이하게 설정되는, 온톨로지 기반 식단 추천 장치.
  12. 제11항에 있어서,
    상기 사용자 온톨로지 벡터 생성부는:
    다수의 단위 구간에 대해 상기 사용자의 건강 정보와 관련된 건강 정보 벡터들을 산출하고;
    인접한 단위 구간들에 대해 생성된 건강 정보 벡터들 간의 유사도를 산출하고;
    상기 건강 정보 벡터들 간의 유사도를 제1 기준 유사도와 비교하여 상기 사용자의 건강 정보의 변화를 판단하고;
    상기 사용자의 건강 정보가 변화한 시점을 기반으로 상기 제1 감소율에 대응되는 제1 임계 기간을 설정하고;
    상기 다수의 단위 구간에 대해 상기 사용자의 선호 식단과 관련된 선호 식단 벡터들을 산출하고;
    인접한 단위 구간들에 대해 생성된 선호 식단 벡터들 간의 유사도를 산출하고;
    상기 선호 식단 벡터들 간의 유사도를 제2 기준 유사도와 비교하여 상기 사용자의 선호 식단의 변화를 판단하고; 그리고
    상기 사용자의 선호 식단이 변화한 시점을 기반으로 상기 제2 감소율에 대응되는 제2 임계 기간을 설정하는, 온톨로지 기반 식단 추천 장치.
KR1020200101185A 2019-08-12 2020-08-12 온톨로지 기반의 식단 추천 장치 및 그 방법 KR20210019392A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190098331 2019-08-12
KR1020190098331 2019-08-12

Publications (1)

Publication Number Publication Date
KR20210019392A true KR20210019392A (ko) 2021-02-22

Family

ID=74687580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200101185A KR20210019392A (ko) 2019-08-12 2020-08-12 온톨로지 기반의 식단 추천 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20210019392A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102540268B1 (ko) * 2022-07-26 2023-06-07 주식회사 팜킷 트리를 이용하여 개인화 음식 추천을 위한 음식의 유사도를 측정하는 방법 및 장치
KR102565403B1 (ko) * 2022-11-29 2023-08-10 주식회사 팜킷 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치
KR102607701B1 (ko) * 2023-05-03 2023-11-30 주식회사 팜킷 사용자 음식 프로파일 구축을 위한 설문 리스트를 생성하는 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102540268B1 (ko) * 2022-07-26 2023-06-07 주식회사 팜킷 트리를 이용하여 개인화 음식 추천을 위한 음식의 유사도를 측정하는 방법 및 장치
KR102565403B1 (ko) * 2022-11-29 2023-08-10 주식회사 팜킷 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치
US11972471B1 (en) 2022-11-29 2024-04-30 Farmkit Inc. Method and apparatus for user's food taste intelligence-based personalized recommendations using ontology and machine learning
KR102607701B1 (ko) * 2023-05-03 2023-11-30 주식회사 팜킷 사용자 음식 프로파일 구축을 위한 설문 리스트를 생성하는 방법 및 장치

Similar Documents

Publication Publication Date Title
KR20210019392A (ko) 온톨로지 기반의 식단 추천 장치 및 그 방법
US10817778B2 (en) Customized cooking utilizing deep learning neuromorphic computing of hyperspectral input
Lin et al. A content-based matrix factorization model for recipe recommendation
JP6410069B1 (ja) レシピ情報提供装置、レシピ情報提供方法およびレシピ情報提供プログラム
Zhang et al. Many-objective optimization meets recommendation systems: A food recommendation scenario
KR102657384B1 (ko) 개인 선호 기반의 식이 구성 및 추천 방법
Garcia et al. Modifying food textures: Practices and beliefs of staff involved in nutrition care
KR20210072221A (ko) 개인 맞춤형 웰빙 가이드 프로그램 제공 시스템 및 방법, 컴퓨터로 읽을 수 있는 저장매체에 저장된 개인 맞춤형 웰빙 가이드 애플리케이션
JP6422173B1 (ja) 検索装置、検索方法、及び検索プログラム
JP7361358B2 (ja) レシピ抽出装置、レシピ抽出方法、及びプログラム
JP2019133624A (ja) レシピ情報提供装置、レシピ情報提供方法およびレシピ情報提供プログラム
JP7109995B2 (ja) 介護サービス分析システム、介護サービス分析方法、介護サービス分析処理装置
CN114207732A (zh) 用于提供饮食推荐的装置和方法
KR102553562B1 (ko) 유방암 발생 위험도 예측 장치 및 방법
US20220171933A1 (en) Methods and systems for personal recipe generation
KR20070059350A (ko) 식단 진단 시스템 및 그 방법
JP7009663B1 (ja) 血糖体質判定装置、血糖体質判定方法、およびプログラム
US11694787B2 (en) System and method for generating a cognitive disorder nourishment program
Princy et al. A personalized food recommender system for women considering nutritional information
KR102316805B1 (ko) 구성원 속성 및 피드백 데이터 기반의 협업 필터링을 통한 조합형 식단 추천 시스템 및 방법
KR20210071212A (ko) 고객 맞춤형 식단 제공 서비스 시스템
CN110188117A (zh) 维权策略匹配方法、装置、计算机设备及存储介质
US11972471B1 (en) Method and apparatus for user's food taste intelligence-based personalized recommendations using ontology and machine learning
KR102639285B1 (ko) 개인화된 건강 데이터를 기초로 한 인공지능 모델 기반 사용자 맞춤형 의료 가이드 정보 제공 방법, 장치 및 시스템
US20230274812A1 (en) Methods and systems for calculating an edible score in a display interface

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right