34
하하하하하 하하 하하하 하하하 하 하하하하하하 하하하 , 하하하하하 하하하 , 하하하하하 하하하 , 하하하하하

하이퍼링크 기반 추론을 이용한 웹 전문가시스템

  • Upload
    saber

  • View
    52

  • Download
    1

Embed Size (px)

DESCRIPTION

하이퍼링크 기반 추론을 이용한 웹 전문가시스템. 송용욱 , 연세대학교 김우주 , 전북대학교 홍준석 , 인제대학교. 목차. 웹 기반 전문가시스템 하이퍼링크 기반 웹 전문가시스템 구축 단계 규칙베이스와 의사결정나무 하이퍼링크 기반 추론 추론 사이트의 자동 생성 및 관리 WeBIS 요약. 웹 기반 전문가시스템. 다양한 Web-based Applications 지능형 웹 사이트 개인화 웹 사이트 고객 서비스 Call center, 금융 상담 , … 서버 부하의 문제 - PowerPoint PPT Presentation

Citation preview

Page 1: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

하이퍼링크 기반 추론을이용한 웹 전문가시스템

송용욱 , 연세대학교김우주 , 전북대학교홍준석 , 인제대학교

Page 2: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

목차 웹 기반 전문가시스템 하이퍼링크 기반 웹 전문가시스템 구축

단계 규칙베이스와 의사결정나무 하이퍼링크 기반 추론

추론 사이트의 자동 생성 및 관리 WeBIS

요약

Page 3: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

웹 기반 전문가시스템 다양한 Web-based Applications

지능형 웹 사이트 개인화 웹 사이트 고객 서비스

Call center, 금융 상담 , … 서버 부하의 문제

Multi-processing CGI(Common Gateway Interface) FastCGI(Open Market), mod-perl(Apache Web Server),

PerlEx(Active State) Transaction server : MTS (ASP), … Multi-threading : Java Servlet, JSP, …

Fact base Connectionless & stateless 질문화면마다 추론 재 수행 필요

Page 4: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

웹 기반 전문가시스템의 분류Location of

inference engineTypes of inference

enginesFeatures

Server side

CGI ProgramCGI(Common Gateway Interface) standard

Server-side scriptASP, PHP, JSP

Transaction processing, Multi-threading

Web server embedded module

Inference engines are embedded into Web servers

Hyperlink-based HTML and scripting language

Client side

External ViewerInvoked by content-type (MIME) header

Java appletJava bytecodes

Java VM (virtual machine)

Page 5: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

하이퍼링크 기반 추론

신호등

서시오

가시오

빨간색

파란색

Page 6: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

하이퍼링크 기반 추론의 장단점 장점

기존 웹 환경에서 별도의 시스템 없이 구현 가능 On-line & Off-line 웹 서버의 부하 최소화

Multi-processing Fact base

“ 취소” 기능의 구현 용이 단점

규칙의 표현성 Global Variables – Cookies(Session(ASP)) 로 해결 가능 Predicates – JavaScript, VBScript 로 해결 가능 Predicate calculus

규칙의 관리 지식분석도 (Expert’s Diagram)

WeBIS

Page 7: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

하이퍼링크 기반 웹 전문가시스템 구축 단계Step 1) 규칙 베이스를 마련한다 .

Step 2) 규칙 베이스를 의사결정나무로 변환한다 . 변환 알고리즘

Step 3) 의사결정나무로부터 하이퍼링크된 HTML 파일들을 만든다 . 하이퍼링크 기반 추론 HTML 파일 생성 및 유지보수 시스템 (WeBIS)

Step 4) HTML 파일들을 웹 서버에 올린다 .

Page 8: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

규칙베이스 : 동물원 예제(BWD-RULE 규칙 1IF

(IS " 동물이 털이 있다 ." TRUE)THEN

(IS 포유류이다 . TRUE))

(BWD-RULE 규칙 2IF

(IS " 동물이 젖이 있다 ." TRUE)THEN

(IS 포유류이다 . TRUE))

