15.01.2013 Views

Ontology-based Case-Based Reasoning (OntCBR) for Engineering ...

Ontology-based Case-Based Reasoning (OntCBR) for Engineering ...

Ontology-based Case-Based Reasoning (OntCBR) for Engineering ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Ontology</strong>-<strong>based</strong><br />

<strong>Ontology</strong> <strong>based</strong><br />

<strong>Case</strong>-<strong>Based</strong> <strong>Case</strong> <strong>Based</strong> <strong>Reasoning</strong> (<strong>OntCBR</strong>)<br />

<strong>for</strong> <strong>Engineering</strong> Design<br />

Hyowon Suh & Jae Hyun Lee<br />

KAIST<br />

April 25. 2008<br />

JSME Society of Design Research<br />

Hyowon Suh & Jae Hyun Lee<br />

Guest Researhers<br />

Design Research Group<br />

Manufacturing <strong>Engineering</strong> Lab (MEL)<br />

NIST, USA


<strong>Ontology</strong>-Related <strong>Ontology</strong> Related Research<br />

2


Contents<br />

■ <strong>Ontology</strong>-<strong>based</strong> Mapping between CAD and PDM [2006]<br />

Semantic Mapping <strong>Based</strong> On <strong>Ontology</strong> and A Bayesian Network and Its Application to CAD and PDM Integration, Min-jung Lee, Min Jung<br />

and Hyo-won Suh, ASME International Design <strong>Engineering</strong> Technical Conferences (DETC) & Computers and In<strong>for</strong>mation in <strong>Engineering</strong><br />

Conference (CIE), September 10-13, 2006, Philadelphia, Pennsylvania, USA.<br />

■ <strong>Ontology</strong>-<strong>based</strong> Search <strong>for</strong> Collaboration [2007]<br />

Min Jung, Jahyun Lee, Juhoon Nam and Hyowon Suh, "<strong>Ontology</strong> Mapping-<strong>based</strong> Search with Multi-dimensional Similarity and Bayesian<br />

Network", Design <strong>Engineering</strong> Workshop/7th IJCC Japan-Korea CAD/CAM Workshop, July 26-27, 2007, RCAST, The University of Tokyo,<br />

Komaba, Meguro, Japan, p39-44.<br />

■ <strong>Ontology</strong>-<strong>based</strong> Multi-layered Knowledge Framework [2006]<br />

Jae-Hyun Lee and Hyo-Won Suh, 2006, submitted "<strong>Ontology</strong>-<strong>based</strong> Multi-layered Knowledge Framework <strong>for</strong> Product Lifecycle<br />

Management", Concurrent <strong>Engineering</strong>-Research and Application (to be appear)<br />

■ <strong>Ontology</strong>-<strong>based</strong> Multi-layered Knowledge Framework<br />

<strong>for</strong> Robot Context [2007]<br />

Il Hong Suh, Gi Hyun Lim, Wonil Hwang, Hyowon Suh,, Jung-Hwa Choi, Young-Tack Park, "<strong>Ontology</strong>-<strong>based</strong> Multi-layered Robot<br />

Knowledge Framework (OMRKF) <strong>for</strong> Robot Intelligence", 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct<br />

29 - Nov 2, 2007, Sheraton Hotel, San Diego, CA, USA<br />

■ OWL–<strong>based</strong> Product <strong>Ontology</strong> (POWL) [2007]<br />

ASME ROBERT E. FULTON EIM BEST PAPER AWARD<br />

Jae-Hyun Lee and Hyowon Suh, “OWL-<strong>based</strong> Product <strong>Ontology</strong> (POWL) Architecture and Representation <strong>for</strong> Sharing Product Knowledge<br />

Sharing on A Web”, Proceedings of IDETC / CIE 2007 (ASME 2007 International Design <strong>Engineering</strong> Technical Conferences Computers<br />

and In<strong>for</strong>mation in <strong>Engineering</strong> Conference), Las Vegas, Nevada, USA, September 4-7, 2007.<br />

■ <strong>Ontology</strong>-<strong>based</strong> <strong>Case</strong>-<strong>Based</strong> <strong>Reasoning</strong> [2008]<br />

3


Contents<br />

� <strong>Ontology</strong><br />

� <strong>Case</strong>-<strong>Based</strong> <strong>Reasoning</strong><br />

� <strong>Ontology</strong>-<strong>based</strong> CBR<br />

� Previous Approach<br />

� Proposed Approach<br />

� Major Issues<br />

� <strong>Ontology</strong> Construction<br />

� <strong>Ontology</strong> <strong>Reasoning</strong><br />

� Network Construction<br />

� Similarity Evaluation<br />

� <strong>Case</strong> Search with Networks<br />

� Update <strong>Ontology</strong> and <strong>Case</strong>-base<br />

� <strong>Case</strong> Study<br />

� Discussion<br />

4


<strong>Ontology</strong> - Definition<br />

a <strong>for</strong>mal and explicit specification of a shared<br />

conceptualization of a domain of interest.<br />

From T.R. Gruber<br />

T. R. Gruber, “What is an ontology?,” http://www-ksl.stan<strong>for</strong>d.edu/kst/what-is-an-ontology.html, Stan<strong>for</strong>d University, 1993.


<strong>Ontology</strong> – Term’s definition<br />

Term<br />

Sharing<br />

In<strong>for</strong>mally<br />

Semantic<br />

Sharing<br />

Formally<br />

Machine<br />

Understandable<br />

Sharing<br />

“Employee”<br />

“Employee” a person who works at organization<br />

“An employee is a person who is paid to work <strong>for</strong><br />

an organization or <strong>for</strong> another person [Naver] “<br />

DL: Employee ≡ person П ∃workAt.Organization<br />

FOL: ∀x Employee (x) �<br />

person(x) ∧ ∃y workAt(x,y) ∧ organization(y)<br />

DL: description logic, FOL: first-order logic<br />

DL: F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi and P.F. Pater-Schneider, “The Description<br />

Logic Handbook: Theory, Implementation, and Applications”, Cambridge University Press, 2003.<br />

FOL: Russell and P. Norvig, “Artificial Intelligence”, Prentice Hall, 1995.<br />

An employee contributes labour and expertise to an endeavour. Employees per<strong>for</strong>m the discrete activity of economic production. Of the three factors of production,<br />

employees usually provide the labour.<br />

Specifically, an employee is any person hired by an employer to do a specific "job". In most modern economies the term employee refers to a specific defined<br />

relationship between an individual and a corporation, which differs from those of customer, or client. [Wikipedia]


<strong>Ontology</strong> – Mapping/Similarity<br />

Matching<br />

Thesaurus<br />

Dictionary<br />

“Employee” “Worker”<br />

“Employee” : worker,<br />

labourer, workman, staff<br />

member, member of staff,<br />

hand, wage-earner, whitecollar<br />

worker.<br />

“Employee” a person<br />

who is paid to work <strong>for</strong><br />

an organization or<br />

another person<br />

“Worker” : employee,<br />

hand, labourer, workman,<br />

craftsman, artisan,<br />

tradesman<br />

“Worker” a person who<br />

is employed in industry or<br />

business and who is not<br />

a manager.<br />

Logic Employee ≡ person П<br />

Worker ≡ person П<br />

∃workAt.Organization<br />

∃employedIn.Business<br />

http://eedic.naver.com/


<strong>Ontology</strong> - Taxonomy<br />

Employer<br />

Manager<br />

Person<br />

Engineer<br />

Employee<br />

Staffs<br />

Person<br />

Employee ≡ person П ∃workAt.Organization<br />

⊂ person<br />

Manager ≡ Employee П ∃manage.Engineer<br />

⊂ employee<br />

⊂ person<br />

DL: F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi and P.F. Pater-Schneider, “The Description<br />

Logic Handbook: Theory, Implementation, and Applications”, Cambridge University Press, 2003.


Taxonomy<br />

Kim, Park<br />

Lee, Suh<br />

Employer<br />

Manager<br />

Person<br />

Engineer<br />

Employee<br />

Staffs<br />

Park, Lee<br />

Person (Park)<br />

Person (Lee)<br />

Organization(Samsung)<br />

workAt (Park, Samsung)<br />

workAt (Lee, Samsung)<br />

Employee ≡ person П<br />

∃workAt.Organization<br />

Employee (Park)<br />

Employee (Lee)<br />

DL: F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi and P.F. Pater-Schneider, “The Description<br />

Logic Handbook: Theory, Implementation, and Applications”, Cambridge University Press, 2003.


Taxonomy<br />

Kim, Park<br />

Lee, Suh<br />

Park<br />

Employer<br />

Manager<br />

Person<br />

Engineer<br />

Lee<br />

Employee<br />

Staffs<br />

Park, Lee<br />

Person (Park)<br />

Person (Lee)<br />

Organization(Samsung)<br />

workAt (Park, Samsung)<br />

workAt (Lee, Samsung)<br />

Employee ≡ person П<br />

∃workAt.Organization<br />

Employee (Park)<br />

Employee (Lee)<br />

manage (Park, Lee)<br />

hasJob(Lee, Design)<br />

<strong>Engineering</strong>(Design)<br />

DL: F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi and P.F. Pater-Schneider, “The Description<br />

Logic Handbook: Theory, Implementation, and Applications”, Cambridge University Press, 2003.<br />

Engineer ≡ employee П∃hasJob.<strong>Engineering</strong><br />

Engineer (Lee)<br />

Manager ≡ Employee П∃manage.Engineer Manager (Park)


Contents<br />

� <strong>Ontology</strong><br />

� <strong>Case</strong>-<strong>Based</strong> <strong>Reasoning</strong><br />

� <strong>Ontology</strong>-<strong>based</strong> CBR<br />

� Previous Approach<br />

� Proposed Approach<br />

� Major Issues<br />

� <strong>Ontology</strong> Construction<br />

� <strong>Ontology</strong> <strong>Reasoning</strong><br />

� Network Construction<br />

� Similarity Evaluation<br />

� <strong>Case</strong> Search with Networks<br />

� Update <strong>Ontology</strong> and <strong>Case</strong>-base<br />

� <strong>Case</strong> Study<br />

� Discussion<br />

11


1. Introduction<br />

<strong>Case</strong>-<strong>Based</strong> <strong>Reasoning</strong><br />

New<br />

Problem<br />

Simple model of case-<strong>based</strong> reasoning<br />

New Problem<br />

Recall<br />

12<br />

<strong>Case</strong><br />

Base<br />

Adapt New solution<br />

Maher, M.L., Balachandran, M.B. and Zhang, D.M., “<strong>Case</strong>-<strong>based</strong> reasoning in design”,<br />

Lawrence erlbaum associates, 1995.<br />

<strong>Case</strong>-base<br />

<strong>Case</strong>s<br />

Solutions<br />

Previous<br />

case 1<br />

Previous<br />

case 2<br />

Previous<br />

case 3<br />

Previous<br />

case 4


1. Introduction<br />

<strong>Case</strong>-<strong>Based</strong> <strong>Reasoning</strong><br />

New Problem<br />

