Document 12930105

advertisement
CS4140
UNIVERSITY OF WARWICK
Department of Computer Science
MEng/MSc Year Summer Examinations: 2015/16
Semantic Web
MODEL EXAM PAPER - SOLUTIONS
Time allowed: 2 hours.
Answer FOUR questions.
Read carefully the instructions on the answer book and make sure that the particulars required are
entered on each answer book.
Calculators are not allowed.
(continued)
Page 1 of 18
CS4140
1. Semantic Web Generalities, Applications Semantic Web
(a) Consider the following statements, and comment on their meaning. Give also an example for
each.
(i) HTML is concerned with the 'look' only.
[2]
Answer (ET):
HTML constructs can determine how an element (or a part of a text) looks like in a web
document.
E.g. <H1> Title: Professor </H1> tells the parser this is a level one heading, and should be
displayed in large and visible characters.
Marking:1 mark per line equivalent.
(ii) XML is concerned with the structure and localised tags.
[4]
Answer (ET):
XML constructs can the structure of a web document.
E.g., <A> <B/> </A> suggest that element B is contained in element A.
XML constructs allow for creating one's own, localised tags, which can be used only within
a given document, or can be shared between documents.
E.g. <title> Professor </title> tells the parser this text is labelled with the tag created for it.
Marking: 1 mark per line equivalent.
(iii) RDF is concerned with relationships.
[2]
Answer (ET):
RDF constructs can determine how an element are related to each-other. All elements need
to have a URI.
E.g. Subject (John Brown) - Predicate (is-a) -> Professor.
Marking: 1 mark per line equivalent.
(iv) RDFS extends RDF with a specific vocabulary.
[2]
Answer (ET):
RDFS extends RDF with a standard ontology vocabulary.
E.g., Class, Property - type, subClassOf - domain, range.
Marking: 1 mark per line equivalent.
(v) OWL extends RDFS by constructing classes and domain terms.
[5]
Answer (ET):
OWL extends RDFS with the capability of constructing classes, as well as agreeing on
domain terms.
E.g., owl:oneOf allows you to construct classes by enumerating them; similar for
instersection, union, complement; you can construct classes through property restriction;
It is a much more powerful language than RDFS, but it builds on top of RDFS and RDF.
RDFS does not provide similarity and/or differences of terms.
E.g., sameAs construct, starting from OWL Lite.
Marking: 1 mark per line equivalent.
(continued)
Page 2 of 18
CS4140
(b) Which RDF features are avoided in Linked data, and why? Give an example of each of these
features (you can use (Subject, Predicate, Object) notation, for simplification, or any other notation
you are familiar with).
[10]
Answer (PS):
Reification is avoided, because it is hard to query with SPARQL.
E.g.,: (triple123, creator, John); (triple123, subject, Item123); (triple123,predicate, weight);
(triple123, object, 2.4); (triple123, type, statement);
Collections are avoided, also because they are hard to query with SPARQL.
E.g., instead of the collection syntax, use multiple triples with same predicates: (Beatles, contains,
George); (Beatles, contains, John); (Beatles, contains, Paul); (Beatles, contains, Ringo)
Containers are avoided, because they are hard to query with SPARQL.
E.g., instead of the collection syntax, use multiple triples with same predicates: same as above.
Alternatively, a sequence could be transformed into (Beatles, first, George); (Beatles, second,
Ringo), etc.
Blank nodes are avoided, because they make merging less effective.
E.g., blank nodes as would appear in containers above. (Beatles, artist, Bag). Bag here is a blank
node. They have no semantics outside the domain, so are more difficult to use.
Marking: 0.5 mark per correct RDF feature; 1 mark per correct explanation; 1 mark per correct
example.
2. RDF, RDFS
(a) Consider the RDF snippets below. What kind of RDF structure do they showcase? Define the
terms encountered. Draw the equivalent of these RDF snippets in the RDF graphical language.
(i)
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:s="http://example.org/students/vocab#">
<rdf:Description rdf:about="http://example.org/courses/6.001">
<s:students>
<rdf:Bag>
<rdf:li rdf:resource="http://example.org/students/Amy"/>
<rdf:li
rdf:resource="http://example.org/students/Mohamed"/>
<rdf:li
rdf:resource="http://example.org/students/Johann"/>
<rdf:li
rdf:resource="http://example.org/students/Maria"/>
<rdf:li
rdf:resource="http://example.org/students/Phuong"/>
</rdf:Bag>
</s:students>
</rdf:Description>
</rdf:RDF>
[4]
(continued)
Page 3 of 18
CS4140
Answer (ET):
This is a bag.
A bag is used to describe a list of values that is intended to be unordered.
A bag element may contain duplicate values.
.
Marking: 0.5 mark per correct name. 2 marks per correct definition. 0.5 mark per correct use of
empty element. 1 mark per correct connection of the Bag element.1 mark per correct connections
for bag elements.
(ii)
<rdf:Description rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Seq>
<rdf:li>George</rdf:li>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Seq>
</cd:artist>
</rdf:Description>
[4]
(continued)
Page 4 of 18
CS4140
Answer (ET):
This is a sequence.
A sequence is used to describe a list of values that is intended to be ordered.
A sequence element may contain duplicate values.
http://www.recshop.fake/cd/Beatles
http://www.w3.org/1999/02/22rdf-syntax-ns#type
http://www.w3.org/1999/02/22-rdf-syntax-ns#_1
http://www.w3.org/1999/02/22-rdf-syntax-ns#_2
http://www.w3.org/1999/02/22-rdf-syntax-ns#_3
http://www.w3.org/1999/02/22-rdf-syntax-ns#_4
http://www.w3.org/1999/02/22-rdf-syntaxns#Seq
George
John
Paul
Ringp
Marking: 0.5 mark per correct name. 2 marks per correct definition. 0.5 mark per correct use of
empty element. 1 mark per correct connection of the Bag element.1 mark per correct connections
for sequence elements.
(iii)
<rdf:Description rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</cd:format>
</rdf:Description>
[4]
(continued)
Page 5 of 18
CS4140
Answer (ET):
This is a list of alternatives.
An alt element is used to describe a list of values that is intended to be unordered, and that are
alternatives.
An alt element may contain duplicate values.
.
Marking: 0.5 mark per correct name. 2 marks per correct definition. 0.5 mark per correct use of
empty element. 1 mark per correct connection of the Bag element.1 mark per correct connections
for bag elements.
(iv)
<rdf:Description rdf:about="http://example.org/courses/6.001">
<voc:students rdf:parseType="Collection">
<rdf:Description rdf:about="http://example.org/students/Amy"/>
<rdf:Description rdf:about="http://example.org/students/Mohamed"/>
<rdf:Description rdf:about="http://example.org/students/Johan"/>
</cd:artist>
</rdf:Description>
[6]
(continued)
Page 6 of 18
CS4140
Answer (ET):
This is a collection.
A collection element is used to describe a list of values that is intended to closed.
It describes a group that contains only the specified members.
.
Marking: 0.5 mark per correct name. 2 marks per correct definition. 0.5 mark per correct use of
empty element. 1 mark per correct use of the nil element. 1 mark per correct connections for bag
elements.
(b) Translate into (brief) natural language the following RDF snippets:
(i)
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />
</rdf:RDF>
[3]
(continued)
Page 7 of 18
CS4140
Answer (PS):
The Empire Burlesque CD contains music by Bob Dylan, was published in 1985 in the USA by the
company Columbia, and costs $10.90.
Marking: 0.5 mark per correct use of each noun or group thereof.
(ii)
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.transport.fake/trains#">
<rdf:Description rdf:ID="train">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdfschema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="shinkansen">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdfschema#Class"/>
<rdfs:subClassOf rdf:resource="#train"/>
</rdf:Description>
</rdf:RDF>
[1]
Answer (PS):
A shinkansen is a type of train.
Marking: 1 mark per correct line or equivalent.
(c) Write the RDF code snippet in (b)(ii) above in its abbreviated form.
[3]
Answer (PS):
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.transport.fake/trains#">
<rdfs:Class rdf:ID="train" />
<rdfs:Class rdf:ID="shinkansen">
<rdfs:subClassOf rdf:resource="#train"/>
</rdfs:Class>
</rdf:RDF>
Marking: 0.5 marks xml line; 0.5 mark rdf line and namespaces; 0.5 marks each class line; 0.5
mark subclass line; 0.5 marks for closing tags.
3. SPARQL
(a) Suppose that an RDF model represents information about real world entities of unknown types.
The entities can be persons, locations, books, monuments, organizations, etc.
(continued)
Page 8 of 18
CS4140
(i) Write a SPARQL query to return all possible information about all kinds of
entities.
[1]
Answer (PS):
SELECT ?x ?y ?z
WHERE
{ ?x ?y ?z }
Marking: 1 mark per answer.
(ii) Write a SPARQL query that can return at most 5 triples representing information.
[1]
Answer (PS):
SELECT ?x ?y ?z
WHERE
{ ?x ?y ?z }
LIMIT 5
Marking: 1 mark per answer.
(iii) Consider that one of the previous queries has shown that the information on the queried
RDF document is about books, their authors, their titles, their publisher, as defined by the
standard vocabulary from http://purl.org/dc/elements/1.1/. Write a SPARQL
query that can return the author, title and publishing house of a book. Hint: Use relations
from the vocabulary, such as 'creator', 'title', 'publisher'.
[5]
Answer (PS):
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?bookTitle ?author ?publishingHouse
WHERE
{
?book dc:creator ?author.
?book dc:title ?bookTitle.
?book dc:publisher ?publishingHouse
}
Marking: 1 mark for the correct definition of the prefix; 0.5 marks for the correct selection;
0.5 marks for each correct triple; 1 mark for correct use of prefixes; 1 mark for correct use
of '.'.
(iv) Rewrite and extend the SPARQL query at 3a(iii) above, if we don't know for sure if the
publishing house and the date of publication is known, and we want to retrieve the author,
title, publishing house and date of publication of a book. Discuss briefly your syntax
choices. Hint: use relations from the standard vocabulary given in 3a(iii), including 'date'.
[6]
(continued)
Page 9 of 18
CS4140
Answer (PS):
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?bookTitle ?author ?publishingHouse ?dateOfPublication
WHERE
{
?book dc:creator ?author.
?book dc:title ?bookTitle.
OPTIONAL {?book dc:publisher ?publishingHouse}.
OPTIONAL {?book dc:date ?dateOfPublication}
}
One OPTIONAL could have embraced both publishing house and date of publication.
However, then they would have needed to exist at the same time. Thus, this syntax above
allows for either of them not to be present, and still retrieves some results.
Marking: 0.5 mark for the correct definition of the prefix; 0.5 marks for the correct
selection; 0.5 marks for each correct triple; 1 mark for correct use of prefixes. 1 mark for
discussion. 1 mark for correct use of {}.
(b) Consider the following SPARQL snippet:
SELECT ?a ?c
WHERE {?a ?b ?c .
?a ?d ?c}
Rewrite the query twice, to show two ways of abbreviating multiple objects in a query. Explain
what is abbreviated at each rewrite, and why it can be abbreviated this way.
[6]
Answer (ET):
SELECT ?a ?c
WHERE {?a ?b ?c ;
?d ?c }
The subject is abbreviated here, as they are the same and thus repetitious.
SELECT ?a ?c
WHERE {?a ?b ?c ,
?d
}
The subject as well as the object are abbreviated here, as they are the same and thus repetitious.
Marking: 1 mark per correct query rewrite. 1 mark per correct explanation about the 'what', and 1
mark for the 'why'.
(c) Explain the constructs DESCRIBE and CONSTRUCT in SPARQL, by discussing the reason
why they were introduced, the output they can provide. Give an example for each, to illustrate your
explanation.
[6]
(continued)
Page 10 of 18
CS4140
Answer (T):
PREFIX books:
<http://example.org/book/>
PREFIX dc:
<http://purl.org/dc/elements/1.1/>
DESCRIBE ?book
WHERE
{ ?book dc:creator ?author }
Result is in RDF triples, in any RDF serialization. The SPARQL DESCRIBE query does not
actually return resources matched by the graph pattern of the query, but an RDF graph that
"describes" those resources. It is up to the SPARQL service to choose what triples are included to
describe a resource.
CONSTRUCT
{ ?student b:studyFriend ?friend }
WHERE {
?student b:studies ?module .
?student foaf:knows ?friend .
?friend b:studies ?module }
}
CONSTRUCT returns a graph—a set of triples. It is used to create new triples. The section after the
CONSTRUCT keyword is a specification, in triples, of an RDF graph that is constructed to hold the
search result. If there is more than one search result, the triples from each result are combined.
Marking: 1 mark per correct query example. 1 mark per correct explanation about the 'why', and 1
mark for the correct output explanation.
4. OWL, Ontology Development
(a) Answer the following questions:
(i) Why do we need to develop an ontology? Mention three reasons.
. Answer (T):
[3]
We need to develop an ontology for:

