Автор: M@rlboro 22.11.2007 20:33
Вобщем мне нужно переводчик сделать англ->рус и наоборот. Перевод должен осуществлятся путем выбора соответствующей языковой конструкции из электронного словаря, поддерживаемого системой. Может кто нибудь подскажет где эти словари найти и как с ними работать?
Автор: Better Kind 23.11.2007 16:01
Цитата
путем выбора соответствующей языковой конструкции из электронного словаря
Отсюда подробней.
Что имеется ввиду?
Вы хотите переводить предложения по смыслу, или отдельно каждое слово?Если первое - то изучайте семантику.
Автор: M@rlboro 23.11.2007 18:44
Нет мне смысл не важен. Просто чтоб по словам переводил
Автор: Better Kind 24.11.2007 11:32
Цитата(M@rlboro @ 23.11.2007 18:44)
Нет мне смысл не важен. Просто чтоб по словам переводил
Тогда используйте список. (т.е. заранее заготовленный) (или 2-мерный массив - как угодно).
Разбираете текст на слова используя функции POS COPY.
И производите выборку из массива/списка в область "перевода".
Автор: M@rlboro 24.11.2007 18:53
Спасибо!Собственно так и думал
Автор: мисс_граффити 25.11.2007 13:05
Цитата
Тогда используйте список. (т.е. заранее заготовленный) (или 2-мерный массив - как угодно).
несколько тысяч слов загнать в оперативную память?
имхо, логичнее в файле хранить
Автор: hardcase 25.11.2007 14:40
Цитата(мисс_граффити @ 25.11.2007 13:05)
несколько тысяч слов загнать в оперативную память?
Несоклько тысяч вполне приемлемо. Если за символ брать 2 байта (Unicode) а средний размер слова - 15 символов, 65 000 слов будет занимать не более 2Мб. Добавим сюда издержки на хеширование и хранение русских слов, то получим менее 6Мб.
Автор: Better Kind 27.11.2007 14:32
Цитата(мисс_граффити @ 25.11.2007 13:05)
имхо, логичнее в файле хранить
Построчное считывание? хм.. смущает скорость работы.
Автор: klem4 28.11.2007 20:48
Цитата
Построчное считывание? хм.. смущает скорость работы.
а если хранить словарь как таблицу БД и для поиска юзать sql например? Мне кажется будет быстрее чем из текстового или типизированного читать самому.