这是一个有趣的问题,但我怀疑你是出于错误的原因问这个问题。您是否认为这种“词汇”Unicode 可以让您将句子分解为与语言无关的原子意义元素,然后能够用其他具体语言重新构建它们?作为实现通用翻译器的一种手段,也许?
即使您可以使用“lexical unicode”对一个英文句子进行编码和存储,也不能指望阅读它并神奇地将其翻译成中文,从而保持其含义不变。
但是,您对 Unicode 的类比非常有用。
请记住,Unicode 虽然是“通用”代码,但并不体现相关字符的发音、含义或用法。每个代码点指的是特定语言中的特定字形(或者更确切地说是一组语言使用的脚本)。它在字形的视觉表示级别(在样式、格式和字体的范围内)是基本的。拉丁字母“A”的 Unicode 代码点就是这样。它是拉丁字母“A”。它不能自动呈现为阿拉伯字母 Alif (ﺍ) 或印度语 (Devnagari) 字母 'A' (अ)。
保持 Unicode 类比,您的词汇 Unicode 将具有每种语言中每个单词(单词形式)的代码点。Unicode 具有特定脚本的代码点范围。您的词汇 Unicode 必须为每种语言提供一系列代码。不同语言中的不同单词,即使它们具有相同的含义(同义词),也必须具有不同的代码点。具有不同含义或不同发音(同音异义词)的同一个词必须具有不同的代码点。
在 Unicode 中,对于某些语言(但不是全部),同一字符根据其在单词中的位置而具有不同的形状 - 例如在希伯来语和阿拉伯语中,字形的形状在单词的末尾发生变化 - 然后它有不同的代码点。同样,在您的 Lexical Unicode 中,如果一个单词根据其在句子中的位置而具有不同的形式,则它可能需要自己的代码点。
想出英语语言代码点的最简单方法可能是将您的系统基于牛津英语词典的特定版本,并按顺序为每个单词分配一个唯一代码。您必须为同一个词的每个不同含义使用不同的代码,并且您必须为不同的形式使用不同的代码 - 例如,如果同一个词可以用作名词和动词,那么您将需要两个代码
然后,您必须对要包含的每种其他语言执行相同的操作 - 使用该语言最权威的词典。
很有可能,这种练习付出的努力多于它的价值。如果您决定包含世界上所有现存的语言,以及一些历史悠久的死语言和一些虚构的语言——就像 Unicode 所做的那样——你最终会得到一个非常大的代码空间,以至于你的代码必须非常宽才能容纳它。您不会在压缩方面获得任何收益 - 以原始语言表示为字符串的句子可能会比以代码表示的相同句子占用更少的空间。
PS对于那些说这是一项不可能完成的任务的人来说,因为词义发生了变化,我不认为这是一个问题。用 Unicode 类比,字母的用法已经发生了变化(诚然,没有单词的含义那么快),但 Unicode 并不关心在中世纪曾经像 'y' 一样发音的 'th'。Unicode 有一个 't'、'h' 和 'y' 的代码点,它们各自服务于它们的目的。
PPS 实际上,Unicode 有点担心 'oe' 也是 'œ' 或者 'ss' 可以用德语写成 'ß'