a shared understanding of information structure
(between people or agents)
 enabling reuse of domain knowledge
 making domain assumptions explicit
 separating domain knowledge from operational knowledge
 analysing the domain knowledge
Marking: 1 mark for any of the correct answers above.
(ii) List the seven ontology design steps.
. Answer (T):
1.
2.
3.
4.
5.
6.
7.
[7]
Determine the domain and scope of the ontology
Consider reusing existing ontologies
Enumerate important terms in the ontology
Define the classes and the class hierarchy
Define the properties of classes—slots
Define the facets of the slots
Create instances
Marking: 1 mark for any of the correct answers above.
(continued)
Page 11 of 18
CS4140
(iii) What is an ontology?
Answer (T):



[3]
A way of encoding domain knowledge, linking the knowledge, which allows for reasoning
with the data
Ontologies allow for data integration and inference, for automated query-answering and
automated use of data
formal explicit description of concepts in a domain of discourse (classes/concepts), concept
properties (slots/roles/ properties), and restrictions on slots (facets /role restrictions)
Marking: 3 marks for any of the correct answers above.
Note: each of the definitions contains 3 specific parts that need mentioned for receiving
full marks.
(b) Write the following example snippets of code in OWL or OWL2 (as appropriate) in the
OWL/XML syntax:
(i) An example of an individual.
. Answer (PS):
[2]


