Everything's a graph

My name's Eric. Welcome to my blog.

Language is a graph.

September 29, 2023

You're probably familiar with the following representations of language.

Sentence diagram
A sentence diagram; reproduced from Wikipedia
Attention is all you need
Reproduced from "Attention is all you need"; Vaswani et al. (2017)

The sentence diagram is a classical representation of language. It's a graph, where the nodes are words or clauses (roughly) and the edges are syntactic relationships. On the other hand, the notorious figure 1 from "Attention is all you need" represents language using a graph in an entirely different manner.

Now that I've provided a bit of obligatory evidence for this blog post's titular claim, I'll go a step further and claim that both are crucial, not just for understanding language itself, but for learning a language.

Introducing ChatMoshi

ChatMoshi is a language learning app I've been cooking on the side burner for a couple months now. It's a voice-enabled LLM wrapper equipped with the structure, prompts, and data required to reinforce and expand human skill in second languages. That is, it's an app that helps you learn to speak your target language by speaking it.

It's also a graph, as the no-code folks will no doubt point out, but perhaps that's another blog post.

What's it look like?

ChatMoshi app preview
This is what the main chat screen looks like.

Once you've logged in, all you have to do is press "Start" to jump into a session. Right now, the app is in open beta, so anyone can try it - for free of course - but don't expect tomorrow's version to be identical to today's. I'm still in the process of assembling the core features, fixing (and creating new) bugs, and responding to user feedback.

In fact, today I'm releasing the v23.9.4 version of the app, which includes vocabulary extraction. Along with the existing chat capabilities, this enables ChatMoshi to show you new ways to use words you already know, fill in gaps, and learn new words. All in the context of a casual conversation.

What does linguistics have to do with this?

Briefly, even a first order approximation to a sentence diagram (that is, an explanation of nouns, verbs, and other parts of speech) is fundamental in learning a new language after you're 10 or so. With a little systematic study, you're much better prepared for new vocabulary and new sentence structures. Crucially, this is what I'm trying to do with ChatMoshi - bridge the gap between reading-the-textbook studying and jump-in-the-deep-end immersion.

Isn't there DuoLingo already?

Yes. And they're incredible. But after more than 100 days on their app, I found myself missing something. For one, they don't have speaking practice in Japanese - which is one of my target languages. For another, the speaking practice they did have in Spanish was rote. I wanted to be able to have a conversation, not just repeat the same sentence over and over.

It's not clear that any alternative was even possible before LLMs burst onto the scene. But now, there's a new way. Nonlinear curriculum. Customized learning goals. Dynamic, open ended conversations. It's all possible with a graph. I mean, with ChatMoshi.

So if this sort of thing gets anywhere close to that "a-HA!" spot in your brain, please do give it a try.

Download and get started at chatmoshi.com


Earlier posts

October 29, 2022

October 12, 2022

October 2, 2022

October 1, 2022