1.전문가 시스템
규칙 기반 모델을 이용하는 추천 엔진의 경우, 현재까지 분석 결과를 제공하는 시스템의 대부분은 전문가 시스템에 기반을 두고 있다. 그렇다면 전문가 시스템이란 무엇인가? 전문가 시스템은 규칙 기반 시스템의 일종으로, 전문가가 직접 수행하는 분류나 결정과 같은 판단을 도와주거나 그 판단을 대체할 수 있는 시스템을 일컫는다. 이러한 시스템은 특정 문제 영역에 관한 전문 지식을 지식 기반에 저장하고, 해당 문제 영역에서 발생할 수 있는 다양한 문제를 해결하는 데 도움을 주도록 설계되어 있다. 따라서 전문가 시스템은 특정 영역에서의 지식과 경험을 컴퓨터 시스템에 통합함으로써 전문가의 결정을 지원하거나 대체할 수 있는 유용한 도구로 작용하게 된다.
전문가 시스템의 한 예로는 의료 진단 시스템이나 설계 시스템 등이 있으며, 대표적인 초기 전문가 시스템인 Dendral은 1965년 스탬포드 대학에서 시작된 프로젝트로, 주로 화학 물질의 질량 분석과 그에 따른 화학 구조를 파악하는 데 사용되었다. Dendral은 LISP 언어를 사용하여 구현되었으며, 예를 들어 물질의 분자량을 계산하기 위해 H=1, O=16과 같은 원자량을 정수값으로 변환하여 최종적인 분자량을 도출한다. 물의 경우의 분자량은 18이 되고, 질량 분석 시 18 근처에서 피크값을 얻을 수 있다. 또한 에탄올(C2H5OH)의 경우에는 C=12, H=1, O=16의 조합으로 인해 분자량이 46이 되며, 질량 분석 시 46 근처에서 피크값을 얻을 수 있다.
이처럼 Dendral은 질량 분석을 통해 얻은 피크 값을 활용하여 역으로 화학 구조를 파악하지만, 분자량이 증가할수록 원자 조합이 다양해지기 때문에 분석에 시간이 오래 걸릴 수 있다는 단점이 있다. Dendral은 Heuristic-Dendral과 Meta-Dendral이라는 두 가지 구성으로 나뉘어 있다. Heuristic-Dendral은 전문가의 경험적 분석을 실행하여 문제를 해결하고, Meta-Dendral은 분자 결합 구조와 질량 스펙트럼 세트를 지식 기반에 저장하여 Heuristic-Dendral에서 피드백을 받는 학습 시스템으로 기능한다. 초기 전문가 시스템 Dendral은 물의 경우 18 근처의 피크 값을 얻을 수 있지만, 에탄올은 다양한 분포를 보이며 46 근처에서 피크 값을 얻는 특징이 있다.
Dendral에서 파생된 MYCIN 역시 1970년대에 구축된 전문가 시스템으로, 항생제의 접미사인 ‘~mycin’에서 이름을 따왔다. MYCIN은 환자의 전염성 혈액 질환을 진단한 후 적절한 항생제와 투약량 등을 제시하는 시스템으로, 약 500개 정도의 규칙을 통해 판별을 수행한다. 이 시스템은 이진 규칙 외에도 사용자가 답변 형식을 요구하는 질문을 포함하고 있어 매우 유용하다. Dendral에서 파생된 MYCIN은 결과의 신뢰도를 순서에 따라 질환의 원인을 표시하고 치료 과정을 제안할 수 있는 능력을 지니고 있다. MYCIN은 세균 감염에 대한 진단 정확도가 전문의보다 높은 경우도 있었지만, 전체적으로 전문의에 비해서는 낮은 정답 신뢰도를 나타낸다. 이런 이유로 인해 윤리적 및 법률적 책임 문제로 인해 실제 현장에서의 사용 사례는 없는 실정이다. 의료 전문가 시스템의 경우, 진단의 정답율이 85%에서 90% 이상에 달해야 하며, 거짓 양성과 거짓 음성이 최소화되어야 한다는 요구 사항이 있다.
2. 추론엔진의 종류와 기법
전문가 시스템은 규칙을 사용하여 결과를 추론하는 프로그램으로, 이 시스템에서 중요한 구성 요소 중 하나는 추론 엔진이다. 이 추론 엔진에는 명제 논리, 술어 논리, 인식 논리, 퍼지 논리 등과 같은 수리 논리학이 사용된다. 명제 논리는 가장 기본적으로 사용하는 수리 논리학으로, 이는 논리 연산자를 이용하여 명제 사이의 관련성을 표현할 수 있게 한다. 따라서 술어 논리를 이용해 의미를 부여하게 되면 이는 추론 엔진으로서 동작 가능한 논리 구성으로 발전한다.
추론 엔진의 논리 구성 예로는 술어 논리(Predicate logic) 아래 양산 논리(Modal logic)와 시제 논리(Tense logic)가 있으며, 양산 논리 아래에는 인식 논리(Epistemic logic)가 있고, 또 다치 논리(Many-valued logic) 아래에는 시제 논리(Fuzzy logic)가 있다. 이러한 구조로 이루어진 추론 엔진은 다양한 조건을 처리할 수 있으며, 영제 변수와 논리 연산자로 구성된 논리식을 활용한다. 이러한 논리식은 원자 논리식 또는 원자 논리식과 명제 결합 기호의 조합으로 표현된다. 원자 논리식은 명제 변수로 표현되며, 명제 변수의 예로는 P, Q, p, q, ∅, Ψ 등이 있다.
또한, 연제 결합 기호(결합 기호)는 다양한 논리 연산을 표현하기 위해 사용되는 기호들로, 이러한 기호에는 ¬, ~ (부정, NOT), ⋀ (연언, 논리곱, AND), v (선언, 논리합, OR), ⇒ (함축, implication), ⇔ (동치, equivalence) 등이 포함된다. 여기서 NOT과 OR 이외의 기호는 있는 그대로 사용하기보다는 NOT과 OR로 풀어서 표현이 가능하다. 보조 기호인 ()는 경우에 따라 기호법에 사용될 수도 있고 사용되지 않을 수도 있다.
논리적 동치(≡)는 두 개의 논리식이 동일한 값을 가지는 경우를 표시하며, 논리식 원자 논리식 또는 원자 논리식과 논리 기호의 조합으로 표현할 수 있다. 원자 논리식, 즉 원자식은 원자 논리식 자체 또는 원자 논리식과 항의 조합으로 표현된다. 항은 정수 기호, 변수 기호, 함수 기호의 조합으로 이루어지며, 이러한 조합은 논리식에 다양한 기호를 조합해 논리 표현의 폭을 넓혀준다. 정수 기호의 예로는 TRUE, FALSE, X, Y, apple, Tommy 등이 있으며, 변수 기호는 P, Q, p, q, ∅, Ψ 등이 있다. 함수 기호는 FATHER()와 같은 형태로 관계를 표시할 수 있고, 술어 기호는 cold()와 같이 성질과 상태를 나타낸다. 논리 기호는 명제 결합 기호와 한정 기호로 표현되며, 한정 기호에는 ∀(전칭 기호)와 ∋(존재 기호) 등 다양하게 존재한다.
논리적 진리표에서는 명제 P와 Q가 있고 이들 각각의 진리값이 미리 결정된 경우 각 명제의 참과 거짓을 기준으로 적용된 진리값을 판별할 수 있다. 논리식의 주 동치 관계는 항진식(항상 참이 되는 논리식)과 항위식(모순식, 항상 거짓이 되는 논리식)으로 나뉘며, 특히 이중부정, 결합률, 배분율, 교환율, 드 모르간 법칙과 같은 다양한 논리가 적용될 수 있다. 그리고 한정 기호와 관계된 드 모르간 법칙도 유용하게 사용된다.
논리봅의 표준형과 스콜렘 표준형은 각각 논리곱 표준형(Conjunctive Normal Form; CNF)과 관련된 개념으로, 이는 명제 논리식을 절 형식(Clause form)으로 변환하는 과정이다. 이러한 변환 과정에서는 이중부정, 드 모르간 법칙, 분배 법칙을 사용하여 변환할 수 있다. 스콜렘 표준형은 술어 논리식을 절 형식으로 변환하는 것으로, 이 과정에서 스콜렘 함수로 존재 기호(∋)를 제거하는 방식으로 이루어진다. 이러한 다양한 규칙
3.추천 엔진
추천 엔진의 개념은 사용자에게 필요한 정보를 신속하게 추측하여 제시하는 전문가 시스템으로, 특히 온라인 쇼핑몰 사이트나 언론사 등에서 널리 사용되는 경우가 많다. 간단한 예로는 다양한 정보에서 연관성 있는 정보를 찾아내는 기능이 있으며, 협업 필터링 방식을 이용하여 사용자화된 추천을 제공하는 방법이 있다. 예를 들어, 온라인 쇼핑몰에서는 특정 제품을 추천하거나, 사용자가 흥미를 가질 수 있는 웹사이트를 제안하며, 음악과 영화 검색 도우미 역할을 수행한다.
추천 엔진의 구체적인 예로, 쇼핑몰에서는 방문자에게 "이 상품을 본 후에 구매한 상품은 무엇인가요?"와 같은 질문을 통해 관련 정보와 추천을 제공한다. 이와 같은 시스템은 사이트 방문자에게 비슷한 정보를 추천하는 기능을 가지고 있으며, 이는 전문가 시스템의 한 예로 볼 수 있다. 이러한 시스템은 "방문자가 보는 정보를 키워드로 바탕으로 비슷한 정보를 표시하라"는 질문을 실행하는 원리와 동일하다. 추천 엔진은 콘텐츠의 내용에서 비슷한 정보를 찾아내고, 이를 기반으로 정보를 추천하는 역할을 수행한다.
방문자의 검색 이력이나 구매 이력과 같은 사이트 방문자 고유 정보를 이용하여 연관된 정보를 추천하는 방식도 존재한다. 콘텐츠 내용을 분석하는 추천 엔진은 사이트 사용자 및 방문자의 정보를 제외하고 콘텐츠 자체의 정보에서 관련된 내용을 검색하여 추천할 수 있다. 추천 콘텐츠의 예로는 쇼핑몰의 상품 정보 또는 뉴스 사이트의 기사 정보 등이 있으며, 이러한 콘텐츠는 지식 기반에 저장 가능한 다양한 특성량(Feature; 특징량)으로 구성된다. 이 구성 요소는 제목이나 장르와 같은 정보로 이루어져 있으며, 이를 계산하여 찾는 데이터를 분석한다.
예를 들어, 특정 사용자인 A가 지진 뉴스를 보는 경우, 다음으로 어떤 기사를 추천할 것인지에 대한 질문을 던질 수 있다. 이때 키워드를 통해 관련성을 정의하고, 협업 필터링을 이용한 추천 엔진이 작동하게 된다. 협업 필터링은 많은 사용자들로부터 얻은 기호 정보(Taste information)에 기반하여 사용자들의 관심사들을 자동으로 예측하게 해 주는 방법이다. 이는 정보 과잉 문제를 해결하기 위한 정보 필터링의 주요 기법으로, 큰 무리의 사람들을 검색하여 유사한 취향을 가진 작은 집합을 발견하는 방법이다.
또한, 능동적 필터링은 P2P(참여자 간) 방식으로 작동하며, 이는 사람들이 다른 비슷한 집단의 사람들이 구매한 물건의 정보를 공유하려는 사실에 기초하고 있다. 반면 수동적 필터링은 특정 집단의 정보가 아닌 일반 집단의 정보를 사용할 수 있으며, 방문자나 사용자의 고유 데이터를 활용하여 적합한 무언가를 추천하는 데 많이 사용된다. 대표적인 수동적 필터링 알고리즘의 예로는 아마존의 아이템 기반 협업 필터링이 있다. 따라서, 콘텐츠 분석 추천 엔진은 사용자 고유 데이터를 결합하여 상관 분석을 수행하고, 이를 통해 보다 향상된 추천 결과를 제공할 수 있다.
| 인공지능에 사용되는 수학적 배경 (1) | 2025.01.13 |
|---|---|
| 인간지능과 인공지능 (0) | 2025.01.12 |
| 의사 결정 트리의 구축, 지식 기반 모델 (0) | 2025.01.12 |
| 규칙 기반 모델, 예시 (0) | 2025.01.11 |
| 인공지능의 연구와 미래 (0) | 2025.01.11 |