Posted:May 13, 2019

Evolution, AI3's ThemeIt’s Worked for Me, But is Not for Everyone

It sometimes hits me that I have been ‘telecommuting’ for the great majority of my professional life. I began telecommuting, or telework, in May 1989. That is thirty years ago. My second child was about to be born, and we were anxious to move our family out of Washington, D.C., to seek saner and less crowded climes. That child, Zak, is now in his third year of medical residency and married. My oldest daughter, Erin, is also married and a doctor with a second child on the way. Neither of my kids have memories of me NOT working from home.

Besides my underlying entrepreneurial spirit, going out on my own meant my wife, Wendy, could more easily pursue her professional opportunities back then. When I went out on my own, perhaps stupidly with no contracts or paying prospects in hand (though all worked out fine), my wife was in her first post-doc fellowship at NIH. My choice did indeed give Wendy more flexibility to pursue her opportunities. In the early years, especially, she was able to move with the family to desirable opportunities when and where they arose. She is now a full professor at the University of Iowa, one of the leading medical schools in the United States.

Initially, I went out on my own as an energy consultant. Through a transition of locations and engagements, which I detailed in my 25th year retrospective, I began emphasizing software development in my businesses. I subsequently had five companies, lived in four states, have worked either alone or have run companies with up to 35 employees, and raised millions in financing. If one is willing to travel, it is possible to pursue any form of knowledge work. According to the Wikipedia entry on telecommuting, as of 2017, roughly 3.7 million employees—2.8% of the workforce—work from home at least half the time.

But travel is exhausting and, for me, a limited reservoir that I drew down early and began to seek ways to restrict. This has been true for me the last decade especially. Under those circumstances, individual contractor or small, boutique consultancies seem better able to be conducted with lesser travel.

I’ve talked in earlier retrospectives about the importance of the fax machine to enable my initial telecommuting. In the early years, what I was doing was rare enough that I spoke several times to business and service clubs about what it was like to telework and how to organize for it. Today, the fax is virtually a machine of the past, and technologies and ways to connect with colleagues and customers and suppliers abound. Telecommuting is no longer remarkable.Mike's Home Office

I’ve also spoken before about the importance of organizing the work space and the home life to support telecommuting. My current office in Iowa, which come this August I will have used for twenty years, is a great example of superior home office space. It is spacious, light-filled, and designed for efficiency. The furniture, which I designed, is perfect as a workspace and for hosting the equipment to stand alone, though those requirements, too, have diminished over time. Apps and multi-function machines that scan and copy and print reduce the equipment footprint.

Mike's Home OfficeI am now in a phase where my client work is diminishing in relation to open-source work, research and writing. When my children were at home, I strictly adhered to treating my office as such, never eating in it or watching TV, for example. I now find I have relaxed many of those earlier restrictions. All of us, I think, have gotten much more used to a streaming lifestyle.

There are many efficiencies and benefits to working from home. Eliminating commuting time is an obvious benefit and not needing to keep disparate work locations (including home) synchronized is a hidden time saver. The ability to handle home maintenance and child supervision are tremendous benefits little discussed.

Social media, while broad and on the surface supporting of even greater interaction, seems to satisfy less than physical interaction, which requires travel of some nature when one telecommutes. I think to be a satisfied full-time telecommuter that one must have the right personality, and be disciplined and not overly needful of constant physical interaction. At the same time, to stay sane, telecommuters should also look to adequate travel to break beyond social media. While telecommuting has worked for me and my family, and now millions engage in it, I suspect only a minority are the right match to it.

The biggest benefit has been the flexibility to both pursue gainful work that I love and enjoy in environments great for my wife and family. We have a pace of life and cost of living that would be the envy of any knowledge worker on the coasts, if they ever stopped to seriously consider it. For me, working from home has been the ultimate in the work-life balance. I feel truly fortunate, while realizing I have missed out on the camaraderie and physical interactions of the enterprise worker. There are always trade-offs.

I, and my family, have been blessed to be able to live where the pace is reasonable and the costs still provide value. I do not mean to make it heroic, but it does take some moxie to just go out in the marketplace, hang the shingle, and put one’s skills on the bottom line. Telecommuting may not be the best path for all, but for those with the right skills and personality, the benefits can be manifest. I hope to enjoy this lifestyle for many years to come. Perhaps you may, too.

