Здравствуйте! Надеюсь, вам пригодятся мои соображения по выбору смысла многозначных слов из контекста.
Основная трудность перевода научить программу "понимать" значение слова.
Человеку нужна пересадка почки (почка анат. kidney).
На ветке набухла последняя почка (почка бот. bud).
Мы понимаем значение слова сходу. Ведь там человек а там ветка! А порграмма? А прорамме все равно, она выбирает любой вариант и вот человеку уже пересаживают будущий листик
1) По основному словарю переводятся однозначные слова.
2) Для многозначных слов подключается контекстный словарь (смысл слова).
3) Пусть каждое слово в словаре - название массива. В массиве хранится контекст слова. Все контексты выполняются на обоих языках и выстроены в алфавитном порядке.
4) В случае, если слово многозначно, проверяется текст до и после слова на предмет совпадения с контекстом (абзац например).
5) Совпавшими словами (как вариант и количеством совпадений) заполняется временный массив.
6) С содержимым временного массива сравнивается контекст вариантов перевода и выбирается слово с наибольшим количеством совпадений.
1__6__786__492__СЛОВО__3
АНГЛИЙСКИЙ: ПРОМЕЖУТОЧНЫЙ РУССКИЙ:
- *** (1,2,3) (1,3) - *** (6,7,8)
- *** (9,4,1) ?
- *** (1,2,3) !!
Простите, если что не так, программирование только учу. Если не понятен принцип - представьте, как переводите сами.
И краеугольный камень метода: да кто ж в здравом уме этим заниматься то будет?! Там же работы
В одиночку этим заниматься никто не будет. Одно дело составить словарь, другое - расширить этот словарь в 3-5 раз...
Единственный выход - сделать скрипт, дополняющий смысловой массив новыми словами. Вшить его в выбор вариантов значения слова и показывать где то внизу с приглашением ко вводу:
Ув. пользователь! Вы мне очень поможете, уточнив слово в продложении определившее выш выбор.И вот Вася Пупкин перевел д.з. по инглишу и внес в словарь несколько слов. Затем Сан Саныч одолел сложную man-страницу и внес еще десяток... Через пару дней они вспомнят об этой программе и пришлют свои файлики с новыми словами на этот форум!
Идея как по мне проста до банальности. И именно поэтому это будет работать, ведь каждый хочет почувствовать себя частью чего то большого. Почувствовать себя разработчиком
Да и в конце концов. Даже если треть тех кто скачал программу и смог её скомпилировать сделает свой вклад, программа будет развиваться! Ведь они уже энтузеасты. (Кому ж еще прийдет в голову мысль скачавать исходники, компилировать и устанавливать если есть Google и Yandex?
Отредактировано Артём (2014-10-07 08:55:42)