Это интересный вопрос, но я подозреваю, что вы спрашиваете его по неправильным причинам.Вы думаете об этом «лексическом« Юникоде »как о чем-то, что позволит вам разбить предложения на нейтральные по языку атомные элементы смысла, а затем сможет воссоздать их на каком-то другом конкретном языке? Может быть, как средство достижения универсального переводчика?
Даже если вы можете кодировать и хранить, скажем, английское предложение, используя «лексический юникод», вы не можете ожидать его чтения и волшебным образом отображать его, скажем, в китайском, сохраняя смысл неповрежденным.
Ваша аналогия с Unicode, однако, очень полезна.
Имейте в виду, что Unicode, хотя и «универсальный» код, не воплощает произношение, значение или использование рассматриваемого персонажа. Каждая точка кода относится к определенному глифу на определенном языке (или, скорее, в скрипте, используемом группой языков). Он элементален на уровне визуального представления глифа (в рамках стиля, форматирования и шрифтов). Кодовая точка Юникода для латинской буквы «А» - это именно так. Это латинская буква «А». Он не может автоматически отображаться, например, в арабском письме Alif (ا) или в указателе (Devnagari) «A» (अ).
Подходя к аналогии с Юникодом, ваш лексический Юникод будет иметь коды для каждого слова (словоформы) на каждом языке. Unicode имеет диапазоны кодовых точек для конкретного скрипта. Ваш лексический Unicode будет иметь ряд кодов для каждого языка. Различные слова на разных языках, даже если они имеют одинаковый смысл (синонимы), должны иметь разные кодовые точки. Одно и то же слово, имеющее разные значения, или разные произношения (омонимы), должно иметь разные кодовые точки.
В Unicode для некоторых языков (но не для всех), где один и тот же символ имеет другую форму в зависимости от его положения в слове - например. на иврите и арабском языке форма глифа изменяется в конце слова - тогда у него есть другая кодовая точка. Аналогично, в вашем лексическом Юникоде, если слово имеет другую форму в зависимости от его положения в предложении, оно может гарантировать свою собственную кодовую точку.
Возможно, самый простой способ создать кодовые точки для английского языка - это основать вашу систему, скажем, на отдельном издании Оксфордского английского словаря и последовательно назначать уникальный код для каждого слова. Вам придется использовать другой код для каждого разного значения одного и того же слова, и вам придется использовать другой код для разных форм - например, если одно и то же слово может использоваться как существительное и как глагол, тогда вам понадобятся два кода:
Тогда вам нужно будет сделать то же самое для каждого другого языка, который вы хотите включить, - используя самый авторитетный словарь для этого языка ,
Скорее всего, это упражнение - это все больше усилий, чем того стоит. Если вы решите включить все живые языки в мире, а также некоторые исторические мертвые и некоторые вымышленные - как это делает Юникод, вы получите кодовое пространство, которое настолько велико, что ваш код должен быть чрезвычайно широким для его размещения. Вы не получите ничего с точки зрения сжатия - вполне вероятно, что предложение, представленное как строка на языке оригинала, занимало бы меньше места, чем одно и то же предложение, представленное как код.
P.S. для тех, кто говорит, что это невыполнимая задача, потому что меняются значения слов, я не вижу в этом проблемы. Чтобы использовать аналогию с Юникодом, использование букв изменилось (правда, не так быстро, как смысл слов), но Unicode не относится к тому, что «th» раньше употреблялось как «y» в средневековье. Unicode имеет кодовую точку для 't', 'h' и 'y', и каждый из них выполняет свою задачу.
P.P.S.На самом деле, для Unicode какая-то проблема заключается в том, что «oe» также «œ» или «ss» может быть написано «ß» на немецком языке
Что поначалу кажется трезвым и логичным понятием, этот вопрос, без сомнения, ошибочен на стольких уровнях - от лексического до прагматического. Это противоречит тому, что такое понимание языка. – logout 2010-01-31 11:18:45