# Numerical Representations of Meaning

Noah Syrkis, May 29, 2022

Computers, increasingly, make and assist decision that traditionally where exclusively of a human domain. Language especially is an arena in which this is happening. From the system that determines what media text among many to show you to maximise engagement, to the real time sentiment analysis upon which much of automated trading rests—it all rests on a computational comprehension of language. Language, however, is an extremely human concept. We convey meaning—whatever that might be—through it. So how do we represent meaning numerically? The answer to this question is at the foundation of the Virian Project. This text will, be

## A Number

Computers are, as almost every school student knows in this scientific age, binary. They represent data as ones and zeros, trues and false, and they represent everything as data. The numbers 0 to 15 could be encoded as 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111. Each 0 or 1 is called a bit. The right most bit indicates whether or not there's a one, the bit to the left of that indicates whether there's a two, the next on represents the fours. 1111 in base 2 (binary) is thus equal to 1 + 2 + 4 + 8 which in turn is equal to 15 in base 10.

Sometimes extra bits are appended to the left to either help with error detection/correction or to communicate some quality about the number. One such quality is "the following number is negative". Using such an encoding 11111 would be interpreted as - (8 + 4 + 2 + 1) = -15 instead of 16 + 8 + 4 + 2 + 1 = 31. In this case 10000 and 00000 would be equal. A way to do error detection is to have the left most bit be whatever value makes the total number of 1s even. Using such an encoding 11111 would indicate that one of the bits has accidentally been flipped. Accidental flips are very frequent events in computers due to solar winds.

## A Truth

Computer exist on many different layers of abstraction. At bottom they are physical machines, electric in nature, though most programmers—myself included—know next to nothing about the physics of the machines we use. Instead we're presented with an interface. This interface exists on a lower level of abstraction than standard applications, but it is an interface non the less. One interesting fact about out interface, the code interface, is that—though it exists on a higher level—it draws a lot of inspiration from the lower levels. The notion of 1s and 0s, trues and false, is not only used to store data as bits (low level computer stuff) but also on high level tasks such as evaluating "7 > 8". This would be false (0). "dog = dog" would be true (1).

This notion of truth is one of identicalness. If things are not exactly the same, they are unequal, no less no more. Thus "dog = cat" is as false as "dog = god". Is this a useful notion of truth? Yes.

When storing something like the meaning of things we want to be appropriately precise. We want to define a range in which our numbers can fall. There are several advantages to having the mean of things be zero. There’s something unbiased about it.