Перейти к содержимому


Полиглот



Сообщений в теме: 9

#1 Drache

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 3 024 сообщений

Отправлено 04 Сентябрь 2012 - 10:15

Тематика:
Изучение языков.

#2 Bravo@

    Пользователь

  • Пользователи
  • PipPipPipPipPip
  • 2 897 сообщений
  • LocationНАТО

Отправлено 04 Сентябрь 2012 - 10:20

Учу фламандский язык, завтра первое занятие нового семестра

#3 Drache

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 3 024 сообщений

Отправлено 04 Сентябрь 2012 - 10:24

Переводчикам на заметку: ускорение работы ABBYY Lingvo и других инструментов
Источник: habrahabr.ru

Электронный словарь сегодня стал одним из основных инструментов переводчика, наряду с браузером, оцифрованными справочниками и базами соответствий (последнее важно в основном лишь для переводчиков нехудожественных текстов).

Среди электронных словарей ABBYY Lingvo отличается одной ключевой особенностью: полнотекстовым поиском с индексацией. Что-то похожее можно реализовать при помощи индексов в Adobe Acrobat, но удобство интерфейсов именно в словарной области не подлежит сравнению.

ABBYY Lingvo давно уже превратился из обычного словаря в универсальный агрегатор источников. Вдобавок к титанической работе фирмы-создателя, энтузиастами оцифрованы в формат Lingvo сотни пособий, в том числе и основные двуязычные словари, и многотомные толковые словари серий Cambridge, Collins, Longman, Merriam-Webster, Oxford, и энциклопедические словари вроде Британики. Созданы локальные копии сетевых гигантов (Википедий, Викисловарей, Urban Dictionary и так далее). И при обычном использовании это предоставляло бы исключительные возможности. Но при полнотекстовом поиске всё это богатство превращается ещё и в языковые корпусы и базы соответствий. Значение такого поиска при переводах сложных терминов, устойчивых словосочетаний, фразеологизмов трудно переоценить.

С каждым выпуском ABBYY расширяет допустимые границы компилируемых словарей и поисковых индексов. Уже сейчас можно скомпилировать словарь размером почти в 2 гигабайта исходного текста. Однако при подключении большого количества словарей индекс разрастается. И сами словари на диске, и поисковый пользовательский индекс также могут достигать гигабайтных размеров. При этом полнотекстовый поиск замедляется, на него начинает влиять скорость работы винчестеров. Эпоха развития SSD может помочь в решении этой проблемы, но пока эти механизмы ещё не используются повсеместно из-за большей цены и меньшей износоустойчивости. К счастью, есть способ, по приросту скорости выигрывающий даже у SSD.

Можно заставить программу переместить сами словари и поисковые индексы с диска в память. Вернее, мы сами их туда переместим, а программа будет продолжать работать с ними так, будто они всё ещё находятся на винчестере. Поможет нам в этом старое проверенное средство — RAM-диск.

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

В современных 32-разрядных не-серверных Windows есть две основные границы использования памяти: программное ограничение до четырёх гигабайт, которые урезаются до трёх особенностями выделения памяти для устройств. По этим причинам сколько бы памяти вы ни поставили, основные пользовательские Windows не увидят больше 3-х гигабайт плюс/минус ещё чуть-чуть.

Однако для указанных ограничений есть свои обходные пути: PAE и memory remapping (memory hole, PCI hole). Поэтому, если у вас не 64-разрядная или не серверная система и при этом трёх гигабайт памяти не хватает для размещения там RAM-диска со всем нужным, придётся включать все эти штуки и наращивать память. Биос лучше проверить самостоятельно: например, в этой полезной статье определённым устройствам отказывают в поддержке описанных обходных путей, однако я в биосе своей старенькой обречённой материнской платы таки нашёл опцию «memory hole», после включения которой всё заработало как нужно.

Перед всеми описываемыми манипуляциями полезно заархивировать важные данные и создать актуальный образ системы для восстановления, если что-то пойдёт не так.

На сегодняшний день есть две хорошо известные программы, позволяющие использовать всю невидимую для системы память: Primo Ramdisk (VSuite Ramdisk II) и SuperSpeed RamDisk Plus. Если же кто планирует обойтись тремя гигабайтами, можно обратить внимание и на очень быстрый (а по некоторым данным — см. здесь и здесь — самый быстрый) RAMDisk Enterprise. Все эти программы позволяют сбрасывать содержимое RAM-дисков в образы на винчестер перед выключением компьютера или перезагрузкой и восстанавливать образы в память на самой ранней стадии загрузки системы. Хотя это и будет замедлять саму загрузку, будущий выигрыш стоит даже минутной задержки при запуске.

Большинство материнских плат для десктопов и ноутбуков последних 6-7 лет позволяют устанавливать до 8 гигабайт памяти. Сейчас это уже довольно недорогое удовольствие, и данного размера должно хватить даже для самого богатого набора словарей в Lingvo. Однако в крайних случаях можно обойтись и меньшим размером.

