Does anyone have experience with the idea of using Loglan or Lojban as the language for humans to 'talk' with AI, rather than using a natural human language? I recently watched an interview with AI expert Ben Goertzel discussing this concept, and it was intriguing.
I read your first sentence and was about to respond with a link to Goertzel's paper ;) As far as I know, no one else has worked on this (and at this point it's mostly a brain-fart idea from Goertzel).
This is a personal area of interest for me, but in a slightly different way. Modern AI and AGI research has shown that first-order predicate logic (which underlies Loglan/Lojban) is unlikely to be a complete formal framework for rational thought. I am very much interested to see what a language would look like that was instead based on, e.g., probabilistic graphical models. And then see that applied to human-machine communication.
Interesting. Can you share any more resources or thoughts on the ideas you mention? (Incompleteness of first-order predicate logic and a language based on PGMs)
No, because it's mostly a musing from me, although something I've been thinking about for a long time. I mention it mostly in the unlikely hope that someone runs with it and implements it, cause it'd be something I'd love to use but probably never have the time to make.
Hrm. Complete was probably the wrong word. First order logic is complete in the mathematical sense that it can be used to represent and solve any problem, but the issue with AI / AGI is one of practicality. First order logic suffers from term explosion on any non-toy problem, leading to the need for higher order logics (of which there are many), and/or integration with other kinds of systems to manage that complexity. First order logic is also not probabilistic, and dealing well with uncertainty is a hallmark of natural language. Most AGI logic systems are not first order logic, although you can implement FOL in such systems. So better summarized my research question is basically "Practical AI systems need tools beyond what first order logic provides to represent thought. I wonder what would result from applying these extra tools to a logical conlang?"
My intuition is that the right way to approach this is to ask "What would a conlang based on probabilistic graphical models look like?" The reason being that PGMs are the underlying theory for most modern approaches to concept representation and knowledge databases. Examples of PGMs are Bayes nets, Markov random fields, and restricted Boltzmann machines, aka the state of the art in modern neural networks. PGMs also underlay to a more limited degree many probabilistic concept network formulations, including the atomspace of OpenCog.
So what would a PGM-based conlang look like? I'm not sure actually, but I can tell you it probably wouldn't look much like Loglan / Lojban. It'd be easy to represent any Lojban sentence in this hypothetical PGM language, using the "first order dialect," but the converse is probably not generally true.
The other day, I ran across this in a Yudkowsky article[1]:
> Suppose that earthquakes and burglars can both set off burglar alarms. If the burglar alarm in your house goes off, it might be because of an actual burglar, but it might also be because a minor earthquake rocked your house and triggered a few sensors. Early investigators in Artificial Intelligence, who were trying to represent all high-level events using primitive tokens in a first-order logic (for reasons of historical stupidity we won't go into) were stymied by the following apparent paradox: [.. snip ..] Which represents a logical contradiction, and for a while there were attempts to develop "non-monotonic logics" so that you could retract conclusions given additional data.
Thanks for this, though I may not be fully comprehending. If earthquakes can set off burglar alarms, and if burglars can set off burglar alarms , why would there be no -|ALARM->EARTHQUAKE theorem? Understandably the ALARM is for detecting burglars not earthquakes, but it does function as a detector for both.
It doesn't function as a detector for both, it functions as a detector for either. I'm not being pedantic, there is a subtle difference. ALARM -> EARTHQUAKE is false: the correct theorem is ALARM -> (EARTHQUAKE | BURGLAR). If the alarm goes off then you have no certain knowledge about which one caused it, only probabilities.
It would seem that an additional source of information (e.g. a nearby seismograph bolted to bedrock) would be the solution to this problem. This is analogous to a blind person trying to identify whether a sound is a recording or the Real McCoy. The solution is to either somehow make him able to see or to allow him to use some other sense (e.g. touch) by which to measure the origin of the sound. If he hears a dog barking, then if he sees/feels a dog, he is almost completely assured [0] that it is a real dog that was barking and not a recording playing from a machine.
Thus, adding another sense (a seismograph and sightedness/touch, respectively) would seem to eliminate the problem. If this is correct, then such problems are more ones of a lack of relevant, heterogeneous information and less of a lack of logical expressiveness of probabilities.
[0] = I say "almost", because knowledge is a fundamental philosophical problem. The usual means to "almost" assurance is, as I am arguing, to employ more heterogeneous sources of information until the only logical alternatives to what you believe are absurdities (e.g. impossible).
For an English speaker, studying Lo[gj][lb]an is like taking a dive from C++ into APL or Haskell. There are whole new ways of representing expression. This is why they are not to be compared to Esperanto, whose syntax is deliberately familiar to speakers of European languages, while Lojban's is aggressively different.
Consider "conversion" which produces the effects of "passive voice" in English, and more[1]. Inserting a particle converts
mi tavla do la javas (I speak to you about Java)
do se tavla mi la javas (you are-bespoken by me about Java)
la javas te tavla mi do (Java is spoken-about by me to you)
Or the possibly overcomplex but rather amazing tense system[2], which allows things such as:
mi pu zu ba'o tavla do la javas (I long ago finished talking to you about Java)
mi ba reroi do tavla la javas (I will two times talk to you about Java)
I studied Lojban (http://lojban.org) a bit out of curiosity many years back (in High School in a deep CONLANG phase), which is a fork of Loglan. I'll speak from the point of view of Lojban, as I know it better, but the fork doesn't fall far from the root so it should all mostly apply to Loglan as well.
Essentially, Lojban and Esperanto come from different intentions: Esperanto wanted to be a common tongue that speakers of various natural languages could learn relatively easily and use for multicultural communications. Loglan and Lojban were started as experimentation around the "Strong" Sapir-Whorf Hypothesis that language influences mental structure. The goal of these languages was then to see if people used a language with more formal mathematical rigidity/"logic" to it might more easily "think" as better mathematicians. The jury is still out, of course, on whether any of these languages actually do what they set out to do.
Essentially, the concept of Lojban/Loglan is kind of a "What if people actually spoke a natural language that was very similar to a programming language?" (Loglan actually predates most programming languages, and Lojban incorporated some things from programming languages over time.)
From that respect, the grammar of Lojban is stringently less complex than most natural grammars (and Esperanto). There's an official PEG [Parsing Expression Grammar] specification of Lojban these days and Lojban has worked very hard to keep the language grammar Context-Free (in the Chomsky's Hierarchy/Computational Parsing sense). The language's grammar is much more like a programming language than a natural language.
As for the consonant clusters, even the morphology of the words follows a fairly strict parsing pattern. For the most part when reading Lojban/Loglan you only need to pronounce three letters at a time. (This is part of the play in the name LOGical LANguage of the three letter syllable pattern in the language itself. Lojban uses the language's own symbols in its case.)
Is there a benefit to Loglan or Lojban over Esperanto? Ultimately I think it's a matter of whether or not there is a benefit of Apples over Oranges: it's more a matter of your particular taste and what you want out of a conlang. They are all beautiful languages trying to do interesting things.
> Loglan actually predates most programming languages
Indeed the Scientific American mention of Loglan was 1960 -- after the invention of Cobol, Fortran, and Lisp (and 50's crud like autocoder), but before most everything else.
Probably most hear of it for the first time from its prominent mention in Heinlein's Hugo Award-winning "The Moon Is A Harsh Mistress", where it is the "language" used to program the strong AI that is a major character.
I ran a Loglan study group in college, and later studied Lojban, before abandoning conlangs (when I discovered that the strong version of the Sapir Whorf hypothesis is misguided at best -- although conlangs can be interesting for other reasons).
> Is there a benefit to Loglan or Lojban over Esperanto?
I am no longer so sure that the case is any different for conlangs than for natural languages.
If I ask if there's a benefit of French versus Mandarin, people will chime in with their personal favorites and rationalizations for why one is better than the other, but objectively they are both very fine languages for literature and poetry.
«I ran a Loglan study group in college, and later studied Lojban, before abandoning conlangs (when I discovered that the strong version of the Sapir Whorf hypothesis is misguided at best -- although conlangs can be interesting for other reasons).»
Not to get into too much of a tangent, but the Weak Sapir-Whorf is still an interesting view of things, where if it is easier to speak about something it is easier to work with it. I think Programming Languages bear this out over and over again (Programming Languages are very much a Sapir-Whorf playground). We have the Church-Turing Theorem and know that any Turing Complete language should be able to write just about any program one can reason about, but the fascinating thing is that different languages do seem suited to different domains and we keep trying to optimize programming languages to reason about particular problems, and all of that is fascinating.
It's something we do in the miniscule in natural languages too, with jargon and domain-specific vocabulary and context. I think domain-specific conlangs is an under-explored space, and maybe modern Programming Languages have some interesting input to provide...
They have nothing in common except being a language.
Esperanto is an indo-European conlang designed to be as easy to learn as possible. As such, it borrows vocabulary from as many languages as possible--which, due to when it was made, really means "as many languages in western Europe as possible, plus Polish and Greek"--and has a deliberately simple, minimalist (by spoken language standards) grammar.
Loglan, like the more famous Lojban that's inspired by it, attempts to make it possible to speak in a completely unambiguous way. It makes no attempt to be easy to learn and is not designed for casual conversation, although people certainly try. I have no idea why you would learn Loglan over Lojban, since the former has had a couple of copyright feuds with people trying to follow the language and has a much smaller community.
The copyright feuds belong to an earlier era, when the original Lojban founders forked the language. Things are a lot more open now, and there is a degree of cooperation between the two conlang projects.
Loglan does make an attempt to be easy to learn in that its basic vocabulary words are inspired by words from eight of the world's most-spoken languages. For example "blanu" comes from English "blue", German "blau", and Chinese "藍lan".
I think Lojban also subsequently ran some software to produce some kind of similarity score for creating vocabulary similar to the most-spoken languages. For example
I don't know whether the original Loglan project to do this relied only on human creativity or also on software (and whether Lojban used a human editorial step after the software step).
> I don't know whether the original Loglan project to do this relied only on human creativity or also on software (and whether Lojban used a human editorial step after the software step).
I no longer recall whether Loglan used software for its derivations, but it hardly matters -- both Loglan and Lojban had very similar goals and methods here (although naturally Lojban always tried to improve on the forerunner, Loglan).
I encouraged Lojban to normalize to something that could be handled by yacc(1). That turned out to be complicated, although I recall that that goal was at least nominally met.
Esperanto definitely has indo-european origins, however it's worth pointing out that native speakers of asian languages still find it drastically easier to learn compared to, for example, English.
China, in particular, holds a very notable percentage of the Esperanto community. Esperanto's vocabulary doesn't do them any favours, but the grammar and syntax is relatively easier for them to pick up than most western languages. The vocabulary itself is very small and easy to memorize, since most words are based on combining words.
In Lojban, sarcasm is denoted with attitudinals such as je'unai, which marks the statement as a logical contradiction, and/or zo'o, to mark it as humour and/or ianai for disbelief.
Certain kinds of ambiguity are quite plausible with Lojban, for example, unlike in English, you don't have to specify that a countable noun is singular or plural if you don't want to. You can, however, easily distinguish between ideas like 'the stereotypical rose is red', 'the majority of roses are red', or 'the roses we are discussing are red', which can get clumsy in English
I don't know how well it works in a conversation. (They don't allow for any ambiguities at the parsing level, although they say that the cultural scope, meaning, or connotation of a concept can be different for different language users.)
2. A classic example of ad hominem fallacy is
given below:
A: "All murderers are criminals, but a thief
isn’t a murderer, and so can’t be a criminal."
B: "Well, you’re a thief and a criminal, so there
goes your argument."
OK, first of all, A's argument is terrible. He's asserting that all murderers are criminals, but to support the second half of his argument he really needs "all criminals are murderers". But the issue here is B's counterargument, so I'll let A get away with that.
How is this an ad hominem fallacy? B is not trying to discredit A's argument by appealing to a logically irrelevant characteristic of A. Rather, B is using A as a counterexample for A's argument. If instead B's argument was:
B: "Well, C over there is a thief and criminal,
so there goes your argument."
that would clearly not be an ad hominem. C provides an example of a person who is both a thief and criminal, which is a class of people that A claimed could not exist.
I see no logical reason that a person cannot serve as a refuting counterexample to a claim that they themselves made. If B had said:
B: "Well, the jerk store called and they are
running out of you, so there goes your
argument."
that would be an ad hominem, because B is trying to get us to not believe A's argument because of the irrelevancy that the jerk store does a brisk business in A.
Another example to illustrate my point. Suppose A is a woman.
A: "Women do not fart."
(A then at once lets fly a fart as great as
if it were a thunder-clap, and B is nearly
blinded with the blast)
B: "That's not true. You just farted!"
Would literarydevices.net claim that this is an ad hominem fallacy?
My take on this is that you are adding common sense, rather than sticking to what is given:
> How is this an ad hominem fallacy? B is not trying to discredit A's argument by appealing to a logically irrelevant characteristic of A. Rather, B is using A as a counterexample for A's argument.
But it's not a counterexample. It would be if someone had said thieves are criminals, but no one did. We only know that from common sense outside of the syllogism.
Therefore the statement "YOU are a thief and a criminal" is a simple assertion without evidence within the givens, and making such a statement about the debating opponent and then concluding they are therefore wrong ("there goes your argument") is in fact a solid example of ad hominem.
I strongly agree that this is a poor example of one, because it allows the sort of confusion that you point out -- it's just not literally wrong.
As a footnote (and certainly not aimed at you), a very large number of people who forgot their high school lectures about "ad hominem" use the term to mean any personal attack or criticism, which I find exasperating at best.
Such mis-usage isn't just language evolution in action, it is misunderstanding rhetorical concepts over 2000 years old, first stated in Greek and then Latin, and quite language independent.
To interject, to me it seems that it is actually a counter-example, and I do not follow your reasoning. (A)'s argument is that murderers are criminals, but thieves are not murderers, and therefore cannot be criminals. The lack of logical validity of that argument aside, (B) refutes it instead by providing (quite literally) a counter-example: (A) is both a thief and a criminal. Therefore, if (B)'s assertion is true, (A)'s argument cannot be correct, for if it were correct, then (A) could be a thief or a criminal, but never both.
Since this is a logical argument, it prejudges the matter to conclude that the standard of evidence required for (B)'s assertion should be any different than that for (A)'s assertion. We know (A)'s assertion to be false without any extra information. If there were external details of evidence that could be introduced, then (A)'s assertion would still be false. (B)'s assertion, however, might then still be either true or false, depending on the extra lemmas. As the example does not make additional information necessary and does not mention additional information, it is an error to arrive at an interpretation in which additional information is required to make sense of the matter. (One can always arbitrarily arrive at such an interpretation.)
Take a look at loglan, lojban out of curiosity if you want to.
If you want to spend effort and learn them, reconsider learning "normal" foreign language that comes from another language family. Even if potentially using Loglan/Lojban you might be able to phrase relationships in ways that your native language does not allow, chances are, that you are merely transpiling your native language into loglan.
If you learn a foreign language, you will be confronted with material and native speakers of that language, eventually this means that you are faced to learn their concepts and perception of the world. Think about learning a language that is not from the same language family as yours, or at least try to find a language that conceptionally has differences.
For all speakers of european languages (English, Romance languages, Welsh/gaelic, Slavic languages), I highly recommend learning Turkish for that matter. It is kind of a logical language in the sense that it has a strong emphasis on grammar and regularity. It is spoken by a whole bunch of Turkish expats all over the world.
It's been many many years since I ran in conlang circles, so I had to refresh my memory:
> designed to express deeper levels of human cognition briefly yet overtly and clearly, particularly with regard to human categorization. Ithkuil is notable for its grammatical complexity and extensive phoneme inventory.
Just yesterday I was wondering how to send an array to someone (another human).. then realized that we used pointers all the time! Ala "Hey, look up the book called X on page Y" or "Go to street ABC and house 123"
Yes Loglan can be the official language of our libertarian Seastead Utopia where your status is determined by the aggregate of your HN and reddit karma.