(BWD-RULE 규칙 3IF

(IS " 동물이 깃털이 있다 ." TRUE)THEN

(IS 새이다 . TRUE))

(BWD-RULE 규칙 4IF

(IS " 동물이 난다 ." TRUE)(IS " 동물이 알을 낳는다 ." TRUE)

THEN(IS 새이다 . TRUE))

(BWD-RULE 규칙 5IF

(IS 포유류이다 . TRUE)(IS " 고기를 먹는다 ." TRUE)

THEN(IS 육식동물이다 . TRUE))

(BWD-RULE 규칙 6IF

(IS 포유류이다 . TRUE)(IS " 송곳니가 있다 ." TRUE)(IS " 날카로운 발톱이 있다 ." TRUE)(IS " 눈이 전방을 향해 있다 ." TRUE)

THEN(IS 육식동물이다 . TRUE))

(BWD-RULE 규칙 7IF

(IS 포유류이다 . TRUE)(IS " 발굽이 있다 ." TRUE)(IS " 되삭임질을 한다 ." TRUE)

THEN(IS 초식동물이다 . TRUE))

(BWD-RULE 규칙 8IF

(IS 육식동물이다 . TRUE)(IS 황갈색이다 . TRUE)(IS " 검은 점이 있다 ." TRUE)

THEN(IS 치타이다 . TRUE))

Page 9: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

의사결정나무로의 변환 (1) Assumption

Propositional logic P Q R S

ProcedureStep 2.1) Eliminate chaining variables

Q R C, P C S P (Q R) SStep 2.2) Convert to disjunctive normal form

P (Q R) (P Q) (P R)Step 2.3) Eliminate disjunction

(P Q) (P R) S P Q S, P R SStep 2.4) Convert to decision tree

See next pages.

Page 10: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

* Notation R : a rule base, a finite set { ri, i = 1, …, n}ri : a rule, a pair (Pi, ci), where Pi is a finite set and ci is a termPi : a finite set { pij, j = 1, …, mi }, of which elements are propositions and the propositions are connected by AND operators because we assume the rules are in canonical formci : a conclusionT : a tree, a pair (V, E), where V is a finite set and E is a binary relation on VV : a vertex set of T, { vk, k = 1, …, p }vk : a vertex, a singular set (nk), of which element represent propositions or conclusions of rules, that is, nk = pij for some k, i, and j or nk = ci for some k and iE : an edge set of T, { es, s = 1, …, q }es : an edge, a set (vs1, vs2, bs, Fs), where vs1 and vs2 are two vertices connected by es, bs is a Boolean value(true or false), which represents whether the connection condition for proposition vs1 is true or false, and Fs is a finite setHs : a path, a finite set of edges { est, where t = 1, …, rs }, of which elements are all the edges which connect the vertices from vs2 to the root vertex. Note that Hs includes es by definition.Fs : a fact base, a finite set of facts { fst = (nst1, bst), built from est = (vst1 = (nst1), vst2, bst, Fs

t) in Hs, t = 1, …, rs }fst : a fact, a pair (nst, bst), which represents that the value of nst is bst, where nst is a proposition, that is nst = pij for some s, t, i, and j, and bst is a Boolean value

Page 11: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

function ConvertRulebase2Tree(R) returns Tinputs: R = { ri, i = 1, …, n}, a rule basevariables: T = (V, E), a binary treeNonconnectedEdges = { ej }, a set of edgesej = (v1, v2, b, F), an edgeT.V T.E NonconnectedEdges for each ri in R doNonconnectedEdges ConvertRule2Tree(NonconnectedEdges, ri, T)end forfor each ej in NonconnectedEdges domake a conclusion c = “No conclusion”make a vertex v = (c)T.V T.V { v }ej.v2 vend forreturn T

Page 12: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

function ConvertRule2Tree(NonconnectedEdges, r, T) returns Edgesinputs: NonconnectedEdges = { es }, a set of edges

ej = (vs1, vs2, bs, Fs), an edge r = (P, c), a rule P = { pj }, a set of propositions

