1 / 34

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

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

saber
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 하이퍼링크 기반 추론을이용한 웹 전문가시스템 송용욱, 연세대학교 김우주, 전북대학교 홍준석, 인제대학교

  2. 목차 • 웹 기반 전문가시스템 • 하이퍼링크 기반 웹 전문가시스템 구축 단계 • 규칙베이스와 의사결정나무 • 하이퍼링크 기반 추론 • 추론 사이트의 자동 생성 및 관리 • WeBIS • 요약

  3. 웹 기반 전문가시스템 • 다양한 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 • 질문화면마다 추론 재 수행 필요

  4. 웹 기반 전문가시스템의 분류

  5. 빨간색 서시오 신호등 파란색 가시오 하이퍼링크 기반 추론

  6. 하이퍼링크 기반 추론의 장단점 • 장점 • 기존 웹 환경에서 별도의 시스템 없이 구현 가능 • On-line & Off-line • 웹 서버의 부하 최소화 • Multi-processing • Fact base • “취소” 기능의 구현 용이 • 단점 • 규칙의 표현성 • Global Variables – Cookies(Session(ASP))로 해결 가능 • Predicates – JavaScript, VBScript로 해결 가능 • Predicate calculus • 규칙의 관리 • 지식분석도(Expert’s Diagram) • WeBIS

  7. 하이퍼링크 기반 웹 전문가시스템 구축 단계 Step 1) 규칙 베이스를 마련한다. Step 2) 규칙 베이스를 의사결정나무로 변환한다. • 변환 알고리즘 Step 3) 의사결정나무로부터 하이퍼링크된 HTML 파일들을 만든다. • 하이퍼링크 기반 추론 • HTML 파일 생성 및 유지보수 시스템(WeBIS) Step 4) HTML 파일들을 웹 서버에 올린다.

  8. (BWD-RULE 규칙1 IF (IS "동물이 털이 있다." TRUE) THEN (IS 포유류이다. TRUE)) (BWD-RULE 규칙2 IF (IS "동물이 젖이 있다." TRUE) THEN (IS 포유류이다. TRUE)) (BWD-RULE 규칙3 IF (IS "동물이 깃털이 있다." TRUE) THEN (IS 새이다. TRUE)) (BWD-RULE 규칙4 IF (IS "동물이 난다." TRUE) (IS "동물이 알을 낳는다." TRUE) THEN (IS 새이다. TRUE)) (BWD-RULE 규칙5 IF (IS 포유류이다. TRUE) (IS "고기를 먹는다." TRUE) THEN (IS 육식동물이다. TRUE)) (BWD-RULE 규칙6 IF (IS 포유류이다. TRUE) (IS "송곳니가 있다." TRUE) (IS "날카로운 발톱이 있다." TRUE) (IS "눈이 전방을 향해 있다." TRUE) THEN (IS 육식동물이다. TRUE)) (BWD-RULE 규칙7 IF (IS 포유류이다. TRUE) (IS "발굽이 있다." TRUE) (IS "되삭임질을 한다." TRUE) THEN (IS 초식동물이다. TRUE)) (BWD-RULE 규칙8 IF (IS 육식동물이다. TRUE) (IS 황갈색이다. TRUE) (IS "검은 점이 있다." TRUE) THEN (IS 치타이다. TRUE)) 규칙베이스 : 동물원 예제

  9. 의사결정나무로의 변환 (1) • Assumption • Propositional logic • P  Q  R  S • Procedure Step 2.1) Eliminate chaining variables • Q  R  C, P  C  S  P  (Q  R)  S Step 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  S Step 2.4) Convert to decision tree • See next pages.

  10. * 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 term Pi : 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 form ci : a conclusion T : a tree, a pair (V, E), where V is a finite set and E is a binary relation on V V : 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 i E : 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 set Hs : 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, Fst) 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

  11. function ConvertRulebase2Tree(R) returns T inputs: R = { ri, i = 1, …, n}, a rule base variables: T = (V, E), a binary tree NonconnectedEdges = { ej }, a set of edges ej = (v1, v2, b, F), an edge T.V  T.E  NonconnectedEdges  for each riin R do NonconnectedEdges  ConvertRule2Tree(NonconnectedEdges, ri, T) end for for each ejin NonconnectedEdges do make a conclusion c = “No conclusion” make a vertex v = (c) T.V  T.V  { v } ej.v2 v end for return T

  12. function ConvertRule2Tree(NonconnectedEdges, r, T) returns Edges inputs: 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 built variables: Edges = { es }, a set of edges es = (vs1, vs2, bs, Fs), an edge CurrentEdge = (v1, v2, b, F), an edge Edges  if NonconnectedEdges = then CurrentEdge  NULL for each pjin r.P do make a vertex v = (pj) T.V  T.V  { v } make a fact falseFact = (pj, false) make a fact trueFact = (pj, true) if CurrentEdge = NULL then make an edge falseEdge = (v, NULL, false, { falseFact }) make an edge trueEdge = (v, NULL, true, { trueFact }) else CurrentEdge.v2 v make an edge falseEdge = (v, NULL, false, CurrentEdge.F  { falseFact }) make an edge trueEdge = (v, NULL, true, CurrentEdge.F  { trueFact }) end if T.E  T.E  { trueEdge, falseEdge } Edges  Edges  { flaseEdge } CurrentEdge  trueEdge end for make a vertex v = (r.c) T.V  T.V  { v } CurrentEdge.v2 v

  13. else for each esin NonconnectedEdges do if Match(r.P, es.F) = false then Edges  Edges  { es } else CurrentEdge = es for each pjin r.P do if Exist(pj, CurrentEdge.F) = false then make a vertex v = (pj) T.V  T.V  { v } make a fact falseFact = (pj, false) make a fact trueFact = (pj, true) CurrentEdge.v2 v make 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  trueEdge end if end for make a vertex v = (r.c) T.V  T.V  { v } CurrentEdge.v2 v end if end for end if return Edges

  14. function Match(P, F) returns Boolean inputs: P = { pj }, a set of propositions F = { ft = (nt, bt) }, a fact base for each pjin P do for each ftin F do if pj = ft.ntand ft.bt = false then return false end if end for end for return true function Exist(p, F) returns Boolean inputs: p, a proposition F = { ft = (nt, bt) }, a fact base for each ftin F do if p = ft.ntthen return true end if end for return false

  15. 의사결정나무로의 변환 (2) R1: a  b  c  x R2: b  d  y x T y c T T F d b T F F ? ? y T a d T F F ? b F ?

  16. 의사결정나무로의 변환 (3) S • Extension • NOT의 처리 • P  S • Multiple branches • IF (M = a) THEN S • M : a, b, c • Numerical expressions • IF (a + b) > 3 AND p = TRUE THEN s • IF p = FALSE AND (a + c) < 5 THEN t • Global Variables F P T ? S a M b ? c ? s T t p T T F c a,b F ? F ?

  17. 하이퍼링크 기반 추론 • 변수의 종류 • 진위형(Fact Type) • Hyperlink • 선택형(OAV Type) • Hyperlink • 수치형(Numeric Type) • JavaScript / VBScript

  18. 수치형 변수의 구현 IF total_income >= 0.2 * threshold THEN pay_tax

  19. <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>

  20. WeBIS* • 웹 기반 추론 사이트 생성 및 관리를 위한 도구 • 지식의 표현 • 지식분석도(Expert’s Diagram) • Lee, J. K., I. K. Lee, and H. R. Choi, "Automatic rule generation 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/

  21. Automatic Generation WeBIS HTML Files Manual Input by Knowledge Engineer Web site Analysis Automatic conversion Internet Rule base Knowledge Acquisition Web Browsers Web Servers Knowledge Source Architecture of WeBIS

  22. WeBIS의 기능 • 지식분석도 입력 및 수정 • 디자인 지원 – Theme 및 Template 편집 • 추론 사이트 생성 • HTML(Client-side script) • ASP(Server-side script) • WML • Level of Abstraction • Grouping nodes • 웹 사이트 분석 • Database 연결 • Session 처리

  23. 지식분석도 입력 및 수정

  24. 생성된 HTML 파일

  25. 추론 진행 화면

  26. Level of Abstraction

  27. 디자인과 Template File (1)

  28. 디자인과 Template File (2) <HTML> <HEAD> <TITLE> <!--WGITITLE--> </TITLE> <!--WGBRANCH--> </HEAD> <BODY> <TABLE ALIGN=CENTER> <!--WGINPUTFORM " 확 인 " 3--> </TABLE> <!--WGOBJECT photo--> </BODY> </HTML>

  29. 디자인과 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(this.form)"> </TD> </TR> </FORM> </TABLE> </BODY> </HTML>

  30. 디자인과 Template File (4)

  31. WeBIS의 적용 분야 • 분류 문제 • 진단, 자문, 신용평가 • 지식 기반 상품 추천 • 고객 안내 등 • Knowledge Management System • 지식 입력 및 관리 • 웹 사이트 개발 및 유지 보수 • CASE Tool

  32. 고혈압 진단 활용 사례

  33. 요약 • 하이퍼링크 기반 추론 • 웹 서버의 부하 문제 해결 • 하이퍼링크기반 웹 전문가시스템의 구축 방법론 • 변환 알고리즘 • 하이퍼링크 기반 추론 • WeBIS를 이용한 추론 사이트의 생성 및 관리 • 규칙베이스로부터 지식분석도의 자동 생성기능 필요

  34. 감사합니다.

More Related