Short version:
<Region rdf:ID="CentralCoastRegion" />







Long version:
<owl:Thing rdf:ID="CentralCoastRegion" />
<owl:Thing rdf:about="#CentralCoastRegion">
<rdf:type rdf:resource="#Region"/>
</owl:Thing>
In both versions, CentralCoastRegion is an individual (belonging to the class Region).
Marking: 2 marks for any of the correct answers above.
(ii) An example of an object property.
. Answer (PS):


[4]
<owl:ObjectProperty rdf:ID=“hasPart">
<rdfs:domain rdf:resource="#Destination" />
<rdfs:range rdf:resource="#Beaches" />
</owl:ObjectProperty>
The property is hasPart.
Marking: 1 mark for range, 1 mark for domain, 1mark for correct usage of
ObjectProperty, 1 mark for property mention.
Note: domain can be undefined as well, and that's acceptable.
(c) Explain in natural and mathematical language what the following OWL2 constructions mean.
Use also graphical representations.
(continued)
Page 12 of 18
CS4140
(i) <owl:ReflexiveProperty rdf:ID="hasSameAge"/>
. Answer (PS):

[3]

natural language: The property hasSameAge is reflexive, meaning that its domain and range
are the same, and that it applies on the same individual.
mathematical language: In other words, for all x, R(x,x).