inputs & outputs: T = (V, E), a binary tree to be builtvariables: Edges = { es }, a set of edgeses = (vs1, vs2, bs, Fs), an edgeCurrentEdge = (v1, v2, b, F), an edgeEdges if NonconnectedEdges = thenCurrentEdge NULLfor each pj in r.P domake a vertex v = (pj)T.V T.V { v }make a fact falseFact = (pj, false)make a fact trueFact = (pj, true)if CurrentEdge = NULL thenmake an edge falseEdge = (v, NULL, false, { falseFact })make an edge trueEdge = (v, NULL, true, { trueFact })elseCurrentEdge.v2 vmake an edge falseEdge = (v, NULL, false, CurrentEdge.F { falseFact })make an edge trueEdge = (v, NULL, true, CurrentEdge.F { trueFact })end ifT.E T.E { trueEdge, falseEdge }Edges Edges { flaseEdge }CurrentEdge trueEdgeend formake a vertex v = (r.c)T.V T.V { v }CurrentEdge.v2 v

Page 13: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

elsefor each es in NonconnectedEdges doif Match(r.P, es.F) = false thenEdges Edges { es }elseCurrentEdge = es

for each pj in r.P doif Exist(pj, CurrentEdge.F) = false thenmake a vertex v = (pj)T.V T.V { v }make a fact falseFact = (pj, false)make a fact trueFact = (pj, true)CurrentEdge.v2 vmake an edge falseEdge = (v, NULL, false, CurrentEdge.F { falseFact })make an edge trueEdge = (v, NULL, true, CurrentEdge.F { trueFact })T.E T.E { trueEdge, falseEdge }Edges Edges { flaseEdge }CurrentEdge trueEdgeend ifend formake a vertex v = (r.c)T.V T.V { v }CurrentEdge.v2 vend ifend forend ifreturn Edges

Page 14: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

function Match(P, F) returns Booleaninputs: P = { pj }, a set of propositions F = { ft = (nt, bt) }, a fact basefor each pj in P dofor each ft in F doif pj = ft.nt and ft.bt = false thenreturn falseend ifend forend forreturn true function Exist(p, F) returns Booleaninputs: p, a proposition F = { ft = (nt, bt) }, a fact basefor each ft in F doif p = ft.nt thenreturn trueend ifend forreturn false

Page 15: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

의사결정나무로의 변환 (2)

R1: a b c x

R2: b d y

a

b

b

c

?

x

d

y

?

d

?

y

?

T

F

T

F

T

FT

FT

FT

F

Page 16: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

의사결정나무로의 변환 (3) Extension

NOT 의 처리 P S

Multiple branches IF (M = a) THEN S M : a, b, c

Numerical expressions IF (a + b) > 3

AND p = TRUETHEN s

IF p = FALSEAND (a + c) < 5THEN t

Global Variables

PS

?

F

T

M

S

?

a

c?b

a,bp

?

T

F

s

c

T

Ft

?

T

F

Page 17: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

하이퍼링크 기반 추론 변수의 종류

진위형 (Fact Type) Hyperlink

선택형 (OAV Type) Hyperlink

수치형 (Numeric Type) JavaScript / VBScript

Page 18: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

수치형 변수의 구현IF total_income >= 0.2 * threshold

THEN pay_tax

Page 19: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

<HTML><HEAD> <TITLE> Expression Type </TITLE> <SCRIPT LANGUAGE="JavaScript">

<!-- function verifyValue(form) {

if (form.total_income.value >= 0.2 * form.threshold.value){ location="http://iis.kaist.ac.kr/paytax.html"}else{ location="http://iis.kaist.ac.kr/notax.html"}

}//-->

</SCRIPT></HEAD><BODY> <FORM NAME="exprform">

<BR> 다음을 입력하십시오 . <BR>total_income <INPUT TYPE="text" NAME="total_income"> <BR>threshold <INPUT TYPE="text" NAME="threshold"> <BR><BR><INPUT TYPE="button" VALUE="OK" onClick="verifyValue(this.form)">

</FORM></BODY></HTML>

Page 20: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

WeBIS*

웹 기반 추론 사이트 생성 및 관리를 위한 도구 지식의 표현

