My implementation of conceptual spaces

As stated earlier, the goal of my PhD research is to develop a system that can autonomously learn useful concepts purely from perceptual input. For instance, the system should be able to learn the concepts of apple, banana, and pear, just by observing images of fruits and by noting commonalities and differences among these images.

So far, I have mainly been talking about the conceptual spaces framework and how we can mathematically formalize it. However, as I want to actually end up with a running system, I need to implement my formalization in a computer program. So in today’s blog post, I’d like to introduce my implementation, which is publicly available: https://github.com/lbechberger/ConceptualSpaces

Imprecise concept boundaries with fuzzy sets

In my last blog post, I explained the underlying idea of my formalization of the conceptual spaces framework. At the end of the text, I made the remark:

There’s one little detail left, and I’ll cover it in my next blog post. It is the problem of imprecise concept boundaries.

This problem is probably best explained by an example: Suppose we would like to define the meaning of “tall person”. Let’s say we call everybody who has a height of at least 1.80 m “tall”, and everybody below this threshold “not tall”. Why is this problematic?

Formalizing Conceptual Spaces With Simple Star-Shaped Sets

In the last two blog posts (see here and here), I have described the problem I address in my paper “A Thorough Formalization of Conceptual Spaces” [1]: Convex regions in a conceptual space are unable to encode correlations between domains. I have furthermore argued that star-shaped regions are a possible solution to this problem.

In this blog post, I would like to illustrate the basic idea of my formalization. I won’t address the underlying math too much (whoever is interested can check out the paper), because my main goal is to give you some intuitive understanding of what’s going on.

The question that was still left open last time is the following one: How exactly can we represent star-shaped regions in a conceptual space?

Star-shaped regions can encode correlations

So in the last blog post, I argued why it is not a good idea to use convex regions for representing concepts in a conceptual space – we are not able to represent correlations between domains. This time, I will show you how star-shaped regions can save the day.

But first of all, what does “star-shaped” mean in this context?