The aim of HyperKnowledge is to define a data represention for the individual and collective understanding of complex issues. As a data representation, it should enable an ecosystem of collective intelligence tools to enrich one another's data. As a human-facing representation, it should enable visualization of and interaction with nuances of meaning. As a social process, it should be usable on a massive scale. To accomplish those aims, it needs to:
- Allow cross-reference between informal natural language and more formal representations of knowledge
- Represent higher-order statements about statements, belief, and interpretation
- Handle the natural ambiguity of reference. Words or phrases can refer to a variety of concepts, which are in turn referred to in many ways. Interpretation of language is a continuous triangulation on concepts
- Recognize that concept references are in constant renewal: concepts are continuously evolving through the very process of communication, both at the individual and collective levels
- Concepts must be anchored both in individual voice and social communities
How do we intend to accomplish this?
On the one hand, a model of conversations as event streams of statements. Streams are maintained by individual or collectives to represent their views, and would be decentralized and federated. The statements may be natural language or a (frame-based) formalization. It is possible to propose a reinterpretation of a statement as a different (ideally more formal) statement; this is a way of asking "Did you mean ...?" The first step of formalization is identifying concept references in statements, using concept identifiers that are meaningful to the statement's author (natural language phrases, or data references such as RDF IRIs, etc.) The statement as a whole is a higher-order concept, possibly following a known concept schema.
On the other hand, a model of the universe of shared meaning in the form of a dynamic concept lattice, based on formal concept analysis. Individual or community maintainers of statement streams also maintain a mapping of the underlying concept identifiers to a position in that concept lattice. Each node of the lattice corresponds to a distinguishing statement: concepts that either fit the distinguishing statements or its negation are put under that node of the lattice. The lattice is dynamic in that one can always propose new distinctions, new nuances splitting a term in sub-variants. When this happens, stream owners using that concept would be made aware of the new distinction, and would refine the concept mapping accordingly. In many cases, in a given stream, where a given subculture is discussing, one of the variations was intended all along by most participants, and the mapping can be done globally. However, the distinction might be meaningful in that community, which would need to revisit old statements to take the nuance into account. As this percolates in the federation, we expect many misunderstandings to become explicit, and efforts can be made to resolve them. (Note that the point is not necessarily to resolve disagreement, but misunderstandings prior to disagreement.)
People who follow Conversence work may notice a high-level similarity with IdeaLoom; the goal is to connect conversation through the identification of ideas and idea patterns in those conversations. Indeed, HyperKnowledge was designed with the same goals in mind, but also an acknowledgement that a global conversation is too complex to fit into a single data structure visualization, and we need a way to compare and unify curated partial views. We are also involved in parallel efforts: One of them is SenseCraft (with TopicQuests), a conversation game which in which people can learn skills for thoughtful civil conversations. In particular, we want them to learn to listen for the patterns in other player's contributions, so they can read and contribute to conversation maps, and eventually HyperKnowledge maps of diverse viewpoints which could be composed at scale. Another set of efforts involves assisting people to extract concepts and concept structures from natural language; both using traditional NLP (OpenSherlock, also with TopicQuests), and ClaimMiner using prompt engineering (with SocietyLibrary.) We are also discussing the structure of argument maps with colleagues at the Canonical Debate Lab.