지식분석도 (Expert’s Diagram) Lee, J. K., I. K. Lee, and H. R. Choi, "Automatic rule generati

on by the transformation of Expert's Diagram: LIFT," Int. J. Man-Machine Studies, 32(1990), 275-292.

규칙베이스로부터 지식분석도 생성 Syntax of rules

사이트 생성 HTML, JavaScript, ASP, WML, … Template 파일에 의한 디자인 지원

웹 사이트 분석 HTML 파일로부터 지식분석도 생성

* http://www.waisolutions.com/

Page 21: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

Architecture of WeBIS

HTMLFiles

WeBIS

WebBrowsers

InternetRule base

WebServersManual

Input byKnowledgeEngineer

Automaticconversion

AutomaticGeneration

KnowledgeSource

KnowledgeAcquisition

Web siteAnalysis

Page 22: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

WeBIS 의 기능 지식분석도 입력 및 수정 디자인 지원 – Theme 및 Template 편집 추론 사이트 생성

HTML(Client-side script) ASP(Server-side script) WML

Level of Abstraction Grouping nodes

웹 사이트 분석 Database 연결 Session 처리

Page 23: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

지식분석도 입력 및 수정

Page 24: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

생성된 HTML 파일

Page 25: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

추론 진행 화면

Page 26: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

Level of Abstraction

Page 27: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

디자인과 Template File (1)

Page 28: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

디자인과 Template File (2)

<HTML> <HEAD><TITLE> <!--WGITITLE--> </TITLE><!--WGBRANCH--></HEAD> <BODY><TABLE ALIGN=CENTER><!--WGINPUTFORM " 확 인 " 3--></TABLE><!--WGOBJECT photo--></BODY> </HTML>

Page 29: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

디자인과 Template File (3)<HTML><HEAD><TITLE> 허리에 통증 ? </TITLE><SCRIPT LANGUAGE=JavaScript>function WBIBranch(form){ if (form.WBIName1[0].checked) { form.action = "WBI2.html"; } else if (form.WBIName1[1].checked) { form.action = "WBI3.html"; } else { } if (form.action != null && form.action != "") { form.submit(); } }</Script></HEAD> <BODY> <TABLE ALIGN=CENTER><FORM METHOD=GET NAME="WBIForm1"><TR> <TD COLSPAN=1 width="223" height="35" bgcolor="#EBDF8F"><B> 허리에 통증 ?</B></TD> </TR><TR> <TD> <INPUT TYPE=RADIO NAME="WBIName1" VALUE="WBIValue1_0_0">Yes </TD> </TR><TR> <TD> <INPUT TYPE=RADIO NAME="WBIName1" VALUE="WBIValue1_1_0">No </TD> </TR><TR> <TD COLSPAN=1> <BR> </TD> </TR><TR> <TD COLSPAN=1> <BR> </TD> </TR><TR> <TD COLSPAN=1> <BR> </TD> </TR><TR> <TD COLSPAN=1 ALIGN=CENTER> <INPUT TYPE=BUTTON VALUE=" 확 인 " OnClick="WBIBranch(t

his.form)"> </TD> </TR></FORM> </TABLE> </BODY> </HTML>

Page 30: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

디자인과 Template File (4)

Page 31: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

WeBIS 의 적용 분야 분류 문제

진단 , 자문 , 신용평가 지식 기반 상품 추천 고객 안내 등

Knowledge Management System 지식 입력 및 관리

웹 사이트 개발 및 유지 보수 CASE Tool

Page 32: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

고혈압 진단 활용 사례

Page 33: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

©Copyright Yong Uk Song, Wooju Kim, June S. Hong

요약 하이퍼링크 기반 추론

웹 서버의 부하 문제 해결 하이퍼링크기반 웹 전문가시스템의 구축

방법론 변환 알고리즘 하이퍼링크 기반 추론

WeBIS 를 이용한 추론 사이트의 생성 및 관리 규칙베이스로부터 지식분석도의 자동 생성기능

필요

Page 34: 하이퍼링크 기반 추론을 이용한 웹 전문가시스템

감사합니다 .