Problem<br />

Description<br />

New Solution<br />

Search<br />

Search<br />

Network<br />

Adaptation<br />

<strong>Case</strong>-Base <strong>Case</strong>-Base<br />

( Network )<br />

과거 과거<br />

고객 고객 과거<br />

요구사항/ 요구사항/<br />

<strong>Case</strong><br />

엔지니어링 엔지니어링 고객 Descriptions 요구사항/<br />

요구사항 요구사항<br />

엔지니어링 (Past) 요구사항<br />

Most Similar case<br />

Most similar<br />

(past)<br />

New case<br />

New <strong>Case</strong><br />

Description<br />

과거<br />

제품 과거<br />

과거<br />

설계 도면 및<br />

<strong>Case</strong> 제품<br />

제품 설계 도면 및<br />

설계 설계 설계 Solutions<br />

특성값 특성값 도면 및<br />

설계 (Past) 특성값<br />

Most similar<br />

(past)<br />

New Solution<br />

Re-Build<br />

Re-Organize<br />

Network


1. Introduction<br />

<strong>Ontology</strong>-<strong>based</strong> CBR<br />

New Problem<br />

Problem<br />

Description<br />

<strong>Ontology</strong><br />

New Solution<br />

<strong>Ontology</strong><br />

Search<br />

CSN & RDN<br />

Adaptation<br />

<strong>Ontology</strong>-base<br />

<strong>Case</strong>-Base Network<br />

(CSN & RDN)<br />

<strong>Case</strong> <strong>Case</strong> Descriptions <strong>Case</strong> <strong>Case</strong> Solutions<br />

<strong>Case</strong> <strong>Case</strong> Descriptions Descriptions <strong>Case</strong> <strong>Case</strong> Solutions Solutions<br />

<strong>Ontology</strong><br />

<strong>Ontology</strong> <strong>Ontology</strong><br />

Most Similar case<br />

Most similar Most similar<br />

New case<br />

New <strong>Case</strong><br />

Description<br />

<strong>Ontology</strong><br />

New Solution<br />

Re-Organize<br />

Re-Build<br />

CSN & RDN<br />

<strong>Ontology</strong>-base


2. Previous Research<br />

Prev. Research<br />

Archie-II (1997)<br />

JULIA (1991)<br />

DDIS (1991)<br />

CADRE (1992)<br />

KRITIK (1989)<br />

CADET (1989)<br />

Roseman and et al. (1991)<br />

CYRUS (1984)<br />

Memoire (2006)<br />

Wriggers and et al. (2007)<br />

Wang and et al. (2003)<br />

Problem description<br />

<strong>Case</strong> Rep.<br />

Text<br />

Attr-value<br />

Attr-value<br />

Graph<br />

Text<br />

Graph<br />

Object-oriented<br />

Attr-value<br />

<strong>Ontology</strong> (OWL)<br />

<strong>Ontology</strong> (OWL)<br />

<strong>Ontology</strong><br />

<strong>OntCBR</strong> (Proposed) <strong>Ontology</strong> (DL & HL)<br />

<strong>Case</strong>s<br />

Re-Organizing<br />

List of shared attr.<br />

Hierarchy str.<br />

Hierarchy Str.<br />

15<br />

-<br />

List of shared attr.<br />

List of shared attr.<br />

-<br />

RDN<br />

-<br />

Concept vector list<br />

-<br />

CSN* & RDN<br />

DL: Description Logic<br />

HL: Horn Logic<br />

Similarity<br />

Calculation<br />

Attr-val Sim.<br />

Attr-val Sim.<br />

Attr-val Sim.<br />

Attr-val Sim.<br />

Attr-val Sim.<br />

Graph Sim<br />

-<br />

Attr-val Sim.<br />

-<br />

Graph Sim<br />

Graph Sim<br />

<strong>Ontology</strong>-<strong>based</strong><br />

Graph Sim.<br />

<strong>Reasoning</strong><br />

Method<br />

-<br />

Constraint satisfaction<br />

Rule-<strong>based</strong> reasoning<br />

Constraint satisfaction,<br />

Rule-<strong>based</strong> reasoning<br />

Qualitative reasoning<br />

Qualitative reasoning<br />

instantiation<br />

-<br />

Axiom reasoning<br />

-<br />

-<br />

Taxonomy reasoning<br />

Axiom reasoning<br />

CSN: Concept-Structure Network<br />

RDN: Redundant Discrimination Network


2. Previous Research<br />

CBR<br />

<strong>Case</strong> Representation<br />

Text<br />

Attribute-value list<br />

Object-oriented<br />

Graph<br />

Graph + <strong>Ontology</strong><br />

<strong>Case</strong>-base organization method<br />

For attribute-value list reprsentation For graph representation<br />

Flat structure<br />

Concept vector list structure<br />

List structure of shared attribute<br />

Concept structure network (CSN)<br />

Hierarchy structure of shared attributes<br />

Redundant discrimination network (RDN)<br />

<strong>Case</strong> similarity evaluation method<br />

For attribute-value list representation For graph representation<br />

attribute and value term's similarity concept vector similarity<br />

graph similarity<br />

ontology-<strong>based</strong> graph similarity<br />

16


3. Proposed Approach<br />

Problem Description + <strong>Ontology</strong><br />

Problem<br />

Description<br />

AirPurifier<br />

subpart<br />

has_req<br />

Cleaning_Air<br />

subpart<br />

FanAssy<br />

subpart<br />

subreq<br />

subreq<br />

has_char<br />

has_char<br />

Air_Env<br />

has_req<br />

Make_Wind<br />

has_char<br />

has_d_val<br />

CarType SUV<br />

install<br />

Country<br />

Flow_rate<br />

Noise<br />

has_d_val<br />

has_n_val<br />

has_n_val<br />

has_n_val<br />

xxx<br />

Motor<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

has_char<br />

has_char<br />

xxx<br />

xxx<br />

xxx<br />

Problem<br />

Description with<br />

<strong>Ontology</strong><br />

AirPurifier<br />

subpart<br />

subpart<br />

FanAssy<br />

subpart<br />

has_char<br />

has_char<br />

install<br />

has_req<br />

has_char<br />

subreq Air_Env Country<br />

Cleaning_Air<br />

has_req<br />

subreq<br />

has_char<br />

Make_Wind<br />

Flow_rate<br />

has_char Noise<br />

<strong>Ontology</strong>: Terms Definitions<br />

has_d_val<br />

CarType SUV<br />

has_d_val<br />

has_n_val<br />

has_n_val<br />

has_n_val<br />

Axioms<br />

[DL] has-subpart +<br />

[HL] x,y,z has_subpart(x,y) ∧ has_subpart(y,z) → has_subpart(x,z)<br />

…<br />

Definitions<br />

[DL] install ≡ location ⊓ ∃ is_char_of.airpurifier<br />

⊓ ∃ has_d_value.(inside_car ⊔ trunk)<br />

[DL] SUV ≡ CarTypeValue<br />

⊓ ∃ hasCarPurpose.NormalRoad<br />

⊓ ∃ hasCarPurpose.RoughRoad<br />

⊓ ∃ hasDisplacement.MoreThan2000LessThan3000<br />

⊓ ∃ hasCarPurpose.Leisure.<br />

xxx<br />

Motor<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

xxx<br />

xxx<br />

xxx


3. Proposed Approach<br />

Logic representation<br />

Horn logic [HL]<br />

a disjunction of literals with at most 1 positive.<br />

(p∧q∧…∧r → u) ≡ (¬p∨¬q∨...∨¬r ∨ u)<br />

All logical variables are universally quantified at the outer level.<br />

An inference algorithm that derives only entailed sentences (not<br />

entailed) is called sound (not)or truth-preserving.<br />

An inference algorithm that can derive any sentence (not all) that is<br />

entailed is complete (not).


3. Proposed Approach<br />

Logic representation<br />

Description logic [DL]<br />

-. manipulate complex predicates<br />

-. concept & Individual representation<br />

-. taxonomy reasoning.<br />

…<br />

TBox<br />

Man ≡ Person П ¬Woman<br />

Father ≡ Man П ∃hasChild.Person<br />

…<br />

ABox<br />

Father(PETER)<br />

hasChild(PETER; HARRY)


3. Proposed Approach<br />

<strong>Ontology</strong>: Term’s definition<br />

Problem<br />

Description<br />

<strong>Case</strong> Descriptions<br />

<strong>Ontology</strong> <strong>Ontology</strong><br />

Problem description <strong>Case</strong> #2 description<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

subpart<br />

has_d_val<br />

CarType SUV<br />

has_d_val<br />

install xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

install ≡ location ⊓ ∃ is_char_of.airpurifier<br />

⊓ ∃ has_d_value.(inside_car ⊔ trunk)<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

subpart<br />

has_d_val<br />

CarType SUV<br />

has_d_val<br />

place_in_built xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

place_in_built ≡ location ⊓ ∃ is_char_of.airpurifier<br />

⊓ ∃ has_d_value.(inside_car ⊔ trunk)


3. Proposed Approach<br />

<strong>Ontology</strong>: Term’s definition<br />

Problem<br />

Description<br />

<strong>Case</strong> Descriptions<br />

<strong>Ontology</strong> <strong>Ontology</strong><br />

Problem description <strong>Case</strong> #1 description<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

subpart<br />

has_d_val<br />

CarType SUV<br />

has_d_val<br />

install xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

CarTypeValue<br />

CarTypeByDispValue<br />

Premium<br />

Standard<br />

Economy<br />

SUV<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

subpart<br />

has_d_val<br />

CarType standard<br />

has_d_val<br />

install xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

Standard ≡ CarTypeByDispValue<br />

∧∃hasDisplacement.MoreThan2000LessThan3000<br />

SUV ≡ CarTypeValue<br />

⊓ ∃ hasCarPurpose.NormalRoad<br />

⊓ ∃ hasCarPurpose.RoughRoad<br />

⊓ ∃ hasDisplacement.MoreThan2000LessThan3000<br />

⊓ ∃ hasCarPurpose.Leisure.


3. Proposed Approach<br />

<strong>Ontology</strong>: Term’s definition<br />

Problem<br />

Description<br />

CarType by<br />

displacement<br />

<strong>Case</strong> Descriptions<br />

<strong>Ontology</strong> <strong>Ontology</strong><br />

Problem description <strong>Case</strong> #1 description<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

SUV<br />

subpart<br />

CarType<br />

CarType by<br />

purpose<br />

has_d_val<br />

CarType SUV<br />

has_d_val<br />

install xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

SUV<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

subpart<br />

has_d_val<br />

CarTypebyPurp SUV<br />

has_d_val<br />

install xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

CarType ≡ attr_concept ⊓ ∀ has_d_value.CarTypeValues<br />

⊓ ∃ has_d_value.CarTypeValues<br />

CarType_by_displacement ≡ CarType<br />

⊓ ∀ has_d_value.CarTypeByDispValues<br />

⊓ ∃ has_d_value.CarTypeByDispValues<br />

CarType_by_purpose ≡ CarType<br />