Что же можно переместить в Lingvo на RAM-диск?

1. Самое простое — это словари, как пользовательские, так и системные. Пользовательские словари переводчик подключает сам, находится они могут в любом месте. Системные словари на Windows XP находятся в папке c:\Documents and Settings\All Users\Application Data\ABBYY\Lingvo\номер_версии\Dic\System.

Обе группы словарей можно оставить на их прежнем месте для резерва, а программе указать на папки-копии при помощи файлов словарной конфигурации. Для пользовательских словарей это файл %USERPROFILE%\Local Settings\Application Data\ABBYY\Lingvo\номер_версии\Dic\dictconf.ini, для системных — c:\Documents and Settings\All Users\Application Data\ABBYY\Lingvo\номер_версии\Dic\dictconf.ini. В обоих файлах нужно при помощи автозамены подменить старые адреса на новые, перед этим не забыв сохранить резервные копии обоих ini-файлов. Если же этот способ покажется неудобным, можно прибегнуть к описанному далее.

Естественно, все предложенные в этом и следующих пунктах манипуляции нужно делать после закрытия программы и выгрузки её из памяти (Lingvo может долго завершать работу, проверять лучше по программам, отображающим активность процессов).

2. Можно переместить папку с самой программой и бинарными библиотеками (c:\Program Files\ABBYY Lingvo номер_версии). Возможно, впечатляющего прироста скорости это не даст, но что-то можно выиграть. Тем более что в этой папке размещаются также многочисленные файлы .amd и .amm, отвечающие за морфологию. Если программа сама не загружает их в память полностью, а многократно подгружает с диска при необходимости, тогда перемещение имеет смысл.

3. И наконец — словарные индексы. К системным словарям это будет папка c:\Documents and Settings\All Users\Application Data\ABBYY\Lingvo\номер_версии\Index, к пользовательским — %USERPROFILE%\Local Settings\Application Data\ABBYY\Lingvo\номер_версии\NonAbbyyIndex (хотя можно перенести и всю родительскую папку; для системных словарей лучше этого не делать, потому что вместе с индексом в родительской папке находятся и звуки, которые весят много, а нужны редко).

Здесь следует оговорить ещё одну трудность. Если перемещение словарей можно подкрепить редактированием файлов конфигурации, то перемещение индексов и самой программы вещь более заковыристая. Но тут нам поможет одно средство, работающее, к сожалению, только на файловых системах NTFS (к счастью, сам RAM-диск может быть и в системе FAT-32: она быстрее, а надёжность и отказоустойчивость при сбоях нам тут не так важна). Это средство — точки соединения NTFS. Primo Ramdisk (VSuite Ramdisk II) имеет встроенную утилиту для их создания, но можно воспользоваться и утилитой Junction. Алгоритм очень прост: копируем папку на RAM-диск (переназвать её там можно как угодно), для резерва переименовываем оригинальную папку во что-то вроде «оригинальное_название_bak» и создаём к копии точку соединения в родительской папке оригинала с оригинальным названием. Всё работает прозрачно, программа не будет делать никакого различия между прежней работой с оригиналами и новой переадресацией к копиям.

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

При полноценном перемещении ускоряется запуск и закрытие программы, синхронизация списка слов с полем ввода слова, переключение языков, поиск слова и открытие карточек, но особенно разительно — во много раз — ускоряется полнотекстовый поиск.

***

Работу с RAM-диском стоит также взять на вооружение тем, кто оцифровывает словари. Иногда приходится работать с текстовыми файлами гигабайтных размеров. И хотя есть текстовые редакторы для работы с такими громадными исходниками, поиск, ручное редактирование и операции автозамены (всё время используемые при создании разметки языка DSL) происходят при этом очень медленно. Если же поместить исходник в память, и редакторская работа с ним ускорится, и компиляция, возможно, также пойдёт быстрее.

Все эти навыки можно применить и к другим программам. Поскольку браузером переводчики пользуются сейчас столь же часто, как и словарями, стоить подумать о перемещении в память браузерных профилей с их базами данных, а также браузерных кэшей. К счастью, статей об этом много, даже на одном только Хабре.

Комментарии

#4 Drache

    Активный участник

  • Пользователи
  • PipPipPipPipPip
  • 3 024 сообщений

Отправлено 04 Сентябрь 2012 - 10:38

Просмотр сообщенияbayer_a (04 Сентябрь 2012 - 10:20 ) писал:

Учу фламандский язык, завтра первое занятие нового семестра

А я нидерландский. Читать. Читаю в основном статьи в Википедии с Лингво и самодельной программой переводилкой.
И немецкий понимать на слух. Слушаю, смотрю немецкоязычные документальные фильмы на ютубе.
Хороший метод кстати, если сравнивать с радио или телевещанием.

Могу читать: французский, немецкий, испанский. Английский - читать и на слух хорошо, писать и говорить - слабо, нет практики и нужды особой. Итальянский и португальский - недоучены, но со словарем простенькие тексты переведу.
Отложил. Что-то тянет больше к северным, германским.