Posted by AI3's author, Mike Bergman Posted on May 13, 2019 at 9:17 am in Site-related | Comments (0)
The URI link reference to this post is:
The URI to trackback this post is:
Posted:May 7, 2019

UMBEL - Upper Mapping and Binding Exchange Layer KBpedia is a More than Capable Successor

After nearly a dozen years of active service, we are retiring UMBEL (Upper Mapping and Binding Exchange Layer) at the end of the year. UMBEL was one of the first knowledge graphs designed to help disparate content interoperate on the Internet. It was based on the (also now-retired) OpenCyc version of the Cyc knowledge structure. Its development and use heavily influenced and informed the KBpedia knowledge graph, an improved successor designed to also support machine learning and knowledge-based artificial intelligence, or KBAI.

As of this announcement, all further development on UMBEL has ceased. It will be formally retired on December 31, 2019.

While Fred Giasson and I are ceasing our roles as editors of UMBEL and are ending our support of its Web sites and code, we would also be pleased to transfer any rights to the system, including UMBEL’s Web addresses and intellectual property, to any entity that is willing to keep these resources active. There may be users that may want to see the continuation of the system for their own purposes. The specific resources available are:

Realistically, with the emergence of KBpedia, we do not anticipate these resources to be in demand; nonetheless, we would be pleased to discuss transfer of these assets. Please contact me directly if you are interested.

UMBEL has been a great source of learning and a basis for many of our customer engagements over the past decade. UMBEL helped point us the way to ‘super types‘, the importance of disjointedness, the essential need for broad alternative labels (‘semsets‘), and the importance of a modular architecture and typologies. It is with much friendship and thanks that we bid adieu to UMBEL and its users and customers.

Posted by AI3's author, Mike Bergman Posted on May 7, 2019 at 9:46 pm in Big Structure, Ontologies, UMBEL | Comments (0)
The URI link reference to this post is:
The URI to trackback this post is:
Posted:April 15, 2019

KBpediaNew Release Includes Manually Vetted Wikidata Mapping

One of the reasons for releasing KBpedia as open source last October was the emerging usefulness of one its main constituent knowledge bases, Wikidata. Wikidata now contains about 45 million useful entities and concepts (so-called Q identifers) and more than a quarter billion data assertions across scores of languages [1]. Many of the efforts undertaken for KBpedia’s open-source release and others since then have been to increase coverage of Wikidata in KBpedia [2]. With the release of KBpedia v 2.10, we have extended the mappings to Wikidata instances to more than 98%. We also have increased coverage of other aspects of structure and properties within Wikidata to very high percentages. In this version 2.10 release we also manually inspected all 45,000 mappings of KBpedia reference concepts to Wikidata instances, resulting in many changes and improvements. The quality of mappings in KBpedia has never been higher.

KBpedia, as you recall, is a computable knowledge graph that sits astride Wikipedia and Wikidata and other leading knowledge bases. Its baseline 55,000 reference concepts provide a flexible and expandable means for relating your own data records to a common basis for reasoning and inferring logical relations and for mapping to virtually any external data source or schema. The framework is a clean starting basis for doing knowledge-based artificial intelligence (KBAI) and to train and use virtual agents. KBpedia combines seven major public knowledge bases — Wikipedia, Wikidata,, DBpedia, GeoNames, OpenCyc, and UMBEL. KBpedia supplements these core KBs with mappings to more than a score of additional leading vocabularies. The entire KBpedia structure is computable, meaning it can be reasoned over and logically sliced-and-diced to produce training sets and reference standards for machine learning and data interoperability. KBpedia provides a coherent overlay for retrieving and organizing Wikipedia or Wikidata content. KBpedia greatly reduces the time and effort traditionally required for KBAI tasks.

KBpedia is also a comprehensive knowledge structure for promoting data interoperability. KBpedia’s upper structure, the KBpedia Knowledge Ontology (KKO), is based on the universal categories and knowledge representation theories of the great 19th century American logician, philosopher, polymath and scientist, Charles Sanders Peirce. This design provides a logical and coherent underpinning to the entire KBpedia structure. The design is also modular and fairly straightforward to adapt to enterprise or domain purposes. KBpedia provides a powerful reference scaffolding for bringing together your own internal data stovepipes into a comprehensive whole. KBpedia, and extensions specific to your own domain needs, can be deployed incrementally, gaining benefits each step of the way, until you have a computable overlay tieing together all of your valuable information assets.