⊓ ∀ has_d_value.CarTypeByPurpValues<br />

⊓ ∃ has_d_value.CarTypeByPurpValues<br />


3. Proposed Approach<br />

<strong>Ontology</strong>: Term’s definition<br />

Problem<br />

Description<br />

<strong>Case</strong> Descriptions<br />

<strong>Ontology</strong> <strong>Ontology</strong><br />

Problem description <strong>Case</strong> #1 description<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

subpart<br />

Fan<br />

SiroccoFan CrossflowFan<br />

AxialFan<br />

has_d_val<br />

CarType SUV<br />

has_d_val<br />

install xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Fan out_diameter xxx<br />

AirPurifier<br />

has_char<br />

has_char<br />

subpart<br />

subpart<br />

FanAssy Motor<br />

has_char<br />

subpart<br />

has_d_val<br />

CarType SUV<br />

has_d_val<br />

install xxx<br />

has_n_val<br />

torque xxx<br />

has_char<br />

has_n_val<br />

Sirocco_fan out_diameter xxx<br />

fan ⊑ part ⊓ ∃ has_superpart.AirPurifier<br />

sirocco_fan ≡ fan ⊓ ∃ has_req.(make_wind<br />

⊓ ∃ has_char.(flow_rate ⊓ ∃ has_q_val.{fast})<br />

⊓ ∃ has_char.(noise ⊓ ∃ has_q_val.{mid})).<br />

crossflow_fan ≡ fan ⊓ ∃ has_req.(make_wind<br />

⊓ ∃ has_char.(flow_rate ⊓ ∃ has_q_val.{normal})<br />

⊓ ∃ has_char.(noise ⊓ ∃ has_q_val.{low})).<br />


3. Proposed Approach<br />

<strong>Ontology</strong>: Property’s axiom<br />

has-subpart<br />

Problem<br />

Description<br />

has-subpart<br />

Airpurifier<br />

Fan<br />

Assy<br />

has-subpart<br />

Fan Motor<br />

has-subpart<br />

24<br />

<strong>Case</strong> Descriptions<br />

<strong>Ontology</strong> <strong>Ontology</strong><br />

has-subpart + : transitive property<br />

Airpurifier<br />

has-subpart has-subpart<br />

Fan Motor<br />

∀x,y,z has_subpart(x, y) ∧ has_subpart(y, z) → has_subpart(x, z)


3. Proposed Approach<br />

<strong>Ontology</strong>: <strong>Ontology</strong>-<strong>based</strong> Network<br />

Previous : Single RDN <strong>for</strong> All <strong>Case</strong>s<br />

Propose : Grouping RDN with <strong>Ontology</strong> (CSN)<br />

Concept Structure Network (CSN)<br />

: Common Concept & Relation<br />

Redundant Discrimination Network (RDN)<br />

: Common Attribute & Value<br />

<strong>Case</strong> 11<br />

<strong>Case</strong> 1<br />

<strong>Case</strong> 1<br />

B<br />

B<br />

B<br />

r1<br />

r1<br />

r1<br />

A<br />

A<br />

A<br />

b1 xxx<br />

b1 High<br />

b1 High<br />

b2 xxx<br />

b2 Mid<br />

b2 Mid<br />

b3 <strong>Case</strong> xxx21<br />

b3 <strong>Case</strong> Val A11<br />

b3 <strong>Case</strong> Val A11<br />

a1 xxx B<br />

a1 Long B<br />

a1 Long B<br />

a2 xxx<br />

a2 Very High<br />

a2 Very High<br />

r2 r1<br />

r2 r1<br />

r2 r1<br />

E<br />

A<br />

E<br />

A<br />

E e1 A<br />

b1 xxx<br />

b1 xxx<br />

b1 xxx<br />

b2 xxx<br />

b2 xxx<br />

b2 xxx<br />

b3 xxx<br />

<strong>Case</strong> b3 31 xxx<br />

b3 xxx<br />

a1 B xxx<br />

a1 xxx<br />

a1 xxx<br />

a2 xxx<br />

a2 xxx<br />

a2 r3 xxx<br />

r2<br />

f1<br />

F<br />

E<br />

b1<br />

b2<br />

b3<br />

e1<br />

e2<br />

xxx<br />

xxx<br />

xxx<br />

xxx<br />

xxx<br />

RDN<br />

a<br />

RDN<br />

CSN<br />

Node#1<br />

B<br />

Node#2 Node#3 Node#4<br />

B<br />

B<br />

B<br />

r1<br />

r2<br />

r3<br />

A<br />

E<br />

F<br />

MO<br />

P1<br />

c = Val. A<br />

r2<br />

E<br />

B<br />

Node#5 Node#6<br />

r1<br />

A<br />

b MOf<br />

P1<br />

c = Val. A<br />

high<br />

MO<br />

P2 • a = high<br />

f = long<br />

mid<br />

<strong>Case</strong> 3<br />

low<br />

<strong>Case</strong> 4<br />

mid<br />

MO<br />

P3<br />

b = mid<br />

a<br />

low<br />

RDN MO<br />

P5<br />

b = low<br />

omitted b<br />

MO<br />

P1 c = Val. f A<br />

high mid low<br />

mid<br />

a<br />

low<br />

b f<br />

b<br />

low<br />

<strong>Case</strong> 5<br />

mid<br />

MO<br />

P4<br />

MO<br />

P2 a = high<br />

f = long<br />

high<br />

b<br />

a = high<br />

low<br />

b = mid<br />

f = long<br />

a<br />

<strong>Case</strong> 3<br />

low<br />

<strong>Case</strong>4<br />

mid<br />

a<br />

MO<br />

<strong>Case</strong> 4 P3<br />

b = mid<br />

high mid<br />

high mid<br />

MO<br />

P2 a = high <strong>Case</strong> a 3<br />

<strong>Case</strong> f 5=<br />

long<strong>Case</strong><br />

3<br />

high low<br />

b<br />

MO omitted<br />

P5<br />

b = low<br />

low<br />

mid low<br />

MO<br />

<strong>Case</strong> 4 aP3<br />

b = mid<br />

high mid<br />

a<br />

MO<br />

P5<br />

b = low<br />

a<br />

omitted<br />

g<br />

<strong>Case</strong> 5<br />

MO<br />

P4<br />

low<br />

a = high<br />

b = mid<br />

mid<br />

<strong>Case</strong>4 <strong>Case</strong> 5 <strong>Case</strong> 3<br />

high low high mid<br />

Very high<br />

<strong>Case</strong> 1<br />

mid<br />

<strong>Case</strong> 2<br />

f = long <strong>Case</strong> 5<br />

g<br />

MO<br />

P4<br />

a = high<br />

b = mid<br />

f = long<br />

<strong>Case</strong>4 <strong>Case</strong> 5 <strong>Case</strong> 3<br />

Very high mid<br />

g<br />

<strong>Case</strong> 1 <strong>Case</strong> 2<br />

Very high mid<br />

<strong>Case</strong> 1 <strong>Case</strong> 2<br />

r3<br />

F<br />

B<br />

r2<br />

E


3. Proposed Approach<br />

<strong>Ontology</strong>: CSN Search<br />

Problem<br />

Description<br />

with <strong>Ontology</strong><br />

has_char<br />

CarType<br />

has_d_val<br />

SUV<br />

AirPurifier<br />

has_char<br />

install<br />

has_d_val<br />

xxx<br />

subpart<br />

subpart<br />

has_char<br />

torque<br />

has_n_val<br />

xxx<br />

FanAssy<br />

subpart<br />

Motor<br />

Fan<br />

has_char<br />

has_n_val<br />

out_diameter xxx<br />

has_req<br />

Cleaning_Air<br />

subreq<br />

subreq<br />

has_req<br />

Air_Env<br />

has_char<br />

Make_Wind<br />

has_char<br />

has_char<br />

Country<br />

Flow_rate<br />

Noise<br />

<strong>Ontology</strong>: Term’s Definition & Axioms<br />

has_n_val<br />

has_n_val<br />

has_n_val<br />

Term’s Definition<br />

fan ⊑ part ⊓ ∃ has_superpart.AirPurifier<br />

sirocco_fan ≡ fan ⊓ ∃ has_req.(make_wind<br />

⊓ ∃ has_char.(flow_rate ⊓ ∃ has_q_val.{fast})<br />

⊓ ∃ has_char.(noise ⊓ ∃ has_q_val.{mid})).<br />

Axioms<br />

has_superpart = has_subpart −<br />

∀x,y,z has_subpart(x, y) ∧ has_subpart(y, z) → has_subpart(x, z).<br />

…<br />

xxx<br />

xxx<br />

xxx<br />

CSN<br />

B<br />

r1<br />

A<br />

Node#1<br />

E<br />

r2<br />

B<br />

Node#2 Node#3 Node#4<br />

B<br />

r2<br />

E<br />

B<br />

r1<br />

A<br />

F<br />

r3<br />

B<br />

r3<br />

Node#5 Node#6<br />

F<br />

B<br />

r2<br />

E


3. Proposed Approach<br />

<strong>Ontology</strong>: RDN Search<br />

Problem<br />

Description<br />

with <strong>Ontology</strong><br />

has_char<br />

CarType<br />

has_d_val<br />

SUV<br />

AirPurifier<br />

has_char<br />

install<br />

has_d_val<br />

xxx<br />

subpart<br />

subpart<br />

has_char<br />

torque<br />

has_n_val<br />

xxx<br />

FanAssy<br />

subpart<br />

Motor<br />

Fan<br />

has_char<br />

has_n_val<br />

out_diameter xxx<br />

has_req<br />

Cleaning_Air<br />

subreq<br />

subreq<br />

has_req<br />

Air_Env<br />

has_char<br />

Make_Wind<br />

has_char<br />

has_char<br />

Country<br />

Flow_rate<br />

Noise<br />

<strong>Ontology</strong>: Term’s Definition & Axioms<br />

has_n_val<br />

has_n_val<br />

has_n_val<br />

Term’s Definition<br />

CarType ≡ attr_concept ⊓ ∀ has_d_value.CarTypeValues<br />

⊓ ∃ has_d_value.CarTypeValues<br />

CarType_by_displacement ≡ CarType<br />

⊓ ∀ has_d_value.CarTypeByDispValues<br />

⊓ ∃ has_d_value.CarTypeByDispValues<br />

…<br />

Axioms<br />

…<br />

xxx<br />

xxx<br />

xxx<br />

MOP2<br />

flow_rate= fast<br />

place = on_road<br />

mid<br />

<strong>Case</strong> #5<br />

flow_rate<br />

fast very_fast slow<br />

noise<br />

<strong>Case</strong> #3<br />

low<br />

<strong>Case</strong> #4<br />

MOP4<br />

flow_rate= fast<br />

place = on_road<br />

noise = low<br />

CarTypebyDisp<br />

premium<br />

standard<br />

<strong>Case</strong> #1 <strong>Case</strong> #2<br />

MOP1<br />

-<br />

RDN #4<br />

noise …<br />

low mid<br />

MOP3<br />

noise = low<br />

flow_rate<br />

fast slow<br />

<strong>Case</strong>#4<br />

<strong>Case</strong> #5<br />

omitted<br />

MOP5<br />

noise = mid<br />

flow_rate<br />

fast very_fast<br />

<strong>Case</strong> #3<br />

Memory organization packet<br />

(MOP)<br />

Attribute-concept<br />

Values (Qualitative_value_concept,<br />

Defined-value-concept)<br />

<strong>Case</strong>


3. Proposed Approach<br />

� <strong>Ontology</strong> Construction<br />

� Term’s definitions<br />

� Property axioms<br />

� <strong>Reasoning</strong><br />

� Taxonomy <strong>Reasoning</strong><br />

� Axiom/Rule <strong>Reasoning</strong><br />

� Network Construction<br />

� CSN<br />

� RDN<br />

� Similarity Evaluation<br />

� Term’s similarity<br />

� Graph structure similarity<br />

� <strong>Case</strong> Search with Networks<br />

� Search Method (CSN & RDN)<br />

� Update <strong>Ontology</strong> and <strong>Case</strong>-base


3. Proposed Approach<br />

<strong>OntCBR</strong><br />

New Problem<br />

1<br />

Problem<br />

Description<br />

<strong>Ontology</strong><br />

<strong>Ontology</strong><br />

Construction<br />

New Solution<br />

2<br />

Taxonomy<br />

<strong>Reasoning</strong><br />

Axiom/Rue<br />

<strong>Reasoning</strong><br />

3<br />

0<br />

Common<br />

<strong>Ontology</strong><br />

4<br />

5<br />

Adaptation<br />

CSN Search<br />

RDN Search<br />

6<br />

Similarity<br />

Evaluation<br />

<strong>Ontology</strong>-base<br />

<strong>Case</strong>-Base Network<br />

(CSN & RDN)<br />

<strong>Case</strong> <strong>Case</strong> Descriptions<br />

Descriptions<br />

<strong>Case</strong><br />

<strong>Case</strong><br />

<strong>Case</strong> Descriptions<br />

Descriptions<br />

Descriptions<br />

<strong>Ontology</strong> <strong>Ontology</strong><br />

<strong>Ontology</strong><br />

<strong>Ontology</strong><br />

Most Similar case<br />

New case<br />

Similar<br />

Description<br />

New <strong>Case</strong><br />

Description<br />

<strong>Ontology</strong><br />

<strong>Case</strong><br />

Solutions<br />

Similar<br />

Solution<br />

New<br />

Solution<br />

9<br />

1<br />

0<br />

1<br />

Re-Build<br />

<strong>Case</strong> <strong>Ontology</strong><br />

<strong>Case</strong> Taxonomy<br />

<strong>Case</strong> Axioms<br />

Re-Build<br />

CSN 7<br />

RDN<br />

8


4. <strong>Ontology</strong> Construction<br />

4.1. Common <strong>Case</strong> <strong>Ontology</strong> (Multi-Layered <strong>Ontology</strong> [Lee & Suh 2008])<br />

subpart<br />

fan<br />

airpurifier<br />

subpart subpart<br />

fan_assy<br />

subpart subpart<br />

has_char<br />

has_value<br />

obj_concept attr_concept value_concept<br />

subreq<br />

def_val_attr<br />

quality_attr<br />

quantity_attr<br />

has_d_val<br />

has_q_val<br />

has_n_val<br />

def_val_concept<br />

qual_val_concept<br />

has_req<br />

part req_function<br />

scroll<br />

motor<br />

sirocco_fan<br />

axial_fan<br />

crossflow_fan<br />

has_char<br />

has_char<br />

has_req<br />

cleaning_air<br />

subreq subreq<br />

ap_domain_char<br />

make_wind air_env<br />

has_char<br />

has_char<br />

has_char<br />

has_char<br />

req_char<br />

part_char<br />

normal_air_env<br />

polluted_air_env<br />

has_char<br />

CarType<br />

Jae-Hyun Lee and Hyo-Won Suh, 2006 (accepted),<br />

30<br />

"<strong>Ontology</strong>-<strong>based</strong> Multi-layered Knowledge Framework <strong>for</strong> Product Lifecycle Management", Concurrent <strong>Engineering</strong>-Research and Application.<br />

install<br />

out_diameter<br />

torque<br />

country<br />

flow_rate<br />

…<br />

has_d_val<br />

noise<br />

CarTypeVal<br />

has_q_val<br />

…<br />

CarTypeDispVal<br />

premium<br />

standard<br />

economy<br />

CarTypePurpVal<br />

jeep<br />

sedan<br />

SUV<br />

speed_ql<br />

0<br />

Common<br />

<strong>Ontology</strong><br />

…<br />

literal<br />

…<br />

integer<br />

string


4. <strong>Ontology</strong> Construction<br />

4.1. Common <strong>Case</strong> <strong>Ontology</strong><br />

fan<br />

airpurifier<br />

subpart subpart<br />

fan_assy<br />

subpart subpart<br />

scroll<br />

motor<br />

sirocco_fan<br />

axial_fan<br />

crossflow_fan<br />

has_char<br />

has_req<br />

has_char<br />

cleaning_air<br />

subreq subreq<br />

ap_domain_char<br />

make_wind air_env<br />

has_char<br />

has_char<br />

normal_air_env<br />

polluted_air_env<br />

has_char<br />

has_d_val<br />

CarType<br />

Common<br />

<strong>Ontology</strong><br />

Jae-Hyun Lee and Hyo-Won Suh, 2006 (accepted),<br />

31<br />

"<strong>Ontology</strong>-<strong>based</strong> Multi-layered Knowledge Framework <strong>for</strong> Product Lifecycle Management", Concurrent <strong>Engineering</strong>-Research and Application.<br />

install<br />

out_diameter<br />

torque<br />

country<br />

flow_rate<br />

noise<br />

CarTypeVal<br />

has_q_val<br />

has_char CarType<br />

has_d_val<br />

SUV<br />

AirPurifier<br />

has_char<br />

install<br />

has_d_val<br />

Inside_car<br />

subpart<br />

FanAssy<br />

subpart<br />

Motor<br />

has_char<br />

torque<br />

has_n_val<br />

65<br />

subpart<br />

has_char<br />

has_n_val<br />

Fan out_diameter 55<br />

has_req<br />

has_n_val<br />

has_char<br />

Air_Env<br />

Country<br />

China<br />

subreq<br />

has_req<br />

has_q_val<br />

has_char<br />

Cleaning_Air<br />

Flow_rate<br />

fast<br />

subreq Make_Wind<br />

has_n_val<br />

Noise<br />

60<br />

CarTypeDispVal<br />

premium<br />

standard<br />

economy<br />

0<br />

CarTypePurpVal<br />

jeep<br />

sedan<br />

SUV<br />

speed_ql<br />

fast<br />

normal<br />

slow<br />

integer<br />

string


4. <strong>Ontology</strong> Construction<br />

4.1. Common <strong>Case</strong> <strong>Ontology</strong><br />

Term’s Definitions:<br />

-. attr_concept ≡ concept ⊓ ∃ has_char − .object_concept.<br />

-. def_val_attr ≡ attr_concept ⊓ ∃ has_d_val.def_val_concept<br />

⊓ ∀ has_d_val.def_val_concept<br />

-. sirocco_fan ≡ fan ⊓ ∃ has_req.(make_wind<br />

⊓ ∃ has_char.(flow_rate ⊓ ∃ has_q_val.{fast})<br />

⊓ ∃ has_char.(noise ⊓ ∃ has_q_val.{mid})).<br />

-. crossflow_fan ≡ fan ⊓ ∃ has_req.(make_wind<br />

⊓ ∃ has_char.(flow_rate ⊓ ∃ has_q_val.{normal})<br />

⊓ ∃ has_char.(noise ⊓ ∃ has_q_val.{low})).z<br />

Property Axioms<br />

subpart + => ‘subpart’ relation is transitive.<br />

subreq + => ‘subreq’ relation is transitive<br />

∀x,y,z req_function(x) ∧ req_function(y) ∧ subreq(x,y)<br />

∧ part(z) ∧ has_req(z, x) → has_req(z,y).<br />

32<br />

0<br />

Common<br />

<strong>Ontology</strong>


4. <strong>Ontology</strong> Construction<br />

4.1. Common <strong>Case</strong> <strong>Ontology</strong><br />

Rules:<br />

Rule#01<br />

∀x,y,v1,v2 Fan(x) ∧ flow_rate(y) ∧ has_char(x,y)<br />

∧ has_n_value(y, v1) ∧ (120 < v1) ∧ has_q_value(y, v2)<br />

→ (v2 = fast)<br />

(if quantity of flow_rate is more than 120, its qualitative value is very_fast)<br />

Rule#02<br />

∀x,y,v1,v2 Fan(x) ∧ noise(z) ∧ has_char(x,z)<br />

∧ has_n_value(y, v1) ∧ (83 < v1) ∧ has_q_value(y, v2)<br />

→ (v2 = mid)<br />

(if quantity of noise is more than 83, its qualitative value is mid)<br />

33<br />

0<br />

Common<br />

<strong>Ontology</strong>


4. <strong>Ontology</strong> Construction<br />

4.2. Problem ontology construction<br />

has_char CarType<br />

has_d_val<br />

SUV<br />

AirPurifier<br />

has_char<br />

install<br />

has_d_val<br />

Inside_car<br />

subpart<br />

subpart<br />

FanAssy<br />

Motor<br />

has_char<br />

torque<br />

has_n_val<br />

65<br />

subpart<br />

has_char<br />

has_n_val<br />

Fan out_diameter 55<br />

has_req<br />

has_n_val<br />

has_char<br />

Air_Env<br />

Country<br />

China<br />

subreq<br />

has_req<br />

has_q_val<br />

has_char<br />

Cleaning_Air<br />

Flow_rate<br />

fast<br />

subreq Make_Wind<br />

has_n_val<br />

has_char Noise<br />

60<br />

Common <strong>Case</strong> <strong>Ontology</strong> Problem <strong>Ontology</strong><br />

h<br />

h<br />

a<br />

a<br />

obj_concep t attr_c oncept cons tant<br />

s<br />

s<br />

_<br />

_<br />

c<br />

v<br />

s<br />

h<br />

a<br />

s<br />

u<br />

a<br />

l<br />

b<br />

u<br />

r<br />

u<br />

has<br />

def_val_a ttr<br />

def_val_const ant<br />

p<br />

b<br />

e<br />

_d_<br />

a<br />

r<br />

val<br />

h<br />

r<br />

e<br />

a<br />

has<br />

t<br />

part req_func tion q<br />

quality_a ttr<br />

ql_constant<br />

s<br />

_q_<br />

_<br />

val<br />

r<br />

has<br />

e<br />

quanti ty_at tr<br />

_n_<br />

qt_constan t<br />

has_req_ch<br />

q<br />

val<br />

ar<br />

req_char<br />

has_req_c<br />

har<br />

has_des_ch<br />

part_char<br />