в общем, вот такое хобби

Сообщение отредактировал Drache: 04 Сентябрь 2012 - 10:39


#5 Opa

    Участник

  • Пользователи
  • PipPip
  • 781 сообщений
  • Locationкор-во Нидерланды

Отправлено 04 Сентябрь 2012 - 10:54

Просмотр сообщенияDrache (04 Сентябрь 2012 - 10:38 ) писал:

А я нидерландский. Читать. Читаю в основном статьи в Википедии с Лингво и самодельной программой переводилкой.
И немецкий понимать на слух. Слушаю, смотрю немецкоязычные документальные фильмы на ютубе.
Хороший метод кстати, если сравнивать с радио или телевещанием.

Могу читать: французский, немецкий, испанский. Английский - читать и на слух хорошо, писать и говорить - слабо, нет практики и нужды особой. Итальянский и португальский - недоучены, но со словарем простенькие тексты переведу.
Отложил. Что-то тянет больше к северным, германским.

в общем, вот такое хобби

Успехов всем, ребята! Как правильно советовал советский лётчик в старом добром анекдоте времён Американо-Вьетнамской войны, вызволенный нашими из амеровского плена: "Учите, ребята языки - там так бьют, так бьют...!" :D

Ну, а серьёзно - любой язык это ключ. Чем больше у человека ключей, тем больше дверей (возможностей, народов, культур и т.д.) открыто перед ним... От всей души - успехов в вашем Хобби!

Просмотр сообщенияbayer_a (04 Сентябрь 2012 - 10:20 ) писал:

Учу фламандский язык, завтра первое занятие нового семестра
Успехов. Ох и не лёгкое это дело: исключений гораздо больше чем правил. "Заучивайте наизусть!", - всегда говорили мои учителя... Держись, брат!

Сообщение отредактировал Opa: 04 Сентябрь 2012 - 10:55


#6 Bravo@

    Пользователь

  • Пользователи
  • PipPipPipPipPip
  • 2 897 сообщений
  • LocationНАТО

Отправлено 04 Сентябрь 2012 - 11:14

Просмотр сообщенияOpa (04 Сентябрь 2012 - 10:54 ) писал:

Успехов. Ох и не лёгкое это дело: исключений гораздо больше чем правил. "Заучивайте наизусть!", - всегда говорили мои учителя... Держись, брат!
Ох это да! Самые распространённые бытовые ежедневные выражения это исключения. Собственно на том уровне, к которому я сейчас стремлюсь, используются в основном исключения.

#7 Opa

    Участник

  • Пользователи
  • PipPip
  • 781 сообщений
  • Locationкор-во Нидерланды

Отправлено 04 Сентябрь 2012 - 11:26

Просмотр сообщенияbayer_a (04 Сентябрь 2012 - 11:14 ) писал:

Ох это да! Самые распространённые бытовые ежедневные выражения это исключения. Собственно на том уровне, к которому я сейчас стремлюсь, используются в основном исключения.
Только в России не используйте полученные Вами на курсах знания: мы с сыном после этого лета уже "заработали" славу отъявленных матерщинников среди всей нашей родни и друзей... :D Понимать-то народ конечно не понимал, но по звукам выходило...

Сами знаете как звучат "самые распространённые бытовые ежедневные выражения" на голландском и фламандском языках... ;)

Сообщение отредактировал Opa: 04 Сентябрь 2012 - 11:26


#8 Skaramush

    Активный участник

  • Модераторы
  • 4 944 сообщений
  • LocationСамара

Отправлено 06 Сентябрь 2012 - 11:25

Это что... Вот когда "Грязно—серая лиса шаг за шагом возвращается в общежитие"...
А у меня плотное использование и освоение латышского прошло, как ни странно, во время срочной. В армии. В Казани.
Ну, абсолютно сие не переводимо было для офицерского состава.
Итальянские тексты в каталогах приходится понимать, хоть прОцентов на 60 по жестокой необходимости - не спешат обитатели миланской области переводить нужную информацию хоть бы на английский...
Cujusvis hominis est errare; nullius, nisi insipientis in errore perseverare

#9 Montmorency

    Участник

  • Пользователи
  • PipPip
  • 1 612 сообщений

Отправлено 14 Октябрь 2012 - 06:38

Просмотр сообщенияbayer_a (04 Сентябрь 2012 - 10:20 ) писал:

Учу фламандский язык, завтра первое занятие нового семестра
А так то ты с чем в Бельгии живёшь, с французским что ли?

#10 Bravo@

    Пользователь

  • Пользователи
  • PipPipPipPipPip
  • 2 897 сообщений
  • LocationНАТО

Отправлено 27 Февраль 2013 - 10:45

Просмотр сообщенияMontmorency (14 Октябрь 2012 - 06:38 ) писал:

А так то ты с чем в Бельгии живёшь, с французским что ли?
У французскоговорящих, как и унглоговорящих, всегда вызывает недоумение существование других языков в ареалах распространения французского или английского.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных