11 Comments
User's avatar
Len's avatar

If you want to build some useful application, then speculations about what is possible in principal is not enough. If you just want to push forward some ideas, then you must start from some known ideas about meaning and reference, to avoid many previous failures. You seem to be trying to apply unproven ideas to create algorithms based on your intuition and handful of examples. You may succeed by accident only. But you chances are extremely low like those of Leonardo Da Vinci designing a flying machine (he tried and failed to design helicopter and submarine because he had no ideas to build on)

I can only wish you good luck.

Expand full comment
Len's avatar

First, you need to disambiguate "cold" which could refer to sex appeal. In your example, she could be frigid, not freezing.

Second, a class hierarchy had to exist before you navigate it. And it is not necessarily a hierarchy (aka taxonomy), but more likely a conceptual lattice. How do you construct it and maintain it?

Third, where do you get properties from? If you have a fixed list of properties with definite descriptions like "person I care about", then you subscribe to a descriptive theory of reference which has paradoxes like a famous Frege's paradox that led to development of various theories of meaning. See https://plato.stanford.edu/entries/meaning/#TheoRefe

Expand full comment
Alexander Naumenko's avatar

Disambiguation relies on context. It is easier in person when there are additional signals. In text, it is more difficult but still possible. Take a look how it is used in the "visiting relatives" example.

Constructing hierarchies is tricky, yes. Existing dictionaries will need to be converted into a suitable format plus we will require to add proper knowledge formulas to connect properties to each other. But this is not "far from solved".

Properties will come naturally when we will organize dictionary definitions of words - that is why it is important to switch focus from objects and actions to properties and express the former in terms of the latter. It does not have to be an exhausting list. Just those 5000 words plus definitions of other words using those basic ones.

I view conversation as information transfer. If I want to refer to a person in a crowd so that you can identify that person exactly, I will pick as many references as needed - "boy", "in a blue shirt", "red hair", "on the left", etc. Humans err, so I may provide not enough references and you will then ask additional questions, or I will restrict references too much and no one will match, and you will suspect that I was wrong somewhere. Approaching meaning practically, I allow for mistakes and prepare for their resolution as well.

In addition to the person in a crowd example, consider an opposite situation - a person describes one's pet so that the other person could NOT guess whether it is cat or dog. Which properties will be used? "four legs", "can run", "makes noise and mess", etc. Why are those unhelpful in disambiguation? Because they do not narrow down the set of available candidates.

Expand full comment
Len's avatar

Do you realize that "sentence formulas" (aka surface forms) are just that - the surface of language? It does not include any deeper syntactic, semantic or pragmatic phenomena. It is also well-studied, as I mentioned, in a form of typed lambda calculus. On the other hand, you also appeal to property-value pairs (aka tuples). But real distinction is type vs token, and it requires some strict type constraints to work. As for a set algebra, you should read about Russel's paradox that he discovered analysing Frege's proposal back 19th century.

Expand full comment
Alexander Naumenko's avatar

A girlfriend says to a boyfriend on a date "I am cold." First stage, "pronoun verb adjective". Second stage, SVC. Third stage, meaning resolution, I resolved as "girlfriend", "cold" is resolved as "freezing". Fourth stage, pragmatic knowledge is employed, "if a person I care about mentions inconvenience, I should offer help with that."

Knowledge is stored as formulas with resolved meaning where references point to the top of some class hierarchy. Girlfriend can be generalized to "person I care about" just like "brother". So property "person I care about" has values "friend", "relative", "respected person", etc. Girlfriend will generalize to friend first, "brother" to relative.

I am not building a set theory, so Russel's paradox does not apply, I only use some set operations. "Just business" you may say.

Expand full comment
Len's avatar

Even if you perform syntactic, semantic and pragmatic analysis separately, how would you reconcile its results? Do you mean to say that you have a "master algorithm"? And if you do, how would you know that it is tractable? There are many problems that have algorithmic solutions but are not tractable to this day. The most relevant one is the bayesian factorization which makes probabilistic graphical models intractable without very strong assumptions. And if you make those assumptions or any other assumptions, then your "solution" must have limitations. If you have a clear understanding of these limitations, then may be I can help you.

Expand full comment
Alexander Naumenko's avatar

I believe we reached the point when a conversation would come in handy. Looking back, I agree and can confirm that there are many "moving pieces" to the algorithm, some of them are only sketched for now, and a critical assessment and help with fleshing them out will be of immense importance to me. Looking forward to our collaboration.

Expand full comment
Len's avatar

What you described is similar to application of typed lambda calculus to natural language which was attempted by many researchers in the past. But it wasn't up to the task. A more sophisticated approach was proposed as well https://www.researchgate.net/publication/315656044

Expand full comment
Alexander Naumenko's avatar

Thank you for the very first comment!

I envy people, who can throw that much math into a paper! I could not express my ideas in that form even if I tried. Instead, I wanted to make this stuff as simple for understanding as possible. Sorry if I failed at that.

I am grateful to you for comparing my approach to a sophisticated one. But I will have to admit that my approach is different. First, I do not use vectors of co-occurrence statistics to establish meanings, God forbid. Second, I treat nouns, verbs, and adjectives differently, I will not reiterate my ideas here. There are also many other differences.

I will try to express my ideas more clearly - your questions will help a lot. If you agree, I would like to write a paper together, in which you will do the math and I will explain exactly what I propose. Deal?

Expand full comment
Len's avatar

My point was not that your approach is the same, but that other people were trying to use symbolic approaches recently, as opposed to GOFAI, and they also understood that functions with variable binding (types) are required, hence typed lambda calculus. They also, most recently, realized that co-occurance of words is a pure proxy to their meaning, hence multiple conceptual spaces, as opposed to a single embedding space. The verbs are also treated differently using subject-verb-object triples in knowledge graphs (and corresponding graph embedding spaces). The problems is that the word disambiguation (including verb vs. noun vs. adjective vs preposition etc.) is not a trivial task as you seem to suggest. Even more difficult is to disentangle syntax and semantics, as it is entangled on different and encapsulated levels. This is why you need to apply some symbolic logic to extract that topology vs simple geometry of embedding spaces. There were many efforts in that direction as well. Without some mathematical analysis, it is simply impossible to "solve AI" (if possible at all). I worked on that for 30 years and you need more than natural language understanding - you also need categorical perception and meriology (a kind of ontology) construction on top of statistical analysis, such as probabilistic graphical models and logic programming. What you are attempting was done in the early days going back 19th century and Montague's efforts to develop a formal logic semantics of natural language (which ultimately failed).

Expand full comment
Alexander Naumenko's avatar

Disambiguation becomes trivial with one simple trick. I have clear understanding how to perform syntactic, semantic, and pragmatic analysis one by one. I don't do perception but the described principles apply there as well.

Expand full comment