ar<br />

… …<br />

…<br />

ap_domain_c har<br />

vehicle_type_ val<br />

speed_ql<br />

integer<br />

h<br />

has<br />

a<br />

_d_<br />

airpurifier<br />

cleaning_air<br />

very_fast<br />

string<br />

s<br />

val<br />

vehicle_type<br />

_<br />

car_displace<br />

r<br />

e<br />

s<br />

s<br />

fas t<br />

s<br />

s<br />

q<br />

u<br />

u<br />

ins tall_loc<br />

u<br />

u<br />

b<br />

b<br />

premiu m<br />

b<br />

b<br />

r<br />

r<br />

p<br />

p<br />

e<br />

e<br />

fan<br />

a<br />

scroll<br />

a<br />

make_wind<br />

q<br />

q<br />

air_env<br />

slow<br />

out_dia meter<br />

r<br />

r<br />

t<br />

t<br />

s tandard<br />

length<br />

normal_air_e nv<br />

car_purpos e<br />

polluted_air_ env<br />

country<br />

sirocco_fan<br />

jeep<br />

flow_ra te<br />

axial_fan<br />

sedan<br />

nois e<br />

crossflow_fan<br />

…<br />

Def#03<br />

SUV ≡ CarTypeValue<br />

⊓ ∃ hasCarPurpose.NormalRoad<br />

⊓ ∃ hasCarPurpose.RoughRoad<br />

⊓ ∃ hasDisplacement.MoreThan2000LessThan3000<br />

⊓ ∃ hasCarPurpose.Leisure.<br />

34<br />

1<br />

<strong>Ontology</strong><br />

Construction


5. <strong>Ontology</strong> <strong>Reasoning</strong><br />

5.1 Taxonomy <strong>Reasoning</strong><br />

Inferred Taxonomy<br />

CarTypeValue<br />

CarTypeByDispValue<br />

Premium<br />

Standard<br />

Economy<br />

CarTypeByPurpValue<br />

Jeep<br />

Sedan<br />

SUV<br />

SUV<br />

Definitions in Common <strong>Case</strong> <strong>Ontology</strong><br />

CarTypeByDispValue ≡ CarTypeValue<br />

⊓ ∃hasDisplacement.DisplacementRange<br />

Premium ≡ CarTypeByDispValue<br />

∧∃hasDisplacement.MoreThan3000LessThan4000<br />

Standard ≡ CarTypeByDispValue<br />

∧∃hasDisplacement.MoreThan2000LessThan3000<br />

Economy ≡ CarTypeByDispValue<br />

∧∃hasDisplacement.LessThan1500<br />

Jeep≡ CarTypeByPurpValue<br />

∧∃hasCarPurpose.DrivingRoughRoad.<br />

…<br />

Newly defined value’s definition<br />

Def#03<br />

SUV ≡ CarTypeValue<br />

∧∃hasCarPurpose.NormalRoad<br />

∧∃hasCarPurpose.RoughRoad<br />

∧∃hasDisplacement.MoreThan2000LessThan3000<br />

∧ ∀hasCarPurpose.Leisure.<br />

Taxonomy Inference Results<br />