Major Activities for Version 2.10

Almost all efforts related to KBpedia v 2.10 were focused on Wikidata, though, with their close alliance, many changes also were reflected to the Wikipedia mappings. As noted with the v 2.00 release, the first effort we had was to map Q items (IDs) that have much instance coverage, but were lacking in prior mappings. This attention resulted in adding a net 973 Q IDs to KBpedia. This number is a bit misleading, however, since in the manual inspection phases many duplicates were removed from the system (approx. 2100) and earlier mappings to category Q IDs (approx. 2700) were upgraded to their more specific Q ID instance. Thus, nearly 6,000 Q IDs are now different in this version compared to the prior version 2.00. Since many of the Q IDs also have a direct mapping to a Wikipedia counterpart, these mappings were updated as well. Besides incidental improvements to definitions, linkages and labels that arise when doing such inspections, which were also attended to whenever encountered, no further major changes were made to this newest release.

We are now in very good shape with respect to our mapping and coverage of Wikidata (with a similar profile for Wikipedia). Across a breadth of measures, here is now where we stand with respect to Wikidata coverage [3], with implementation notes provided in the endnotes section:

Wikidata Item No. Items No. Mapped Items Coverage [3]
Q IDs 45,306,576 45,882 00.1% [4]
Q instances 45,306,576 44,458,015 98.1% [4]
Q classes 2,493,795 2,312,116 92.7% [5]
Properties 5,910 3,970 67.2% [6]
P Statements 256,298,963 246,055,199 96.0% [7]
P Qualifiers 38,866,255 31,756,937 81.7% [7,8]
P References 24,582,259 20,121,794 81.9% [7,9]

One of the first observations that jumps out of the table is how relatively few mappings (~ 45 K, or 0.1%) are sufficient to capture nearly all (98%) of the instances contained in Wikidata. This is because a Q ID may be an individual instance or a parent to multiple instances. The KBpedia mappings focus on the parents, through which the individual instances may be obtained. By virtue of the additions and Q mapping improvements in this version, KBpedia has expanded its instance reach from about 30 million entities to now 45 million entities.

Another observation is that we are also capturing a significant portion of the structure of Wikidata (93%) as provided by the mappings to Q IDs with significant subClassOf connections (P279), which is where the taxonomy of the knowledge base is defined. A third summary observation is that we have similarly high levels of coverage to Wikidata properties. However, at present, this is the least developed area of KBpedia with respect to use cases or cross-knowledge base mappings.

A minor change, but useful to the KBpedia Web site, has been our downgrading of the OpenCyc and UMBEL mapped items. They are still mapped in the knowledge structure, but the Web site removes their links in order to highlight the most popular knowledge bases.

Despite these upgrades and enhancements, the coverage of KBpedia in my new book, A Knowledge Representation Practionary: Guidelines Based on Charles Sanders Peirce (Springer), remains current. The book emphasizes theory, architecture and design, which remains unchanged in this current new release of KBpedia. Also note that future areas of improvement were listed in the KBpedia v 2.00 release notice.

Getting the System

The KBpedia Web site provides a working KBpedia explorer and demo of how the system may be applied to local content for tagging or analysis. KBpedia splits between entities and concepts, on the one hand, and splits in predicates based on attributes, external relations, and pointers or indexes, all informed by Charles Peirce’s prescient theories of knowledge representation.

Mappings to all external sources are provided in the linkages to the external resources file in the KBpedia downloads. (A larger inferred version is also available.) The external sources keep their own record files. KBpedia distributions provide the links. However, you can access these entities through the KBpedia explorer on the project’s Web site (see these entity examples for cameras, cakes, and canyons; clicking on any of the individual entity links will bring up the full instance record. Such reach-throughs are straightforward to construct.)