image:
Marking: 1 mark for each language.
(ii) <owl:AssymmetricProperty rdf:ID="isThinnerThan"/>
. Answer (PS):

[3]

natural language: The property isThinner is assymetric, meaning that if this property exists
between two individuals, it cannot exist between the two individuals in reverse order.
mathematical language: In other words, for all x,y, if R(x,y) then not R(y,x).

image:
Marking: 1 mark for each language.
(iii) <owl:ObjectProperty rdf:ID="buys">
[3]
<owl:propertyChainAxiom ref:parseType="Collection">
<owl:ObjectProperty rdf:about="#buys"/>
<owl:ObjectProperty rdf:about="#hasPart"/>
</owl:propertyChainAxiom>
</owl:ObjectProperty>
Answer (PS):


natural language: The property buys has as sub-property chain the hasPart property. This
means that if somebody buys car, they have also bought all its parts.
mathematical language: In other words, for all x,y,z if buys(x,y) and hasPart (y,z) then
buys(x,z).

image:
Marking: 1 mark for each language.
(continued)
Page 13 of 18
CS4140
5. Description Logic, Web 2.0
(a) Answer the following questions:
(i) What is description logics (DL), what does it allow and what are its advantages?
Answer (T):




[3]
Not a single logic, but a family of KR logics
Subsets of first-order logic (FOL)
Description Logics allow formal concept definitions that can be reasoned about to be
expressed
Advantages:
o Well-defined model theory
o Known computational complexity
Marking: 1 mark for definition, 1 mark for what it allows, 1 mark for advantages.
(ii) Based on the example below, explain reasoning (here, classification) in DL. Make sure to
explain all relations and symbols encountered in the example.
[3]