(by Def#03)<br />

KB_<strong>for</strong>_new_prob |= SUV ⊑ Standard.<br />

35<br />

2<br />

Taxonomy<br />

<strong>Reasoning</strong>


5. <strong>Ontology</strong> <strong>Reasoning</strong><br />

5.1 Taxonomy <strong>Reasoning</strong> - Tableau Algorithm<br />

2<br />

Taxonomy<br />

<strong>Reasoning</strong>


5. <strong>Ontology</strong> <strong>Reasoning</strong><br />

Tableau Algorithm – Preliminary<br />

� Given : Wife ⊑ Woman, Woman ⊑ Person<br />

Query : Wife ⊑ Person<br />

� <strong>Reasoning</strong> process<br />

� Test if there is an individual that is a Woman but not a Person,<br />

i.e. test the satisfiability of concept<br />

C 0 = (Wife ⊓ ¬ Person)<br />

� C 0 (x) -> Wife(x), (¬ Person) (x)<br />

� Wife(x) -> Woman(x)<br />

� Woman(x) -> Person(x)<br />

� Conflict!<br />

37<br />

Wife<br />

WomanP<br />

Woman<br />

Person<br />

2<br />

Taxonomy<br />

<strong>Reasoning</strong><br />

� C 0 is unsatisfiable, there<strong>for</strong>e Wife ⊑ Person is true with the given ontology.


5. <strong>Ontology</strong> <strong>Reasoning</strong><br />

5.2 Axiom <strong>Reasoning</strong> - concept<br />

has_char<br />

CarType<br />

has_char<br />

AirPurifier install<br />

has_d_val<br />

has_d_val<br />

subpart<br />

subpart<br />

FanAssy<br />

Motor<br />

has_char<br />

has_n_val<br />

torque<br />

has_n_val<br />

has_req<br />

subpart<br />

Fan ??<br />

has_char<br />

out_diameter<br />

has_n_val<br />

has_char<br />

subreq<br />

Air_Env<br />

Country has_n_val<br />

Cleaning_Air<br />

subreq<br />

has_req<br />

Make_Wind<br />

has_char<br />

Flow_rate<br />

has_q_val<br />

has_char Noise has_n_val<br />

has_q_val<br />

SUV<br />

Inside_car<br />

65<br />

80<br />

China<br />

90<br />

??<br />

40<br />

??<br />

3<br />

Axiom<br />

<strong>Reasoning</strong>


5. <strong>Ontology</strong> <strong>Reasoning</strong><br />

5.2 Axiom <strong>Reasoning</strong> - concept<br />

� � �<br />

� �<br />

has_char CarType<br />

has_d_val<br />

SUV<br />

KB_<strong>for</strong>_new_prob<br />

fan(fan_new_prob).<br />

AirPurifier<br />

subpart<br />

subpart<br />

FanAssy<br />

has_char<br />

has_char<br />

Motor<br />

has_d_val<br />

install<br />

has_n_val<br />

torque<br />

has_n_val<br />

Inside_car<br />

65<br />

80<br />

flow_rate(flow_rate_new_prob)<br />

noise(noise_new_prob).<br />

make_wind(make_wind_new_prob)<br />

SUV(suv_1).<br />

subpart<br />

Fan ??<br />

Air_Env<br />

subreq<br />

has_req<br />

Cleaning_Air<br />

subreq Make_Wind<br />

has_char<br />

has_char<br />

has_char<br />

has_char<br />

out_diameter<br />

has_n_val<br />

Country has_n_val<br />

Flow_rate<br />

has_q_val<br />

Noise has_n_val<br />

has_q_val<br />

China<br />

90<br />

??<br />

40<br />

??<br />

has_req(fan_new_prob, make_wind_new_prob).<br />

has_char(fan_new_prob, flow_rate_new_prob).<br />

has_char(fan_new_prob, noise_new_prob).<br />

has_char(fan_new_prob, veh_type_new_prob)<br />

has_n_value(flow_rate_new_prob, 90).<br />

has_n_value(noise_new_prob, 40).<br />

has_d_value(veh_type_new_prob, suv_1)<br />

Concept Definition:<br />

Def#02<br />

…<br />

crossflow_fan ≡ fan ⊓ has_req.(make_wind ⊓ has_char.(flow_rate ⊓ has_q_val.{normal})<br />

⊓ has_char.(noise ⊓ has_q_val.{low})).<br />

has_req<br />

Rule#03 ∀x,y,v1,v2 Fan(x) ∧ flow_rate(y) ∧ has_char(x,y) ∧ has_n_value(y, v1) ∧ (80 < v1 < 120)<br />

→ has_q_value(y, ‘normal’)<br />

Rule#04 ∀x,y,v1,v2 Fan(x) ∧ noise(z) ∧ has_char(x,z) 39∧<br />

has_n_value(y, v1) ∧ (30 < v1 < 80) →<br />

has_q_value(y, ‘low’)<br />

3<br />

Axiom<br />

<strong>Reasoning</strong>


has_req<br />

5. <strong>Ontology</strong> <strong>Reasoning</strong><br />

5.2 Axiom <strong>Reasoning</strong> - concept<br />

3<br />

Axiom<br />

<strong>Reasoning</strong><br />

has_char<br />

has_char<br />

CarType<br />

has_d_val<br />

has_d_val<br />

SUV<br />

Inside_car<br />

KB_<strong>for</strong>_new_prob<br />

fan(fan_new_prob).<br />

flow_rate(flow_rate_new_prob)<br />

noise(noise_new_prob).<br />

subpart<br />

Motor<br />

subpart<br />

crossflow_fan<br />

Air_Env<br />

has_req<br />

subreq Make_Wind<br />

has_char<br />

has_char<br />

has_char<br />

has_char<br />

has_char<br />

has_n_val<br />

torque<br />

has_n_val<br />

out_diameter<br />

has_n_val<br />

Country has_n_val<br />

Flow_rate<br />

has_q_val<br />

Noise has_n_val<br />

has_q_val<br />

65<br />

80<br />

China<br />

90<br />

normal<br />

40<br />

make_wind(make_wind_new_prob)<br />

SUV(suv_1).<br />

has_req(fan_new_prob, make_wind_new_prob).<br />

has_char(fan_new_prob, flow_rate_new_prob).<br />

has_char(fan_new_prob, noise_new_prob).<br />

has_char(fan_new_prob, veh_type_new_prob)<br />

has_n_value(flow_rate_new_prob, 90).<br />

has_n_value(noise_new_prob, 40).<br />

mid has_d_value(veh_type_new_prob, suv_1)<br />

…<br />

Inference Results<br />

(by Rule#03) KB_<strong>for</strong>_new_prob |= has_q_value(flow_rate_new_prob, ‘normal’).<br />

(by Rule#04) KB_<strong>for</strong>_new_prob |= has_q_value(noise_new_prob, ‘low’).<br />

(by Def#02) KB_<strong>for</strong>_fan_v1 |= crossflow_fan(fan_new_prob).<br />

AirPurifier install<br />

subpart<br />

Cleaning_Air<br />

FanAssy<br />

subreq<br />

Def#02<br />

crossflow_fan ≡ fan ⊓ � has_req.(make_wind ⊓ � has_char.(flow_rate ⊓ � has_q_val.{normal})<br />

⊓ � has_char.(noise ⊓ � has_q_val.{low})).


has_req<br />

5. <strong>Ontology</strong> <strong>Reasoning</strong><br />

3) Axiom <strong>Reasoning</strong> - relation<br />

has_char CarType<br />

AirPurifier<br />

has_char<br />

install<br />

subpart has_req<br />

subpart<br />

FanAssy<br />

has_req<br />

Cleaning_Air<br />

subreq<br />

subreq<br />

subpart<br />

Motor<br />

Air_Env<br />

has_req<br />

Make_Wind<br />

has_char<br />

has_char<br />

crossflow_fan<br />

has_char<br />

has_char<br />

has_char<br />

torque<br />

out_diameter<br />

has_n_val<br />

Country has_n_val<br />

Flow_rate<br />

Noise<br />

has_d_val<br />

has_d_val<br />

has_n_val<br />

has_n_val<br />

has_q_val<br />

has_n_val<br />

has_q_val<br />

Property Axioms<br />

∀x,y,z req_function(x) ∧ req_function(y) ∧ subreq(x,y)<br />

∧ part(z) ∧ has_req(z, x) → has_req(z,y).<br />

41<br />

SUV<br />

Inside_car<br />

65<br />

80<br />

China<br />

90<br />

normal<br />

40<br />

mid<br />

3<br />

Axiom<br />

<strong>Reasoning</strong><br />

KB_<strong>for</strong>_new_prob<br />

airpurifier(airpurifier_np).<br />

cleaning_air(cleaning_air_np).<br />

air_env(air_env_np).<br />

make_wind(make_wind_np).<br />

has_req(airpurifier_np, cleaning_air_np).<br />

subreq(cleaning_air_np, air_env_np).<br />

subreq(cleaning_air_np, make_wind_np).<br />

…<br />

Inference Results<br />

(by Rule#05)<br />

KB_<strong>for</strong>_new_prob |=<br />

has_req(airpurifier_np, air_env_np) ∧<br />

has_req(airpurifier_np, make_wind_np)


6. <strong>Ontology</strong>-<strong>based</strong> <strong>Case</strong>-Base Network<br />

CSN and RDN<br />

1) <strong>Case</strong> Structure Network (CSN)<br />

: to cluster cases according to their similar concept structure<br />

it is built by cases’ concept structures and their sub-structure<br />

2) Redundant Discrimination Network (RDN)<br />

: to discriminate cases according to their attribute-values<br />

<strong>Case</strong> 11<br />

<strong>Case</strong> 1<br />

<strong>Case</strong> 1<br />

B<br />

B<br />

B<br />

r1<br />

r1<br />

r1<br />

A<br />

A<br />

A<br />

b1 xxx<br />

b1 High<br />

b1 High<br />

b2 xxx<br />

b2 Mid<br />

b2 Mid<br />

b3 <strong>Case</strong> xxx21<br />

b3 <strong>Case</strong> Val A11<br />

b3 <strong>Case</strong> Val A11<br />

a1 xxx B<br />

a1 Long B<br />

a1 Long B<br />

a2 xxx<br />

a2 Very High<br />

a2 Very High<br />

r2 r1<br />

r2 r1<br />

r2 r1<br />

E<br />

A<br />

E<br />

A<br />

E e1 A<br />

b1 xxx<br />

b1 xxx<br />

b1 xxx<br />

b2 xxx<br />

b2 xxx<br />

b2 xxx<br />

b3 xxx<br />

<strong>Case</strong> b3 31 xxx<br />

b3 xxx<br />

a1 B xxx<br />

a1 xxx<br />

a1 xxx<br />

a2 xxx<br />

a2 xxx<br />

a2 r3 xxx<br />

r2<br />

f1<br />

F<br />

E<br />

b1<br />

b2<br />

b3<br />

e1<br />

e2<br />

xxx<br />

xxx<br />

xxx<br />

xxx<br />

xxx<br />

RDN<br />

a<br />

RDN<br />

CSN<br />

MO<br />

P1<br />

B<br />

r1<br />

A<br />

Node#1<br />

E<br />

r2<br />

B<br />

Node#2 Node#3 Node#4<br />

c = Val. A<br />

B<br />

r2<br />

b MOf<br />

P1<br />

c = Val. A<br />

E<br />

B<br />

r1<br />

A<br />

F<br />

r3<br />

B<br />

r3<br />

Node#5 Node#6<br />

F<br />

B<br />

Re-Build<br />

7 CSN<br />

8 RDN<br />

MO<br />

P2<br />

high<br />

a = high<br />

f = long<br />

mid<br />

<strong>Case</strong> 3<br />

low<br />

<strong>Case</strong> 4<br />

mid<br />

MO<br />

P3<br />

b = mid<br />

a<br />

low<br />

RDN MO<br />

P5<br />

b = low<br />

omitted b<br />

MO<br />

P1 c = Val. f A<br />

high mid low<br />

mid<br />

a<br />

low<br />

b f<br />

b<br />

low<br />

<strong>Case</strong> 5<br />

mid<br />

MO<br />

P4<br />

MO<br />

P2 a = high<br />

f = long<br />

high<br />

b<br />

a = high<br />

low<br />

b = mid<br />

f = long<br />

a<br />

<strong>Case</strong> 3<br />

low<br />

<strong>Case</strong>4<br />

mid<br />

a<br />

MO<br />

<strong>Case</strong> 4 P3<br />

b = mid<br />

high mid<br />

high mid<br />

MO<br />

P2 a = high <strong>Case</strong> a 3<br />

<strong>Case</strong> f 5=<br />

long<strong>Case</strong><br />

3<br />

high low<br />

b<br />

MO omitted<br />

P5<br />

b = low<br />

low<br />

mid low<br />

MO<br />

<strong>Case</strong> 4 aP3<br />

b = mid<br />

high mid<br />

a<br />

MO<br />

P5<br />

b = low<br />

a<br />

omitted<br />

g<br />

<strong>Case</strong> 5<br />

MO<br />

P4<br />

low<br />

a = high<br />

b = mid<br />

mid<br />

<strong>Case</strong>4 <strong>Case</strong> 5 <strong>Case</strong> 3<br />

high low high mid<br />

Very high<br />

<strong>Case</strong> 1<br />

mid<br />

<strong>Case</strong> 2<br />

f = long <strong>Case</strong> 5<br />

g<br />

MO<br />

P4<br />

a = high<br />

b = mid<br />

f = long<br />

<strong>Case</strong>4 <strong>Case</strong> 5 <strong>Case</strong> 3<br />

Very high mid<br />

g<br />

<strong>Case</strong> 1 <strong>Case</strong> 2<br />

Very high mid<br />

<strong>Case</strong> 1 <strong>Case</strong> 2<br />

r2<br />

E


6. <strong>Ontology</strong>-<strong>based</strong> <strong>Case</strong>-Base Network<br />

6.1 CSN Construction<br />

CSN := (Node, Direct arc)<br />

Node := Structure of Object-concepts<br />

Node types := top node, case structure node, case sub-structure node<br />

� Top node := key-object-concept only.<br />

� <strong>Case</strong> structure node := Structure of object-concepts of some cases<br />

� <strong>Case</strong> sub-structure node := Sub-structure of some case structure nodes<br />

Direct arc:= direct_link(Node_A, Node_B), inferred_link(Node_A, Node_B)<br />

Node_A of ‘direct_link’ has sub_graph of Node_B<br />

Node_A of ‘inferred_link’ is sub-graph of Node_B and includes inferred structure<br />

*. <strong>Case</strong> structure node has reference address of RDN which classifies identical structure cases.<br />

*. <strong>Case</strong> sub-structure node is necessary <strong>for</strong> problem structure and partial match.<br />

43<br />

Re-Build<br />

7 CSN<br />

8<br />

RDN


6. <strong>Ontology</strong>-<strong>based</strong> <strong>Case</strong>-Base Network<br />

6.1 CSN Construction<br />

AirPurifier<br />

has_req has_req<br />

Cleaning_Air<br />

subreq<br />

Make_Wind<br />

RDN #1<br />

AirPurifier<br />

has_req<br />

Cleaning_Air<br />

AirPurifier<br />

has_req<br />

Make_Wind<br />

AirPurifier<br />

has_req<br />

Cleaning_Air subreq<br />

subpart<br />

subpart<br />

SiroccoFan<br />

Long_Scroll<br />

Make_Wind<br />

AirPurifier<br />

has_req<br />

Air_Env<br />

subpart<br />

AirPurifier<br />

subpart<br />

has_req has_req<br />

subreq<br />

Cleaning_Air<br />

subreq<br />

RDN #2<br />

AirPurifier<br />

AirPurifier<br />

has_req<br />

Cleaning_Air subreq<br />

subpart<br />

subpart<br />

SiroccoFan<br />

Long_Scroll<br />

Air_Env<br />

Make_Wind<br />

AirPurifier<br />

subpart<br />

Long_Scroll<br />

AirPurifier<br />

AirPurifier<br />

AirPurifier<br />

subpart has_req subpart<br />

has_req<br />

subpart subpart<br />

SiroccoFan<br />

Clean_Air<br />

Long_scroll<br />

Clean_Air<br />

SiroccoFan<br />

Long_Scroll<br />

RDN #3<br />

AirPurifier<br />

has_req<br />

Cleaning_Air<br />

subpart<br />

subpart<br />

SiroccoFan<br />

Long_Scroll<br />

Air_Env<br />

AirPurifier<br />

subpart<br />

SiroccoFan<br />

SiroccoFan<br />

Long_Scroll<br />

AirPurifier<br />

has_req has_req<br />

Air_Env Make_Wind<br />

AirPurifier<br />

subpart<br />

CrossflowFan<br />

AirPurifier<br />

subpart has_req<br />

Crossflow_fan<br />

Make_Wind<br />

subpart<br />

AirPurifier Crossflow_Fan<br />

has_req<br />

Air_Env<br />

has_req<br />

Make_Wind<br />

RDN #4<br />

Re-Build<br />

7 CSN<br />

8 RDN<br />

AirPurifier<br />

subpart has_req<br />

Crossflow_fan<br />

Air_Env


6. <strong>Ontology</strong>-<strong>based</strong> <strong>Case</strong>-Base Network<br />

6.2 RDN (Redundant Discrimination Network) Construction<br />

RDN := (Node, Direct arc)<br />

Node := (MOP, Attribute-Concept, Value, <strong>Case</strong>)<br />

� MOP (Memory Organization Packet) Node :=<br />

Nodes that has in<strong>for</strong>mation of common attributes and values of sub-cases<br />

� Attribute-Concept Node:= Attribute-concepts that cases have.<br />

� Value Node := Value_concepts that cases have.<br />

� <strong>Case</strong> Node := each case.<br />

Direct arc := direct_link(Node_A, Node_B)<br />

direct_link(MOP node, Attribute-Concept nodes)<br />

direct_link(Attribute-Concept node, Value nodes)<br />

direct_link(Value node, [MOP node | <strong>Case</strong> node])<br />

45<br />

Re-Build<br />

7 CSN<br />

8<br />

RDN


6. <strong>Ontology</strong>-<strong>based</strong> <strong>Case</strong>-Base Network<br />

<strong>Case</strong> 1<br />

<strong>Case</strong> 2<br />

6.2 RDN (Redundant Discrimination Network) Construction<br />

FlowRate<br />

noise<br />

Country<br />

CarTypeByDisp<br />

<strong>Case</strong> Examples<br />

fast<br />

Mid<br />

Korea<br />

Premium<br />

diameter …<br />

… …<br />

FlowRate<br />

noise<br />

Country<br />

CarTypeByDisp<br />

fast<br />

Mid<br />

Korea<br />

Standard<br />

diameter …<br />

… …<br />

<strong>Case</strong> 3<br />

FlowRate<br />

normal<br />

noise<br />

Low<br />

Country<br />

USA<br />

CarTypeByDisp Economy<br />

diameter …<br />

… …<br />

<strong>Case</strong> Structure #1<br />

flowRate noise Country CarTypeByDisp<br />

fast mid Korea<br />

Premium<br />

<strong>Case</strong> 1 <strong>Case</strong> 1 <strong>Case</strong> 1 <strong>Case</strong> 1<br />

normal<br />

<strong>Case</strong>3<br />

46<br />

-<br />

<strong>Case</strong> Structure #1<br />

-<br />

<strong>Case</strong> Structure #1<br />

- flowRate = High<br />

-Noise = Mid<br />

-Country = korea<br />

CarTypeByDisp<br />

Premium<br />

<strong>Case</strong> 1<br />

flowRate noise Country<br />

CarTypeByDisp<br />

fast<br />

mid<br />

Low<br />

<strong>Case</strong>3<br />

- flowRate = High<br />

-Noise = Mid<br />

-Country = korea<br />

CarTypeByDisp<br />

Premium<br />

<strong>Case</strong> 1<br />

Standard<br />

<strong>Case</strong> 2<br />

Korea USA<br />

<strong>Case</strong>3<br />

Re-Build<br />

7 CSN<br />

8<br />

RDN<br />

Standard<br />

<strong>Case</strong> 2<br />

Premium Standard Economy<br />

<strong>Case</strong> 1 <strong>Case</strong> 2 <strong>Case</strong>3


6. <strong>Ontology</strong>-<strong>based</strong> <strong>Case</strong>-Base Network<br />

6.2 RDN (Redundant Discrimination Network) Construction<br />

<strong>Case</strong>s in RDN#4<br />

has_d_val<br />

Country<br />

has_d_val<br />

Korea<br />

Country<br />

has_d_val<br />

has_q_val<br />

has_n_val Korea<br />

Country<br />

Korea<br />

Flow_rate<br />

Country has_q_val<br />

fast<br />

Korea<br />

has_q_val<br />

Flow_rate has_q_val fast<br />

Flow_rate has_q_val<br />

fast<br />

Noise<br />

Flow_rate has_q_val<br />

fast<br />

low<br />

Noise has_q_val low<br />

Noise has_q_val low<br />

Noise has_d_val<br />

low<br />

Place has_d_val on_road<br />

Place has_d_val on_road<br />

Place has_d_val on_road<br />

diameter has_d_val<br />

65<br />

VehicleType has_d_val premium<br />

VehicleType has_d_val premium<br />

VehicleType has_d_val premium<br />

Install_ CarType has_d_val under premium<br />

Location<br />

Install_ has_d_val<br />

rear_window<br />

under<br />

Install_ has_d_val<br />

Location has_d_val rear_window<br />

under<br />

under<br />

Location install has_n_val rear_window<br />

diameter has_n_val rear_window<br />

65<br />

diameter has_n_val 65<br />

diameter has_n_val 65<br />

… …<br />

MOP2<br />

flow_rate= fast<br />

mid<br />

<strong>Case</strong> #5<br />

flow_rate<br />

fast normal slow<br />

noise<br />

<strong>Case</strong> #3<br />

low<br />

MOP4<br />

<strong>Case</strong> #4<br />

flow_rate= fast<br />

noise = low<br />

CarTypeByDisp<br />

premium<br />

standard<br />

<strong>Case</strong> #1 <strong>Case</strong> #2<br />

47<br />

MOP1<br />

-<br />

RDN #4<br />

noise CarTypeByDisp …<br />

low mid<br />

MOP3 MOP5 omitted<br />

noise = low noise = mid<br />

flow_rate flow_rate<br />

fast slow<br />

<strong>Case</strong>#4 <strong>Case</strong> #5<br />

fast normal<br />

<strong>Case</strong> #3<br />

premium …<br />

Re-Build<br />

7 CSN<br />

8<br />

RDN<br />

Memory organization packet<br />

(MOP)<br />

Attribute-concept<br />

Values (Qualitative value concept,<br />

Defined-value-concept)<br />

<strong>Case</strong>


7. Similarity Evaluation<br />

Character similarity<br />

Definition similarity<br />

Taxonomy similarity<br />

Dependency similarity<br />

M<br />

M. Jung, H.W. Suh, “<strong>Ontology</strong> Mapping-<strong>based</strong> Search with Multi-dimensional Similarity and Bayesian Network’, 7th IJCC Japan-Korea<br />

CAD/CAM Workshop RCAST, Tokyo, Japan, July 26-27, 2007 Japan .<br />

P. Mitra, N. F. Noy and A. R. Jaiswal., “OMEN: A Probabilistic <strong>Ontology</strong> Mapping Tool,” Workshop<br />

on Meaning coordination and negotiation at the Third International Conference on the Semantic<br />

Web (ISWC-2004), Hisroshima, Japan, 2004.<br />

6<br />

Similarity<br />

Evaluation


7. Similarity Evaluation<br />

7.1 Term’s Similarity Calculation<br />

1) Character Similarity by Jaro metrics<br />

Problem Description <strong>Case</strong> Description<br />

FlowRate AirFlowRate<br />

JaroSim(FlowRate, AirFlowRate) =<br />

1/3 * ( 8/8 + 8/11 + (8 – 0)/(2*8)) = 0.74<br />

6<br />

Similarity<br />

Evaluation


7. Similarity Evaluation<br />

7.1 Term’s Similarity Calculation<br />

2) Taxonomy similarity by positions in the taxonomy<br />

