Ontology-based Case-Based Reasoning (OntCBR) for Engineering ...
Ontology-based Case-Based Reasoning (OntCBR) for Engineering ...
Ontology-based Case-Based Reasoning (OntCBR) for Engineering ...
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