Here are the various KBpedia resources that you may download or use for free with attribution:

  • The complete KBpedia v 210 knowledge graph (8.5 MB, zipped). This download is likely your most useful starting point
  • KBpedia’s upper ontology, KKO (332 KB), which is easily inspected and navigated in an editor
  • The annotated KKO (321 KB). This is NOT an active ontology, but is has the upper concepts annotated to more clearly show the Peircean categories of Firstness (1ns), Secondness (2ns), and Thirdness (3ns)
  • The 68 individual KBpedia typologies in N3 format
  • The KBpedia mappings to the seven core knowledge bases and the additional extended knowledge bases in N3 format
  • A version of the full KBpedia knowledge graph extended with linkages to the external resources (10.5 MB, zipped), and
  • A version of the full KBpedia knowledge graph extended with inferences and linkages (14.7 MB, zipped).

The last two resources require time and sufficient memory to load. We invite and welcome contributions or commentary on any of these resources.

All resources are available under the Creative Commons Attribution 4.0 International (CC BY 4.0) license. KBpedia’s development to date has been sponsored by Cognonto Corporation. We welcome suggestions for further enhancements or tackling your own improvements. Please let me know what ideas you may have.


[1] Useful mappings exclude mappings to internal Wikimedia sources (such as templates, categories, or infoboxes on Wikipedia and Wikidata) and scholarly articles (linked in other manners). There are about 45 million ‘useful’ records in the current Wikipedia based on these filters.
[2] ‘Coverage’ is understood to be the percentage of useful instances in a source knowledge base to KBpedia that are actually mapped to a specific KBpedia reference concept or property. These source instances are not included in the KBpedia distribution. They are accessed from the source knowledge base directly. Manipulation of the KBpedia knowledge graph results in the identification of this external source data.
[3] The number of items shown for Wikidata does not reflect the total items on the service, but only those that are useful and relevant after administrative categories and such are removed.
[4] See the text where we describe how choosing to map appropriate structural nodes in Wikidata, which themselves have many child instances, leads to large percentage coverage of all available instances. Instance relationships are obtained from the P31 Wikidata property. The Q IDs were obtained from a Feb 19, 2019 Wikidata retrieval.
[5] Like the instance (P31) retrievals, the subClassOf (P279) data was obtained by a SPARQL query to the Wikidata query endpoint. Try it!
[6] The properties data was obtained from the SQID Wikidata service on April 4, 2019. Note, if you try this link, be patient for all of the data to load.
[7] A Wikidata statement pairs a property with a value for a given entity. It is equivalent to an assertion. It is the most basic factual statement in Wikidata.
[8] Wikidata qualifiers allow statements to be expanded on, annotated, or contextualized beyond what can be expressed in just a simple property-value pair.
[9] Wikidata references are used to point to specific sources that back up the data provided in a statement.
Posted:April 9, 2019

A Knowledge Representation Practionary$25 to SpringerLink Subscribers

After resolving some technical glitches, Springer has finally made available my new book, A Knowledge Representation Practionary: Guidelines Based on Charles Sanders Peirce, in paperback form. The 464 pp book is available for $24.99 under Springer’s MyCopy program.

MyCopy is available to SpringerLink subscribers who have access to the computer science collection. Most universities and larger tech firms and knowledge organizations are current subscribers. You should be able to login to your local library, go to SpringerLink, and then search for A Knowledge Representation Practionary. If you are a qualified subscriber, you will see the image to the right on the results page.MyCopy Banner (If you are not a subscriber, you should be able to find a friend or colleague who is and repeat this process using their account.) After choosing to buy, you will be guided through the standard transaction screens.

As Springer states, “MyCopy books are only offered to patrons of a library with access to at least one Springer Nature eBook subject collection and are strictly for individual use only.” 

Though only printed in monochrome, my figures render well and the quality is quite high. The cover is in color and the paper quality is high. I waited to get a copy myself before I could recommend it. I think the overall quality is quite good.

To learn more about my AKRP book, including a listing of the table of contents, see the initial announcement. Also, of course, Springer subscribers have access to the free eBook, and hardcopy and other versions are available. Unfortunately, I think prices are unreasonably high for non-Springer subscribers. Please let me know if you need to find a cheaper alternative.

BTW, if you read and like my book (or even otherwise!), I encourage you to provide your rating to Goodreads.

Posted:March 24, 2019

KBpediaAfter First Twitch, How to Learn More About KBpedia