Problem Description <strong>Case</strong> Description<br />

TaxSim(Steel, Iron) = 0.8<br />

TaxSim(Steel, Plastic) = 0.2<br />

Steel Iron<br />

Plastic<br />

50<br />

Metal Non-metal<br />

Iron<br />

Steel<br />

Material<br />

Plastic<br />

6<br />

Similarity<br />

Evaluation


7. Similarity Evaluation<br />

7.1 Term’s Similarity Calculation<br />

3) Definition Similarity by similarity of terms in the definitions<br />

Problem Description <strong>Case</strong> Description<br />

Geo_location<br />

Country<br />

Geom_location ≡ geographical_place Country ≡ PoliticalUnit<br />

∧∃in_which_used.AirPurifier<br />

∧∀hasDvalue.(Korea ∨ China ∨ USA )<br />

∧∀hasDvalue.(Asia ∨ Europe∨ America)<br />

Total concept = Nc1 + Nc2<br />

Similar (same) concept with same (similar) Role = Nr<br />

Similar ( same) concept with different (not similar) Role = Nr’<br />

DefSim(Geo_location, Country) = 6/9 + σ×0 = 0.66<br />

Asia America<br />

Korea Japan<br />

6<br />

Similarity<br />

Evaluation<br />

USA


7. Similarity Evaluation<br />

7.1 Term’s Similarity Calculation<br />

4) Total Term’s Similarity<br />

a. Concept Similarity<br />

For concept c 1 and c 2 ,<br />

ConSim(c 1 , c 2 ) = Max[ JaroSim(c 1 , c 2 ), TaxSim(c 1 , c 2 ), DefSim(c 1 , c 2 )]<br />

b. Relation Similarity<br />

For relation r 1 and r 2 ,<br />

RelSim(r 1 , r 2 ) = Max[ JaroSim(r 1 , r 2 ), TaxSim(r 1 , r 2 ), DefSim(r 1 , r 2 )]<br />

52<br />

6<br />

Similarity<br />

Evaluation


7. Similarity Evaluation<br />

7.2 Graph Structure’s Similarity Calculation<br />

Problem<br />

E<br />

<strong>Case</strong><br />

E<br />

B<br />

K<br />

Key concept<br />

r4<br />

r5<br />

r4<br />

r2<br />

A<br />

B C<br />

r2<br />

r3<br />

D<br />

A<br />

r1<br />

F C<br />

r3<br />

G<br />

H<br />

F D G<br />

Axiom; D ≠ P<br />

r1<br />

P<br />

Problem<br />

<strong>Case</strong><br />

A<br />

r2<br />

B<br />

A<br />

r1<br />

C<br />

r4<br />

B E<br />

r3<br />

B D<br />

r2<br />

r1<br />

c1 c2<br />

r2<br />

c1’ c2’<br />

A<br />

F<br />

0.9<br />

r1<br />

A<br />

C<br />

0<br />

NetSim(Problem, <strong>Case</strong>) = Average( 0.9, 1, 0.9, 0.54) = 0.817<br />

r4<br />

F<br />

E<br />

r5<br />

F<br />

K<br />

r3<br />

0 0 0<br />

0.9 0 0<br />

F<br />

G<br />

0 0 0.54<br />

Max<br />

0 1 0 0 0<br />

1<br />

0 0<br />

0 0<br />

0.54<br />

If ConSim(c1, c1’) > 0,<br />

SubNetSim(Net1, Net2) =<br />

RelSim(r1, r2) * [α * ConSim(c1, c1’) + β * ConSim(c2, c2’)] / 2<br />

If ConSim(c1, c1’) = 0<br />

SubNetSim(Net1, Net2) = 0<br />

* α and β are matching weight value <strong>for</strong> concepts of c1 and c2, respectively.<br />

0 < α and β≤1<br />

0.9<br />

0.9<br />

6<br />

Similarity<br />

Evaluation


8. <strong>Case</strong> Search with Networks<br />

8.1 Searching CSN<br />

AirPurifier<br />

has_req<br />

subreq<br />

Cleaning_Air<br />

subreq<br />

Searching algorithm: Best-first search with a threshold<br />

Concept structure<br />

be<strong>for</strong>e reasoning with ontology<br />

fan_assy<br />

subpart<br />

fan<br />

Air_Env<br />

subpart<br />

motor<br />

Make_Wind<br />

Concept structure<br />

after reasoning with ontology.<br />

AirPurifier<br />

subpart<br />

fan_assy<br />

subpart<br />

subpart<br />

subpart<br />

crossflow_fan<br />

has_req has_req<br />

subreq<br />

has_req<br />

Air_Env<br />

has_req<br />

Cleaning_Air<br />

subreq Make_Wind<br />

AirPurifier<br />

Cleaning_Air<br />

Make_Wind<br />

motor<br />

sim(n) =<br />

33.4%<br />

RDN #1<br />

sim(n) =<br />

11.7%<br />

AirPurifier<br />

Cleaning_Air<br />

sim(n) =<br />

33.4%<br />

AirPurifier<br />

Make_Wind<br />

AirPurifier<br />

SiroccoFan Clean_Air<br />

RDN #3<br />

AirPurifier<br />

Cleaning_Air<br />

sim(n) =<br />

11.7%<br />

SiroccoFan<br />

Long_Scroll<br />

Make_Wind<br />

AirPurifier<br />

Cleaning_Air<br />

54<br />

sim(n) =<br />

11.7%<br />

AirPurifier<br />

has_r<br />

eqAir_Env<br />

sim(n) =<br />

16.7%<br />

AirPurifier<br />

