Custom emojis as user-defined vocabulary

I think ChatGPT should support custom emojis, but specifically as user-defined vocabulary, not just as stickers or decorative UI.

The key idea is that custom emojis are often basically words.

For example, if I use something like :ratstare:, that might mean “I am staring at this development with extreme interest / disbelief”. :bweh: might mean something closer to frustration, sadness, or “this sucks” in a way that is hard to express with a normal Unicode emoji.

Those meanings are specific to a person or community, but they are still meanings. Over time, people build entire vocabularies out of custom emojis.

Right now, ChatGPT can learn a user’s writing style, recurring phrases, preferences, etc., but there is no equivalent mechanism for extending the visual vocabulary of a conversation. I think custom emojis would be a very natural next step, especially now that the models are multimodal.

The important part is that this does not need to work like sending a full image through vision every single time somebody uses an emoji.

Custom emojis could be limited to something tiny like 64x64, which is already more than enough for this use case. The actual image asset is extremely small and can be cached heavily / served from a CDN.

On the model side, I imagine something roughly analogous to how citations or other referenced objects already work.

For example, when I first upload:

:ratstare:

the system could store something like:

emoji_id: 18429
name: ratstare
visual_description: small rat staring directly at the viewer
user_description: used when staring at something in disbelief or intense interest

The model does not necessarily need the raw 64x64 image every time after that. Later messages could contain some lightweight reference to that emoji ID plus its semantic representation.

Something conceptually like:

<custom_emoji id="18429" name="ratstare">

The client still renders the actual image, while the model understands what the symbol means.

The assistant should also be able to output that same emoji reference in its own responses.

That last part is important. If I teach ChatGPT what :ratstare: means, I don’t just want ChatGPT to understand it when I use it. I want ChatGPT to be able to use :ratstare: itself when it is appropriate.

At that point, custom emojis become a genuine extension of the shared vocabulary between the user and the model.

There are a few ways the semantics could be initialized:

  • The emoji name itself, e.g. ratstare

  • A short optional description from the user

  • One multimodal pass over the 64x64 image

  • Context from how the user actually uses it over time

The last one is probably the most interesting.

An image of a rat staring is visually just “a rat staring”, but within a particular user’s conversations it might develop a much more specific pragmatic meaning. The same thing already happens naturally with slang, recurring phrases, memes, and inside jokes.

ChatGPT already adapts to those things. Custom emoji would just give that process a visual vocabulary too.

I also think this would be a much more powerful personalization feature than purely cosmetic customization.

Themes, avatars, animations, etc. change what ChatGPT looks like. Custom vocabulary changes how the conversation itself works.

For people who use ChatGPT frequently, that seems substantially more meaningful.

And because the assets are tiny, heavily cacheable, and can be represented to the model through a stable ID plus a compact semantic description, I don’t think the ongoing inference cost necessarily has to be large.

A possible longer-term extension would be importing existing emoji libraries from services like Discord, so users could bring vocabulary they already use elsewhere into ChatGPT. But I think the core feature should be platform-independent: upload a tiny custom emoji, give it a name, let the model understand it, and let the model use it back.

Basically:

Custom emojis should not be treated as stickers. They should be treated as user-defined vocabulary.

This topic was automatically closed after 24 hours. New replies are no longer allowed.