Answer (ET):
Reasoning in DL:
o A classifier (a reasoning engine) can construct class hierarchy from ontology
concepts defs
o Concept definitions composed from primitives >> ontology is more maintainable
In the example:
o Person, Man, Woman, Uncle, Aunt are classes.
o The arrows show the class- sub-class relation (e.g., Uncle is a sub-class of Man).
o All classes are a subclass of the 'All' class, and the class 'Nothing' is a subclass of all
classes.
Marking: 1 mark for explaining reasoning in DL, 1 mark for classes recognition, 1 mark for
relation recognition, 1 mark for All/Nothing classes recognition.
(iii) What is an A Box and what is a T Box in DL? Give an example of each.
Answer (ET):
o
o
[4]
A Box = Assertion Box; this represents the knowledge base in DL.
 Example: hasPet(mary, fluffy)
T Box = Terminology; this represents the definitions of concepts in the ontology.
 Example: A ≡ B [A is defined by the expression B]
Marking: 1 mark for each definition, 1 mark for each example.
(iv) What are classes and relations called in DL? What is subsumption in DL? Give an example
of each.
[6]
(continued)
Page 14 of 18
CS4140
Answer (ET+PS):
o
o
o
A class is called a concept in DL.
 Example: Daughter ≡ Female ⊓ hasParent.T (here, Daughter is a
concept)
A relation is called a role in DL (for binary relations), or an attribute, for functional
roles.
 Example: hasParent above is a role (a binary relation)
Subsumption means that one class (concept) is subsumed (i.e., included) in another.
 Example: A ⊑ B iff A1 ⊆ B1 (“A is subsumed by B”)
Marking: 1 mark for each definition, 1 mark for each example.
(b) Considering the comparison between Web 1.0 and Web 2.0, decide if Facebook is a Web 2.0 or
Web 1.0 platform. Exemplify your answers. Use four comparison.
[9]
Answer (PS):

Web 1.0 versus Web 2.0:
o read versus write and contribute: for Facebook, a bit of the former, but more of the
latter - users add info on their own 'wall', or on other people's.
o page versus post/record: for Facebook, definitely the latter; users post new
information on their own or others 'walls'.
o static versus dynamic: the latter: the information changes all the time, depending on
who posted what.
o web browser versus browsers, RSS readers, anything: Facebook is used in browsers,
but can also be used on other platforms (e.g., mobile phones, etc.), and allows for
RSS
o client server versus web services: Facebook allows for both approaches
o web coders versus everyone: Facebook is clearly for everyone, and not just the
chosen few
o geeks versus mass amateurisation: again, Facebook is definitely for the latter:
everyone and their grandmother has an account.
o conclusion: Facebook is definitely a Web 2.0 platform.
Marking: 1 mark for conclusion, 1 mark for comparison feature and correct answer, 1 mark for
correct explanation per feature.
Note: any four of the eight features above are accepted.
6. User Modelling
(a) What is a User Modelling shell system, and what are its requirements?
[7]
(continued)
Page 15 of 18
CS4140
Answer (T):
o
o


A UM shell system is a:
 a General User Modelling System
 using Stereotype hierarchies
 Stereotype members + rules about them
 also has which Consistency verification
  set framework for General UM systems
