Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deploying Semantic Technologies for Digital Publishing: A Case Study from Logos Bible Software


Published on

Presented May 24, 2007 at the Semantic Technology Conference
This talk describes an effort at Logos Research Systems to build a semantic knowledgebase encompassing general background information about entities and relationships from the Bible (one of the world's most popular collections of information). The scope includes people, places, belief systems, ethnic attributes, social roles, as well as family and other inter-personal relationships, places visited, etc. This Bible Knowledgebase (BK) will be used to support knowledge discovery and visualization in both desktop and web-server configurations for Logos' products. It will also provide an integration framework for Logos' substantial digital library (more than 7000 titles from over 100 different publishers). The project is a good example of what it takes to move a real-world, knowledge-intensive application into a Semantic Web framework.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Deploying Semantic Technologies for Digital Publishing: A Case Study from Logos Bible Software

  1. 1. Deploying Semantic Technologies for Digital Publishing A Case Study from Logos Bible Software Sean Boisen ( Slides at:
  2. 2. Outline <ul><li>Background: application and motivation </li></ul><ul><li>Scope and Overview </li></ul><ul><li>Technical Challenges: </li></ul><ul><ul><li>Reification for provenance data </li></ul></ul><ul><ul><li>Converting legacy data </li></ul></ul><ul><ul><li>Tools for knowledge extension </li></ul></ul><ul><li>Future directions </li></ul>
  3. 3. Who Am I? <ul><li>19 years with BBN Technologies </li></ul><ul><ul><li>Information extraction, human language technology </li></ul></ul><ul><ul><li>Scientist, technology manager </li></ul></ul><ul><li>Semantic Web hobbyist </li></ul><ul><li>Senior Information Architect at Logos </li></ul><ul><li>One-man semantic band </li></ul>
  4. 4. The Importance of the Bible as a Semantic Domain <ul><li>The most widely distributed book </li></ul><ul><ul><li>35M Bibles and Testaments in 2005 </li></ul></ul><ul><li>The most widely translated work </li></ul><ul><ul><li>> 2000 languages </li></ul></ul><ul><ul><li>41 languages at </li></ul></ul><ul><li>Spans 1000s of years of ancient history </li></ul>
  5. 5. Logos Bible Software <ul><li>High-end desktop digital library </li></ul><ul><ul><li>> 7000 titles </li></ul></ul><ul><ul><li>Resources in a dozen languages </li></ul></ul><ul><ul><li>Users in 180 countries </li></ul></ul><ul><ul><li>Extensive cross-indexing and hyper linking </li></ul></ul><ul><li>Leading publisher and developer of digital resources for Bible study </li></ul>
  6. 6. Logos Value <ul><li>Digital library with hyperlinked references and citations </li></ul><ul><li>Information integration for navigation, search </li></ul><ul><li>Support for original languages </li></ul><ul><li>Search </li></ul><ul><li>New content to enrich Bible study </li></ul>
  7. 7. The Bible Knowledgebase (BK) <ul><li>A machine-readable knowledgebase of semantically-organized Bible data </li></ul><ul><ul><li>In OWL </li></ul></ul><ul><ul><li>Linked to Biblical texts </li></ul></ul><ul><ul><li>Search, navigation, visualization </li></ul></ul><ul><li>Relationships support discovery and exploration </li></ul><ul><li>Reusable content (unlike prose) </li></ul><ul><li>Integration framework for library resources (future) </li></ul><ul><li>Today: named people and places, and their relationships </li></ul><ul><li>Tomorrow: chronology, events, concepts, non-named things, key terms, topics, … </li></ul>
  8. 8. Approach <ul><li>Build on Semantic Web standards </li></ul><ul><li>Model the domain rather than annotate texts </li></ul><ul><li>Layer knowledge: first entities, then relationships </li></ul><ul><li>Be conservative in what we assert and provide references as evidence </li></ul><ul><li>Try to avoid philosophy and focus on end-user value </li></ul>
  9. 9. The Semantic Value Proposition <ul><li>Identify and disambiguate entities (beyond names) </li></ul><ul><ul><li>30 people named Zechariah </li></ul></ul><ul><ul><li>Jesus’ disciple: Peter, Simon, Simeon, Cephas … </li></ul></ul><ul><ul><li>Judah: person, tribe, territory </li></ul></ul><ul><li>Link reference information to passages for background </li></ul><ul><li>Provide a rich set of relationships to encourage exploration and discovery </li></ul><ul><li>Provide consistent cross-resource indexing </li></ul><ul><li>Leverage third-party tools </li></ul><ul><li>Provide scalability </li></ul><ul><li>Avoid reinventing the wheel </li></ul>
  10. 10. User Benefits <ul><li>Disambiguation makes search work better </li></ul><ul><li>Passage guide displays relevant entities to provide background information </li></ul><ul><li>Relationships encourage browsing and exploration </li></ul><ul><li>Visualization makes complex information easier to grasp </li></ul>
  11. 11. Development Tools <ul><li>Ontology development and instance creation with Protégé </li></ul><ul><li>Legacy data conversion and data merging through XSLT </li></ul><ul><li>Storage in Sesame </li></ul><ul><li>Some integration code in Python for loading and querying RDF </li></ul><ul><li>TBD </li></ul>
  12. 12. Most Important BK Classes <ul><li>> 60 classes in all (not counting reified relationships) </li></ul><ul><li>Many upper classes are not instantiated </li></ul><ul><li>General coordination of class names with SUMO </li></ul><ul><ul><li>But not true re-use </li></ul></ul>
  13. 13. BK Classes for Places
  14. 14. BK Abstract Classes
  15. 15. BK Instances <ul><li>~100k triples </li></ul><ul><li>~3000 people instances </li></ul><ul><ul><li>Aaron to Zurishaddai </li></ul></ul><ul><ul><li>Names (various languages) </li></ul></ul><ul><li>~20k passage references for assertions </li></ul><ul><li>90 cities, other places </li></ul><ul><li>Ethnicities, belief systems, languages, social roles, organizations </li></ul>
  16. 16. Major BK Relationships Family Relationships Human Human Domain Range Property Knows, collaborates, antagonist, enemy Member of Group Region Native, resident, visited place And inverse relationships … (attributes) Social role, Ethnicity, Belief Region Subregion Geolocation data Latitude, longitude, etc.
  17. 17. Challenge: Assertions about Properties <ul><li>Provenance is important to the domain and application </li></ul><ul><li>Problem: how to make assertions about properties </li></ul><ul><ul><li><#John.3, isFatherOf, #Peter>: says who? </li></ul></ul>#John.3 #Peter isFatherOf hasFather #Andrew.1 hasFather isFatherOf
  18. 18. Reification <ul><li>Merriam-Webster: </li></ul><ul><ul><li>“ to regard (something abstract) as a material or concrete thing “ </li></ul></ul><ul><li>Model the relationship between instances as an instance itself </li></ul>
  19. 19. Reified Relationships <ul><li>Solution: make the relationship an object about which we can make assertions </li></ul><ul><ul><li>All “simple” properties get more complex </li></ul></ul>#John.3 #John.3 _parent_ Andrew.1 #Andrew.1 “ bible.64.1.42” reference #John.3 _parent_ Peter #Peter “ bible.64.21.15” “ bible.64.21.16” “ bible.64.21.17” isFatherOf hasFather isSonOf hasSon isFatherOf hasFather isSonOf hasSon
  20. 20. Some Consequences of Reification <ul><li>Class and property instance overhead </li></ul><ul><ul><li>2 simple inverse properties become 4 properties and 1 class </li></ul></ul><ul><ul><li>Abstract hierarchy of classes of reified relationships </li></ul></ul><ul><ul><li>Add overhead as well to ontology development, query construction, etc. </li></ul></ul><ul><li>Symmetric and transitive properties </li></ul><ul><li>Challenges for reasoning </li></ul><ul><ul><li>Restrictions come from a combination of properties and reified classes </li></ul></ul>
  21. 21. Reified Classes (Family) <ul><li>All binary relationships with appropriate restrictions on their arguments (max 2, range restrictions, etc.) </li></ul>
  22. 22. Other Reified Classes
  23. 23. Properties Between Reified Properties <ul><li>Beyond OWL </li></ul><ul><li>Defined with respect to particular reified classes </li></ul><ul><li>Automatically derivable from the ontology </li></ul>reif:is FatherOf reif:isSonOf reif:hasSon reif:has Father owl:inverseOf owl:inverseOf reif:inverseOf reif:pairedProperty reif:onsetOf reif:codaOf
  24. 24. Reified Relationships: Names <ul><li>Appellations (names) are class instances </li></ul><ul><ul><li>An Appellation instance has string representations (in various languages) </li></ul></ul><ul><ul><li>Keeps all the facts about a name (different language versions, pronunciation, literal meaning, etc.) in one place </li></ul></ul><ul><li>An individual has a (reified) NamingRelation to an Appellation instance </li></ul><ul><ul><li>Mentions of the individual are properties of the NamingRelation </li></ul></ul>
  25. 25. Reified Names Example #Barnabas isNamedBy hasAppellation “ Barnabas”@en &quot;Βαρναβᾶς&quot;@ el &quot;Bernabé&quot;@es hasName #Joseph2.1 bär ' nə-bəs hasPhonetic Representation bkaudio/ barnabas.wav hasPronunciation bk:Man rdf:type bk:NameRel #Barnabas namedBy Barnabas #Barnabas namedBy Joseph #Joseph2.1 namedBy Joseph bk:Appellation #NameOf Barnabas #NameOf Joseph “ bible.61.1.16” reference “ bible.61.1.18 Etc. And all the right-to-left equivalents …
  26. 26. Challenge: Converting Legacy Data <ul><li>Strategy: use XSL to generate RDF matching the ontology </li></ul><ul><ul><li>Legacy XML data organized by name and by person </li></ul></ul><ul><ul><li>Generate reified relations from simple ones </li></ul></ul><ul><ul><ul><li>Lookup table for reified inverse properties (but kb query would be cleaner) </li></ul></ul></ul><ul><ul><li>Both sides of family relationships are defined independently </li></ul></ul><ul><li>URI Naming </li></ul><ul><ul><li>Map different XML names to a single URI </li></ul></ul><ul><ul><li>Generate shared URIs for reified relations like #<personURI>_<relation>_<personURI> </li></ul></ul><ul><ul><li>RDF merging connects them in the kb </li></ul></ul><ul><li>Why not owl:sameAs? </li></ul><ul><ul><li>Additional complexity but no practical benefit for internal-only data </li></ul></ul>
  27. 27. Converting Legacy Data (2) <ul><li>Other OWL data with different URIs and non-reified relations </li></ul><ul><ul><li>Map entities to common URIs (shared across both legacy datasets) </li></ul></ul><ul><ul><li>Adopt same URI construction principles </li></ul></ul><ul><ul><li>Expand out reified relations </li></ul></ul><ul><ul><li>RDF merge in the kb </li></ul></ul>
  28. 28. Legacy Data Pipeline XSL Loader NTNames (OWL) BK ontology XSL BK-NTNames merge map <ul><li>Query (SeRQL, SPARQL) </li></ul><ul><li>Extract </li></ul><ul><li>API </li></ul><ul><li>Web service </li></ul>Other data (OWL) Aaron.xml Aaron.xml Aaron.xml Aaron.xml Biblical People XML Aaron.xml Aaron.xml Aaron.xml Aaron.rdf … in RDF
  29. 29. Challenge: Maintenance and Extension <ul><li>How to lower the skill threshold for extending the data? </li></ul><ul><li>Approach: </li></ul><ul><ul><li>Distinguish different operations </li></ul></ul><ul><ul><ul><li>Adding new instances of relationships (easy) </li></ul></ul></ul><ul><ul><ul><li>Adding non-relational attributes (easy) </li></ul></ul></ul><ul><ul><ul><li>Adding new instances of basic entities (a little harder) </li></ul></ul></ul><ul><ul><ul><li>Fixing bad data, extending the ontology (hard) </li></ul></ul></ul><ul><ul><li>Get the core entities right first (enables #1) </li></ul></ul><ul><ul><li>Develop specialized tools that </li></ul></ul><ul><ul><ul><li>Are constrained in scope </li></ul></ul></ul><ul><ul><ul><li>Provide simple choices </li></ul></ul></ul><ul><ul><ul><li>Hide complications (like reification) </li></ul></ul></ul>
  30. 30. How Do We Deliver Semantics? <ul><li>Part of a consumer software application: not on the open web </li></ul><ul><li>Not practical to ship an RDF store </li></ul><ul><li>Likely: combination of </li></ul><ul><ul><li>Some static results shipped with product </li></ul></ul><ul><ul><li>Some web service support for dynamic information </li></ul></ul><ul><ul><li>A web portal with richer search capabilities </li></ul></ul>
  31. 31. Open Architecture Issues <ul><li>Visualization </li></ul><ul><ul><li>Likely: custom MFC </li></ul></ul><ul><li>End-user query </li></ul><ul><ul><li>Likely: at most, templated queries </li></ul></ul><ul><li>Reasoning </li></ul><ul><ul><li>Necessary, but … </li></ul></ul>
  32. 32. Future Extensions to BK <ul><li>Place names and related properties </li></ul><ul><li>Brief descriptions for entities </li></ul><ul><li>Place people in Biblical eras </li></ul><ul><li>Narrative role (greetings in epistles, scene participants, background) </li></ul><ul><li>Key events from narratives </li></ul><ul><li>Concepts </li></ul><ul><li>Unnamed things (descriptions, pronouns) </li></ul><ul><li>Headwords and lexical relationships </li></ul>
  33. 33. References <ul><li>Weaving the New Testament into the Semantic Web, </li></ul><ul><li>Suggested Upper Merged Ontology (SUMO), </li></ul><ul><li>Defining N-ary Relations on the Semantic Web, </li></ul>