My last installment in this introductory series to KBpedia discussed loading the main knowledge graph into an editor for inspection and navigation. I characterized this look as a ‘first twitch.’ Now, I’d like to accompany that view with a walk around KBpedia to gain more perspective on its use and purpose.

The standard introduction to KBpedia on its Web site states:

KBpedia is a comprehensive knowledge structure for promoting data interoperability and knowledge-based artificial intelligence, or KBAI. The KBpedia knowledge structure combines seven ‘core’ public knowledge bases — Wikipedia, Wikidata,, DBpedia, GeoNames, OpenCyc, and UMBEL — into an integrated whole. KBpedia’s upper structure, or knowledge graph, is the KBpedia Knowledge Ontology. We base KKO on the universal categories and knowledge representation theories of the great 19th century American logician, polymath and scientist, Charles Sanders Peirce.

KBpedia, written primarily in OWL 2, includes 55,000 reference concepts, mapped linkages to about 32 million entities (most from Wikidata), and 5,000 relations and properties, all organized according to about 70 modular typologies that can be readily substituted or expanded. We test candidates added to KBpedia using a rigorous (but still fallible) suite of logic and consistency tests — and best practices — before acceptance. The result is a flexible and computable knowledge graph that can be sliced-and-diced and configured for all sorts of machine learning tasks, including supervised, unsupervised and deep learning.

So, short of loading and implementing the system locally, let me outline the online resources that can help explain KBpedia more.

One Kind of Demo

One of the uses — among potentially dozens — of a controlled vocabulary is to tag content for consistent characterization and categorization. In the example below, found off of the Demo link on, I have submitted my last introductory blog post on KBpedia to the online demo system:

Main Demo Screen

Figure 1: KBpedia Demo Screen

The tagger uses the 55,000 concepts in KBpedia to tag content. One can also see a listing of entities and various analysis of the content. A general tutorial covers the use and interpretation of the online demo function.

Explore the Knowledge Graph

The main online resource for KBpedia is the knowledge graph itself. The knowledge graph may be navigated and searched, including with advanced search functions. The basic knowledge graph is organized under the upper-level KBpedia Knowledge Ontology, or KKO. KKO is itself organized according to about 80 typologies of similar concepts and entities, mostly organized as being distinct from one another. The high-level view of this knowledge graph is shown by:

Upper-level Typologies of KBpedia

Figure 2: Upper-level of the KBpedia Knowledge Graph

There are two detailed use guides and tutorials governing how to navigate and search the graph. The first is How to Use the Knowledge Graph and the second is Knowledge Graph Search. These provide insight into the various capabilities of the online knowledge graph and its search functions.

Check Out the Use Cases

Of course, tagging is not the only function available for leveraging the KBpedia knowledge graph. Remember, the three principal purposes for KBpedia are to support general knowledge management; to aid data interoperability; and to be a foundational basis for knowledge-based artificial intelligence (KBAI). These purposes are described more fully in a series of use cases.

Knowledge Graph

These are the KBpedia use cases related to the use and browsing of the knowledge graph:

Machine Learning Use Cases

KBpedia, combined with your own schema and data, can provide a nearly automated foundation for creating trainng corpuses and training sets for deep learning, unsupervised learning, and supervised learning. Further, these same selection capabilities, combined with the logical basis of the KBpedia knowledge graph, also aid the creation of reference standards. Reference standards are essential for tuning analysis parameters to obtain the best results for your tagging or categorization efforts. Tuning parameters are integral to most forms of natural language processing and for supervised learning.

Mapping Use Cases

Mapping is an essential consideration for two reasons. The first rationale for mapping is to create a consistent and coherent knowledge structure over which to reason and conduct machine learning. The second rationale is to consolidate local information resources, what is known as data integration. The easiest way to meet both of these rationales is to leverage off an existing knowledge structure, which itself is already proven to be logically consistent. This is the role that KBpedia plays. When extended with your local concepts and terminology, your enterprise extension of KBpedia now itself becomes a consistent structure for learning, tagging and categorization. Here are some of the current use cases published for KBpedia relevant to mapping:

Learn More

The Resources tab on the KBpedia Web site provides additional documentation on the system. Specifically, under Additional Documentation are these useful sources:

Upon review of the materials above, you should be well-armed to understand more about KBpedia and its purposes. Beyond these online resources, the next steps are to download and install the system and begin work with it!