Хочется определять значение слова "по контексту".
Кстати, кто мне скажет, что такое "контекст"?
Как это выразить математически и программно?
Сейчас в каком-то виде определение значения слов присутствует.
То есть, если слова связаны явной синтаксической связью,
то программа может определить насколько часто встречается такая связь.
И из всех возможных переводов слова выбрать тот, который чаще сочетается
со связанным словом.
Этот алгоритм имеет множество недостатков:
1) Нужные связи не всегда есть.
А если связь есть, то не всегда слово имеет посчитанные вероятности именно
с теми словами, которые присутсвуют в переводимой фразе.
Поэтому этот алгоритм слишком редко работает.
2) Метод не работает, когда есть несколько вариантов синтаксического разбора.
(И соответсвенно разные варианты содержат разнородные синтаксические связи,
которые непонятно как сравнивать)
3) Этот метод статистический
Это значит что пользователь не может изменить данные чтобы исправить ошибку.
Данные формируются только у разработчика на основе анализа различных текстов.
4) Статистические данные занимают большой обьём. Поэтому человек-разработчик
не может по настоящему проверить эти данные.
5) Ну и вообще, эта система какая-то нечеловеческая.
Интуиция подсказывает что должен быть другой способ. Более экономный и более
человеческий. Не бросайтесь в пучину алгоритмов, давайте сначала посмотрим как
построен человеческий язык.
Я просмотрел в толковом словаре 600 наиболее частотных русских слов.
И пришел к выводу, что истинных омонимов в русском языке не очень много.
Таких как "мир"="вселенная" и "мир"="отсутсвие войны"
Это всего три процента от общего списка слов.
Гораздо чаще возникает ситуация, когда значение слова расползлось на несколько
разных областей. При этом слово приобретает несколько новых ("переносных")
значений, которые в чём-то сохраняют смысловую связь с исходным "прямым"
значением.
Например слово "театр" имеет следующие значения:
http://www.gramota.ru/slovari/dic/?word=&all=x
1) род искусства
2) трудовой коллектив= режиссёр + актёры + прочие работники
3) здание, где показывают спектакли
4) совокупность чьих-то произведений, например "театр Шекспира".
Областей значение слова не очень много:
1) физический мир (обычно основное значение слова находится здесь)
2) ментальный мир человека - мысли, чувства, эмоции
3) социальные отношения, отношения между людьми
4) отношения между общественными субъектами - государственными структурами
и большими группами людей
5) описание структуры - что из чего состоит, в каком порядке и так далее.
Значение слова похоже на кляксу. Первоначальное значение похоже на каплю чернил,
упавшую на бумагу. "Переносные" значения похожи на брызги, отлетевшие от
первоначальной капли. И отлетают они не очень далеко. Люди мыслят более или менее
одинаково. Поэтому если клякса значений расползлась определённым образом в одном
языке, то обычно в другом языке она расползётся как-то похоже. Но из этого правила
бывают исключения. Одно или несколько неосновных значений могут переводиться
по-другому, не так как основное значение слова. Поэтому возникает идея - определить
на какую тему идёт разговор и в соответствии с темой выбрать значение слова.
Теперь возникает вопрос - а как определить тему?
(Имеется в виду не тему текста, а тему переводимой фразы.)
По идее, нужно иметь какие-то слова-маркеры, которые обозначат тему. Первая мысль,
котрая приходит в голову - разбить слова на смысловые классы. Такое разбиение
называется таксономия. Лингвисты уже неоднократно строили различные таксономии.
Почему-то большинство таксономий срдержит только материальные обьекты. Ну да, я
понимаю, так думать проще, особенно когда ты сидишь в институте на нищенской
зарплате.
Я проанализировал 200 самых частотных существительных русского языка.
Думаете они обозначают материальные предметы? Хрен вам.
Список категорий существительных:
1) Время
2) Место
3) Человек и различные его ипостаси
4) Части тела человека
5) Различные неодушевлённые предметы
6) Процессы
7) События
8) Слова связанные с информацией
9) коммуникация словесная и письменная
10) ментальность - мысли, рассуждения и т.п.
11) эмоции
12) структура - что из чего состоит и как связано
13) общество
14) мера и количество
15) модальность - отношение человека к различным действиям
Такие же списки категорий я составил и для других частей речи.
На первый взгляд, вроде бы категории существительных соответсвуют областям значений
слов. Можно начинать писать алгоритм (не программу).
Возникает несколько вопросов:
0) Перспективен ли данный метод?
1) Насколько полны классы (и список областей значений и список категорий
существительных)? Можно ли это определить каким-то философскими соображениями?
2) Не упустил ли я чего-нибудь?
3) Достаточно ли определить тему разговора, чтобы понять, какое значение слова
имеется в виду, или нужно использовать какую-то другую информацию?
4) Можно ли распространять опыт русского языка например на английский язык?
5) Можно ли опробовать этот метод не потратив на него годы жизни?
6) Есть ли какая-то литература на эту тему?