RDN #2<br />

AirPurifier<br />

Long_scroll Clean_Air<br />

AirPurifier<br />

Cleaning_Air<br />

SiroccoFan<br />

Long_Scroll<br />

Air_Env<br />

Make_Wind<br />

AirPurifier<br />

Long_Scroll<br />

AirPurifier<br />

Cleaning_Air<br />

sim(n) =<br />

0%<br />

AirPurifier<br />

SiroccoFan Long_Scroll<br />

SiroccoFan<br />

Long_Scroll<br />

Air_Env<br />

sim(n) =<br />

11.4%<br />

AirPurifier<br />

SiroccoFan<br />

SiroccoFan<br />

Long_Scroll<br />

AirPurifier<br />

has_r<br />

eq<br />

Air_Env<br />

Make_Wind<br />

sim(n) =<br />

41%<br />

AirPurifier<br />

4<br />

5<br />

sim(n) =<br />

16.7%<br />

AirPurifier<br />

CrossflowFan<br />

RDN #4<br />

CSN Search<br />

RDN Search<br />

AirPurifier<br />

Crossflow_fan<br />

Make_Wind<br />

Crossflow_Fan<br />

Air_Env<br />

Make_Wind<br />

matching weight values <strong>for</strong> concepts<br />

-. Required_function = 0.7<br />

-. Part = 1<br />

sim(n) =<br />

28.4%<br />

sim(n) =<br />

28.4%<br />

AirPurifier<br />

Crossflow_fan Air_Env


8. <strong>Case</strong> Search with Networks<br />

8.1 Searching CSN<br />

Concept structure of a new prob.<br />

subpart<br />

AirPurifier<br />

has_req<br />

Crossflow_fan<br />

Air_Env<br />

sim(n) =<br />

33.4%<br />

AirPurifier<br />

Cleaning_Air<br />

Make_Wind<br />

RDN #1<br />

sim(n) =<br />

0%<br />

AirPurifier<br />

Cleaning_Air<br />

sim(n) =<br />

33.4%<br />

AirPurifier<br />

Make_Wind<br />

AirPurifier<br />

SiroccoFan Clean_Air<br />

RDN #3<br />

sim(n) =<br />

0%<br />

AirPurifier<br />

has_r<br />

eq<br />

Cleaning_Air subre<br />

subpa<br />

rt<br />

subpa<br />

rt<br />

q<br />

Make_Wind<br />

AirPurifier<br />

Cleaning_Air<br />

55<br />

sim(n) =<br />

44%<br />

SiroccoFan<br />

Long_Scroll<br />

AirPurifier<br />

has_r<br />

eqAir_Env<br />

sim(n) =<br />

16.7%<br />

AirPurifier<br />

RDN #2<br />

AirPurifier<br />

Long_scroll Clean_Air<br />

AirPurifier<br />

has_r<br />

eq<br />

Cleaning_Air subre<br />

subpa<br />

rt<br />

subpa<br />

rt<br />

q<br />

SiroccoFan<br />

Long_Scroll<br />

Air_Env<br />

Make_Wind<br />

AirPurifier<br />

Long_Scroll<br />

AirPurifier<br />

Cleaning_Air<br />

sim(n) =<br />

0%<br />

AirPurifier<br />

SiroccoFan Long_Scroll<br />

SiroccoFan<br />

Long_Scroll<br />

Air_Env<br />

sim(n) =<br />

38%<br />

AirPurifier<br />

SiroccoFan<br />

SiroccoFan<br />

Long_Scroll<br />

AirPurifier<br />

Air_Env Make_Wind<br />

sim(n) =<br />

100%<br />

AirPurifier<br />

4<br />

5<br />

sim(n) =<br />

55%<br />

AirPurifier<br />

CrossflowFan<br />

RDN #4<br />

CSN Search<br />

RDN Search<br />

AirPurifier<br />

Crossflow_fan<br />

Make_Wind<br />

Crossflow_Fan<br />

Air_Env<br />

Make_Wind<br />

matching weight values <strong>for</strong> concepts<br />

-. Required_function = 0.7<br />

-. Part = 1<br />

sim(n) =<br />

55%<br />

sim(n) =<br />

100%<br />

AirPurifier<br />

Crossflow_fan Air_Env


8. <strong>Case</strong> Search with Networks<br />

8.2 Searching RDN<br />

1) Use parallel searching <strong>for</strong> RDN connected with the case-structure-node<br />

2) Find a union set of cases after parallel searching<br />

3) Find the most similar case through full partial match with the found cases.<br />

attributes and values of a new prob.<br />

Flow_rate<br />

has_q_val<br />

fast<br />

Noise<br />

has_q_val<br />

low<br />

has_d_val<br />

CarType SUV<br />

intall<br />

has_d_val<br />

has_q_val<br />

Inside_car<br />

out_diameter<br />

has_n_val<br />

wide<br />

Country<br />

China<br />

56<br />

RDN #4<br />

flow_rate<br />

noise CarType …<br />

sim_val(n)<br />

sim_val(n) sim_val(n)<br />

= 1<br />

= 0.5 = 0<br />

fast normal slow<br />

low mid<br />

MOP2<br />

MOP3 MOP5 omitted omitted<br />

flow_rate= fast <strong>Case</strong> #3 <strong>Case</strong> #4<br />

noise = low noise = mid<br />

noise<br />

sim_val(n)<br />

= 0.5 mid<br />

<strong>Case</strong> #5<br />

low<br />

MOP4<br />

sim_val(n)<br />

= 0.7<br />

sim_val(n)<br />

= 1<br />

flow_rate= fast<br />

noise = low<br />

standard<br />

CarType<br />

premium<br />

<strong>Case</strong> #1 <strong>Case</strong> #2<br />

MOP1<br />

flow_rate flow_rate<br />

fast slow<br />

sim_val(n)<br />

= 0.3<br />

-<br />

<strong>Case</strong>#4 <strong>Case</strong> #5<br />

fast normal<br />

<strong>Case</strong> #3<br />

4<br />

5<br />

CSN Search<br />

RDN Search<br />

Memory organization packet<br />

(MOP)<br />

Attribute-concept<br />

Values (Qualitative_value_concept,<br />

Defined-value-concept)<br />

<strong>Case</strong>


9. Discussion<br />

Representation Limitations<br />

Text<br />

Attribute-value list<br />

Object-oriented<br />

Graph<br />

Is hard to calculate similarity. NLP is required<br />

can not represent relations in a data model<br />

can not represent a case beyond a class model<br />

Graph similarity calculation is required.<br />

Graph + <strong>Ontology</strong> <strong>Ontology</strong> construction is required.<br />

Why the Graph + <strong>Ontology</strong> representation is better than Graph representation?<br />

1) The ontology can be used to infer taxonomy relations of new terminology.<br />

2) The ontology can be used to infer new relations between concepts.<br />

57


9. Discussion<br />

Why CSN is effective to search a similar concept structure?<br />

c2<br />

If we only compare concepts in concept structures,<br />

we can miss the meanings of relations in the concept structure.<br />

Concept structure: cs1 Concept structure: cs2<br />

c1<br />

c1<br />

r4<br />

r5<br />

r1 r2 r1 r3<br />

Axiom<br />

∀x,y r4(x,y) → r5(x,y)<br />

c4<br />

c3 c2 c3<br />

c4<br />

58<br />

Concept vector similarity (FEM paper)<br />

CBS(cs1, cs2) = 100%<br />

CBS(v1, v2) = (v1 * v2) / ||v1|| * ||v2||<br />

v1=[1, 1, 1, 1]<br />

v2=[1, 1, 1, 1]<br />

CSN similarity (Our approach)<br />

NetSim(cs1, cs2) = 56.6%<br />

NetSim(cs1, cs2) =<br />

( rel_sim(r1, r1) * con_sim(c2, c2)<br />

+ rel_sim(r2, r3) * con_sim(c3, c3)<br />

+ rel_sim(r4, r5) * con_sim(c4, c4))<br />

/ 3<br />

= ( 1*1 + 0*1 + 0.7*1)/3 = 1.7/3 = 0.566


9. Discussion<br />

<strong>Ontology</strong>-<strong>based</strong> CBR Typical Approach<br />

a1 r4<br />

a2<br />

a4<br />

a5<br />

r5<br />

r6<br />

r7<br />

r6<br />

Query:Q1<br />

C4 C3<br />

a4 a5<br />

v 3<br />

Axioms …<br />

Definitions …<br />

<strong>Ontology</strong><br />

c1<br />

c2<br />

r7<br />

v 4<br />

r1<br />

r2<br />

r3<br />

r2<br />

c3<br />

c4 c5<br />

r8<br />

r8<br />

r9<br />

r8<br />

a3<br />

a7<br />

a6<br />

a3<br />

v 7<br />

Wringgers and et. al., 2007, “Intelligent support of engineering analysis using ontology and<br />

case-<strong>based</strong> reasoning.” <strong>Engineering</strong> Applications of Artificial Intelligence, 20, pp. 709-720.<br />

59<br />

<strong>Case</strong>s<br />

<strong>Case</strong>1<br />

CBS(Q1, <strong>Case</strong>1) = 0.75<br />

S<br />

C2<br />

m = 0.75<br />

r6<br />

SBS(Q1, C1) = 0.3<br />

S(Q1, C1) = 0.6<br />

a4<br />

Smax = 0.6<br />

<strong>Case</strong>2<br />

r2 C3<br />

v1 r8<br />

CBS(Q1, <strong>Case</strong>2) = 0.5 C1<br />

Sm = 0.5<br />

r4<br />

(no calculation, a1<br />

Sm < Smax )<br />

r1<br />

r5<br />

a2<br />

C3<br />

r8<br />

<strong>Case</strong>3<br />

CBS(Q1, <strong>Case</strong>3) = 0.5<br />

S<br />

C2<br />

m = 0.5<br />

r6<br />

(no calculation,<br />

S<br />

a4<br />

m < Smax )<br />

CBS(Q1, <strong>Case</strong>4) = 0.8<br />

S <strong>Case</strong>4<br />

m = 0.8<br />

SBS(Q1, C4) = 0.6 C4<br />

r6 r7<br />

S(Q1, C4) = 0.7<br />

Smax = 0.7 a4 a5<br />

v 3<br />

v 5<br />

v 4<br />

v 6<br />

r2<br />

r2<br />

v 3<br />

r3<br />

C3<br />

C5<br />

r8<br />

r9<br />

a3<br />

v 2<br />

a7<br />

v 6<br />

a3<br />

v 7<br />

r8<br />

C3 a3<br />

v 6<br />

a6<br />

v 9<br />

Search<br />

sequentially.<br />

(because it is<br />

a flat model)


10. Conclusion<br />

We propose the Architecture of <strong>Ontology</strong>-<strong>based</strong> CBR approach.<br />

Problems<br />

1. How to overcome ‘providing ontology definition’<br />

2. How to overcome ‘reasoning overhead’<br />

3. How to construct ‘network’ considering domain’<br />

4. How to develop ‘more efficient search method’<br />

60

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!