Requirements are:
 Generality
 As many services as possible
 “Concessions”: student-adaptive tutoring systems
 Expressiveness
 Able to express as many types of assumptions as possible (about U)
 Strong Inferential Capabilities
 AI, formal logic (predicate l., modal reasoning, reasoning w. uncertainty,
conflict resolution)
Marking: 1 mark for definition, 1 mark per requirement and 1 mark per requirement
explanation.
Note: the definition should contain some of the elements above. The explanations should
give the general gist of the requirement.
(b) A bookstore is introducing a new user modelling system, based on the introversion/ extroversion
cognitive style.
(i) Describe the cognitive style the company is introducing.
[2]
Answer (T):
Introverts prefer situations with low amount of stress, and get in trouble (will try to withdraw) when
their level is exceeded.
Extroverts prefer a fair amount of diversity and disturbance. They easily get bored (and will
withdraw).
Marking: 1 mark for each definition, for introverts and extroverts respectively.
Note: the definitions need to get the gist, not be ad-literaem.
(ii) What kind of data (information type) is the bookstore storing about its users, to cater to this
learning style? How would this data be obtained? Exemplify each of your answers. Discuss pros
and cons of the different ways of obtaining data. (Hint: find four ways of data gathering.)
[13]
(continued)
Page 16 of 18
CS4140
Answer (PS):
The bookstore system will have a user model, containing:
- a variable for introvert versus extrovert;
There are two possible ways of obtaining the data on the user's cognitive style:
- directly, via questionnaires: e.g.:
-- asking the user about their style (advantage: can be precise and quick; disadvantage: user might
not know their style or might not want to provide it, user might be annoyed),
-- or having the user take a questionnaire which determines their style (advantage: can be precise
and is based on solid theory; disadvantage: can be annoying to user to answer many questions, user
could still answer misleadingly).
- indirectly, by monitoring the user behaviour on the system, and the system automatically deciding,
based on it, what the style of the user is; this can be done:
-- as a one-off; (advantage: user can go ahead with task at hand, doesn't have to provide additional
information; disadvantage: precision may be lower, user may change preferences over time)
-- by continuously monitoring user's behaviour; (advantage: user can go ahead with task at hand,
doesn't have to provide additional information; user may change preferences over time, which is
caught by the monitoring disadvantage: precision may be lower)
Examples are:
-- providing disturbance (e.g., various types of information about books, authors, writing categories,
different users, user groups, chat opportunities, etc.) and monitoring how users cope with it.
(advantage: user can go ahead with task at hand, doesn't have to provide additional information;
users could disengage before any remedial action can be taken, and they never come back;
disadvantage: precision may be lower; user may change preferences over time) If the monitoring is
adaptive, the amount of disturbance can be lessened in time, if necessary, or increased. (advantage:
user can go ahead with task at hand, doesn't have to provide additional information; user may
change preferences over time, which is caught by the monitoring; users could disengage before any
remedial action can be taken, and they never come back; disadvantage: precision may be lower)
-- providing a very low key environment (e.g., very simple search functions for books - e.g., one
catalogue, no added functionality) and monitor how users cope with it. (advantage: user can go
ahead with task at hand, doesn't have to provide additional information; users could disengage
before any remedial action can be taken, and they never come back; disadvantage: precision may be
lower; user may change preferences over time) If the monitoring is adaptive, the amount of
disturbance can be increased in time, if necessary, or lessened. (advantage: user can go ahead with
task at hand, doesn't have to provide additional information; user may change preferences over
time, which is caught by the monitoring; users could disengage before any remedial action can be
taken, and they never come back; disadvantage: precision may be lower)
Marking: 1 mark for the introvert/extrovert variable, 1 mark for 4 types of data gathering, 1 mark
for each explanation, 1 mark for each advantage/disadvantage.
Note: the definitions need to get the gist, not be ad-literaem.
(iii) The bookstore additionally decides to maintain background information about each user (their
age, ethnicity, gender, job). What type of user modelling would be needed for such information?
Explain your answer. (Hint: using overlay modelling or free variables) Instantiate the user model
for Mary, an extrovert housewife of 23, of Hispanic origin.
[3]
(continued)
Page 17 of 18
CS4140
Answer (PS):
The type of user modelling is using free variables (as the background information doesn't vary,
regardless of the content model instantiation used - i.e., a person will have the same age for each
book they consider buying).
Instantiation:
UM.introvert = False;
UM.age = 23;
UM.ethnicity = Hispanic;
UM.gender = Female;
UM.job = Housewife;
Marking: 1 mark for free variable and explanation, 2 marks for instantiations.
(End)
Page 18 of 18
Download