안녕하세요, @doctorbme 입니다. 오늘은 식단 계획을 위한 인공지능을 설계함에 있어서, 사용자의 상황 및 활동에 대해 어떤 정보를 얻을 수 있으며, 어떻게 반영하면 좋을지를 살펴보겠습니다. 저번글에서는 사용자/전문가의 의견을 반영하는 주관적인 정보에 대한 활용이었다면, 이번 글에서는 식단 계획 인공지능 서비스 자체에서 파악될 수 있는 다양한 정보들이 어떤 것이 있는지 제시합니다.
우선 간략하게 식단 계획 인공지능 서비스 의 요소들이 어떠한 것이 있을지 살펴봅시다. 아래 요소들이 완벽한 것은 아니겠지만, 대략적으로 어떠한 요소들을 고려해야하는지 제시해보았습니다.
그림 1. 식단 계획 인공지능 서비스 의 요소들
- 식단, 음식, 식재료에 대한 데이터베이스: 음식을 만들기 위한 가장 기본적인 정보들입니다. 칼로리, 영양소 등을 포함한 식재료의 정보들과, 식재료를 순서에 맞게 조합하였을 때 만들어낼 수 있는 음식과 이에 대한 레시피 정보들이 포함될 수 있습니다.
- 알고리즘: 주어진 데이터베이스를 바탕으로, 각 사용자의 상태를 반영한 제한조건을 감안하여, 각 사용자별 최적의 식단을 찾기 위한 알고리즘을 나타냅니다.
- 정보 가공 및 각색: 어떠한 알고리즘을 사용하느냐에 따라 달라지겠지만, 새롭게 구성된 레시피나 식단을 다시 데이터베이스에 저장할 수도 있고, 데이터베이스에서 찾아낸 기존의 정보들을 상황에 맞게 재가공할 수 있음을 나타냅니다. 또한 사용자가 직접 입력한 것 이외에 다양한 정보원을 바탕으로 파악한 정보에 관하여, 데이터베이스에 맞게 가공하거나 각색할 수 있습니다.
- 직접 정보 입력: 사용자/전문가의 주관적인 의견을 반영합니다.
- 정보 획득: 사용자의 스마트폰 센서, 혈당계, 혈압계 등과 연계된 다양한 객관적 정보를 반영합니다.
- 결과 구성 및 출력: 구성된 식단에 대해 출력 합니다.
예를 들어 당뇨 환자가 이러한 식단 계획 AI를 이용한다고 가정해봅시다. 그러면 일반 사용자에서 획득할 수 있는 정보에, 추가적인 정보가 필요합니다. 식재료와 음식에 대해서는, 혈당지수(GI)를 고려하여, 음식이 혈당에 미치는 영향에 대한 고려를 하는 것이 좋을 것입니다. 조금 더 모델을 확장한다면, 구획모델링(compartment modeling)을 이용하여, 특정한 혈당지수 및 다양한 영양소를 포함하고 있는 음식물이 흡수되었을 경우, 사용자의 혈당과 인슐린 수치가 어떻게 변화하는지를 자체적으로 모델링하여, 혈당의 변화양상을 미리 예측하고 살펴봄으로써, 혈당의 최대값과 최소값의 제한조건을 두어 식단을 구성할 수 있을 것입니다.
사용자가 설정할 수 있는 주관적인 의견은 내가 얼마나 체중을 감량/증량 하고 싶은지, 어떤 식재료를 활용한 음식을 선호하는지/비선호하는지, 새로운 레시피를 얼마나 받아들일 수 있을 것인지 등을 설정하는 것이 될 것입니다. 그렇다면 사용자로 부터 얻을 수 있는 객관적인 정보는 어떠한 것이 있을까요?
사용자로부터 측정할 수 있는 것들, 예를 들어 체중, 체질량지수(BMI), 주기적으로 체크되는 혈당 뿐만 아니라, 근육량 등을 반영한 기초대사량, 스마트폰의 GPS 및 자이로 센서와 연동한 사용자의 움직임을 통한 운동량 측정, 사용자가 먹는 식단을 기록하고 있는 경우 여기에서 얻어지는 음식의 종류와 구성, 각자의 유전 정보를 비롯하여 장내 미생물과 음식물이 반응하는 대사 과정 등을 생각해볼 수 있습니다. 특히 후자의 경우에는, 바코드 스캔 뿐만 아니라 일기 형식으로 기록된 자유 텍스트에서 추출하는 음식의 특성, 음식의 사진을 찍었을 때, 딥러닝을 비롯한 이미지 인식 기술을 활용하여 자동적으로 얻어지는 식단의 정보를 포함할 수 있을 것입니다.
결국 이러한 식단 구성은, 사용자의 건강을 관리하고 상태를 모니터링하는 것까지 나아가기 때문에, 전체적인 건강관리에서, 운동과 식단을 모두 반영할 수 있는 가능성을 보여줍니다.
현재 AI와 관련된 다양한 서비스들이 개발되고 있습니다.
FitGenie
배고픔, 피로 등의 다양한 요소를 반영하여, 식단 제공 및 이에 대한 피드백을 통해 개선함
Nutrino
개인의 상태 및 정보를 비롯하여, 자연어처리를 기반으로 식단에 관한 여러 문헌들과 지식들에 대한 융합을 시도함.
NOT company
기존의 동물 기반 식단을, 맛과 향, 영양을 비슷하게 유지하면서 식물 기반 식단으로 대체하는 식재료의 조합을 찾고자 함.
Nutritas
식재료에 포함된, 건강 증진과 관련된 다양한 생화학적 활성물질을 찾아내는 것이 목표임.
SmartPlate
음식 사진을 인식하여, 칼로리 및 영양소를 계산하고, 식단들을 분석하여, 다 나은 식단을 제시하고자 함.
이 외에도 다양한 AI 기반 food-tech 서비스가 등장하고 있습니다. 이러한 서비스들은 대체적으로, 1)사용자의 건강 관리를 추구하거나 2) 새로운 식재료/음식의 조합을 발견하고자 하는 특징을 가지고 있습니다.
식단 계획 AI에 관한 개괄은 이 글로 마무리하려 합니다. 사실 자세히 고찰하다보면, 고려할 사항도 많고, 여러 서비스를 벤치마크 해야할 부분도 있지만, 일련의 글을 통해, 식단 계획을 위한 인공지능 서비스를 구성하기 위해서, 어떤 식으로 구성해야할 지에 대한 그림을 그리시는 데에 도움이 되셨으면 하는 바람입니다.
감사합니다.
참고문헌
[1] Rodrigo Zenun Franco, Rosalind Fallaize, Julie A Lovegrove, and Faustina Hwang, Popular Nutrition-Related Mobile Apps: A Feature Assessment, JMIR Mhealth Uhealth. 2016 Jul-Sep; 4(3): e85.
[2] Sonnenburg JL, Bäckhed F, Diet-microbiota interactions as moderators of human metabolism, Nature. 2016 Jul 7;535(7610):56-64. doi: 10.1038/nature18846.
[3] J. Bulka, A. Izworski, J. Koleszynska, J. Lis, I. Wochlik,
Automatic meal planning using artificial intelligence algorithms in computer aided diabetes therapy
, IEEE ICARA 2009, https://doi.org/10.1109/ICARA.2000.4803989
본 글에 사용된 그림은 모두 자체작성 하였습니다.
(http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=135118145)
피로도 반영되네요. 피로회복제같은거라도 포함시켜주나요? ㅎㅎㅎㅎ
아마 식단 설정에 따라서, 가능하지 않을까 생각됩니다.
농담이고요ㅎ, 아마 에너지 소모 관련해서, 사용자가 피로하다고 느끼는 상황에, 칼로리와 당 위주로 보충해주는 것이 아닐까 하는 생각을 합니다. 물론 피로회복제에 포함된 것 처럼 타우린이나 카페인, 비타민 같은 것을 섞어줄 수도 있겠지요 :)
이러한 것들을 할 수 있는 기반이 되는데 빅데이터 인것 같아요.
인간이 아침에 일어나는 순간부터 시작해서 잠을 잘때까지 수많은 데이터들을 생성해 내고 그런 데이터들이 여러 환경에서 수집되고 다른 데이터와 결합하고 재가공되어 2차 3차 데이터로 만들어지고 이런 데이터들이 기반이 되어 위와 같은 다양한 분야에 활용되는데 아직은 걸음마 단계인 것 같아요.
좋은 지적을 해주신 것 같습니다.
사실 저는 개인적으로, 데이터를 얼마나 잘 생성해내느냐, 그리고 얼마나 잘 가공할 수 있느냐에 핵심이 있다고 생각합니다. 생각보다 현실세계의 데이터는 그리 깔끔하지 못해서, 데이터 간의 결합을 어떤 식으로 이루어야 하는지에서도 - 그 것을 지식으로 볼 수 있다면 지식을 구조화하는 것이 참 중요하다고 생각하는 편입니다. :)
@yourwisedentist
님이 당신의 글을 번역 요청했습니다Powered by Steemit Translation by CICERON