Программа основана 9 сентября 1999 года Дмитрием Анисимовым
Пролетарии всех стран - соединяйтесь!


Правда!

Первый Open-Source универсальный переводчик
Сей форум создан для обсуждения программы машинного переводчика "Правда".
Сайт программы находится здесь..

prawda

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » prawda » Алгоритмы машинного перевода. » Полисемия слов и тема как способ разделить близкие значения слов.


Полисемия слов и тема как способ разделить близкие значения слов.

Сообщений 1 страница 5 из 5

1

Хочется определять значение слова "по контексту".
Кстати, кто мне скажет, что такое "контекст"?
Как это выразить математически и программно?

Сейчас в каком-то виде определение значения слов присутствует.
То есть, если слова связаны явной синтаксической связью,
то программа может определить насколько часто встречается такая связь.
И из всех возможных переводов слова выбрать тот, который чаще сочетается
со связанным словом.

Этот алгоритм имеет множество недостатков:
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) Есть ли какая-то литература на эту тему?

0

2

Немного перпендиклярности... А может подойти совсем с другой стороны? Сразу по всему тексту определить психотип автора, предполагаемую предрасположенность (в идеале - набор специальностей), пол и т.п. Далее, найти эти же слова в тексте, где они переводятся однозначно. А потом суперпозицией первого и второго думать над проблемой конкретного предложения.

Википедию, конечно, во многих случаях, замучаешься переводить (как труд коллектива). Но там гиперссылки могут помочь.

0

3

Эта ветка задумывалась как мозговой штурм. А при мозговом штурме критиковать нельзя.
В том числе и себя самого. Так что и ты себя не критикуй.

Эк ты интересно первым же ходом... сорвал все шаблоны.
То, что ты предложил - это найти "скрытые переменные".
(это как выйти из площади рисунка при решении геометрической задачи)
Они не обязательно должны быть связаны с полом возрастом и образованием автора.
Просто некие переменные (неграмматические) которые не следуют прямо из текста.

Мои мысли тоже шли в этом направлении, но я думал в сторону определения темы.
А какие ещё скрытые переменные ты можешь нафантазировать?
Ну вот я нафантазировал:
"Наличие первого лица" (рассказ про себя)
Наличие второго лица (обращение к адресату)
Использование или неиспользование прошедшего времени (исторический или неисторический рассказ).
Использование или неиспользование прямой или косвенной речи.
Наличие или отсутствие в тексте вопросов.
Всё это позволяет определить характер текста и немного по-другому переводить.

Вторая твоя мысль - это использовать дополнительную информацию для определения смысла слов.
Ты считаешь, что для этого можно выйти за пределы фразы и поискать информацию в остальном тексте.
И таким образом повысить "густоту" связей. Мысль хорошая.
А как ещё повысить густоту?

Ну вот я подумал, что сейчас используются не все грамматические связи.
Нужно использовать не только связи субьект-глагол-обьект и существительное-прилагательное.
Есть связи, которые сейчас не используются. Например
1) С глаголом to be. ("Он - умный") - сейчас этот тип связи игнорируется.
2) Союзные связи, например с союзом "и". "За окном шёл снег и рота красноармейцев".
Фраза ошибочная потому что обьединены разнородные обьекты
3) Связи через придаточную фразу "Это человек, который смеётся".
Связь "человек смеётся" сейчас не используется.

Какие ещё связи можно нафантазировать (желательно неграмматические)?

ЗЫ.
Твоя мысль, что смысл слова не зависит от грамматики (от части речи слова)
оказалась невероятно плодотворной. Я чувствую себя на пороге открытия.

0

4

Здравствуйте Дмитрий! Думаю, просто отлично было бы, если бы вы иногда (раз в полгода к примеру) отписывались на форуме - жив ли проект, продолжается ли работа. А то все очень удивились, увидев через ~10 лет молчания версию 1.0. Все же аудитория у проекта есть, а переводчиков под Linux больше нет.

С уважением, Артём.

0

5

Добрый день!

А где находятся текущие репозитарии проекта?

Если тут будут ответы, то можно продолжить мозговой штурм. Мы в МИЭТ общались 10 лет назад (Я тогда пробовал со студентами Perl обёртку делать). С тех пор вожу всегда с собой исходные коды. Вот сейчас есть мысли по поводу, что делать дальше.

0


Вы здесь » prawda » Алгоритмы машинного перевода. » Полисемия слов и тема как способ разделить близкие значения слов.