Do you have experience in data modeling, or using taxonomies to classify things, and want to upgrade to modeling knowledge graphs? This hands-on workshop with one of the leading knowledge graph practitioners will help you get started.
Part 3
2. We give inaccurate and
misleading or ambiguous
names
We don’t provide adequate
human readable definitions of
elements
We model as synonyms terms
that are not
We model instances as
subclasses
We treat vague elements as
crisp
BAD SEMANTIC MODELING
PRACTICES
GIVING BAD
NAMES
OMITTING OR GIVING BAD
HUMAN DEFINITIONS
BAD
SYNONYMS
BAD (SUB-)CLASSES IGNORING VAGUENESS
3. Why we give bad names
● We don’t know any other interpretations.
● We assume other interpretations are
irrelevant and that people will know what
we mean
● We assume that the correct meaning will
be inferred by the context.
4. How to give good names
● Always contemplate an element’s name in
relative isolation and try to think all the
possible and legitimate ways this can be
interpreted by a human.
● If a name has more that one interpretations,
make it more specific, even if the other
interpretations are not within the domain or
not very likely to occur
● Observe how the name is used in practice
by your modelers, annotators, developers
and users.
5. Why we define bad synonyms
● We forget or ignore that synonymy is a
vague and context dependent phenomenon.
● We mix synonymy with hyponymy and
semantic relatedness and similarity
● We are unaware of subtle but important
differences in meaning for our particular
domain or context
● We don’t document biases, assumptions
and choices
6. How to define good synonyms
● Insist on meaning equivalence over mere
relatedness
● Get multiple opinions (from people and
data)
● If you can’t be sure that your synonyms are
indeed synonyms, then don’t call them like
that.
● Always document the criteria, assumptions
and biases of your synonymy.
7. Why we define bad (sub-)classes
● Ambiguity of the “is a” expression
● Second-order classes not allowed
● Defining two senses in one entity
● Assuming subclass hierarchies are the
same as narrower/broader hierarchies
● Misleading terminology and guidelines
8. How to define good (sub-)classes
● Check whether the instances of your
subclasses are also instances of their
superclasses.
● Try and express the subclass relation
with the “is a kind of ” pattern instead of
the “is a” and see if it makes sense.
● Check if the two classes share identity
criteria
● Name and define your classes in a more
accurate and clear way
9. How to handle vagueness
● Identify which of your model’s elements
have a vague meaning
● Investigate whether these elements are
indeed vague
● Investigate and make the vague meaning of
the element as specific as possible by
specifying potential dimensions and
applicability contexts.
● Make sure that everyone is aware of the
above that by explicitly mentioning this in
the description and documentation of the
element
10.
11. ● Meaning accuracy
● Meaning explicitness
● Meaning agreement
Take Aways
Shared semantics are
important in Knowledge
Graphs
● Ambiguity
● Variety/Diversity
● Vagueness
● Semantic Change
● Bad modeling practices
With several challenging
”enemies” that grow
stronger in scale
● Be wary of the semantic
gap
● Understand basic
semantic phenomena
● Understand and avoid
key semantic modeling
pitfalls
That we can start facing by
some “simple” actions
12.
13. Currently writing a book on
semantic data modeling
To be published by O’Reilly in
September 2020
Early release available at O’Reilly
Learning Platform from November
2019
To get news about the book as
well as a free preview chapter
send me an email to
p.alexopoulos@gmail.com