이 유형의 사전은 내장 사전 지원이 있는 미리 정의된 언어에 대해 이미 제공됩니다(미리 정의된 언어 목록의 설명 참조). 또한 일부 언어의 경우 .zmd 아카이브에 전문 용어 사전(예: 의료, 법률)이 포함되어 있습니다. 표준 사전은 3개 또는 4개의 파일로 구성됩니다. 파일 이름은 일반적으로 언어의 전체 이름 또는 약식 이름과 같으며, 확장자는 .amd, .amm, .amt 또는 .ame입니다. .amd, .amm, .amt 확장자의 파일은 항상 제공됩니다. 이 파일들은 다음 폴더에 저장되며 변경할 수 없습니다. Data/ExtendedDictionaries (Linux), Resources/ExtendedDictionaries (macOS), Data\ExtendedDictionaries (Windows).ABBYY FineReader Engine에는 .ame 파일이 제공되지 않습니다. .ame는 사전 확장, 즉 사용자가 사전에 추가한 단어를 저장하는 형식입니다. ABBYY FineReader에서 사전 확장을 만들 수 있으며, 여기서는 이를 user dictionary라고 합니다. 그런 다음 생성된 파일을 위에서 언급한 ABBYY FineReader Engine 폴더 아래의 해당 폴더로 복사하면 됩니다(또는 ILanguageDatabase::DictionaryExtensionsPath 속성에 전체 경로를 지정할 수도 있습니다). ABBYY FineReader는 표준 사전의 확장 파일을 %appdata%\ABBYY\FineReader\15\FineReaderShell\UserDictionaries에 저장합니다. 사전 확장은 ABBYY FineReader Engine에서 ILanguageDatabase::OpenDictionaryExtension 메서드를 사용해 편집할 수 있습니다.이 사전 유형은 StandardDictionaryDescription 객체로 설명됩니다.
사용자 사전
Dictionary 객체를 사용해 만들 수 있습니다. Dictionary 객체를 사용하면 해당 메서드를 통해 단어를 추가하고 제거할 수 있습니다.Windows에서는 Dictionary 객체를 사용해 Dictionary dialog box에서 사전을 편집할 수도 있습니다. 이 dialog box에서는 Windows ANSI 및 Unicode 인코딩의 모든 텍스트 파일을 가져올 수 있습니다(유일한 조건은 단어가 공백이나 기타 알파벳이 아닌 문자로 구분되어 있어야 한다는 점입니다).이 사전 유형은 UserDictionaryDescription 객체로 설명됩니다.
FineReader Engine의 사용자 사전은 .amd 파일 형식이며 어떤 언어에 대해서도 만들 수 있습니다. 사전 지원이 없는 언어에서는 표준 사전을 대신할 수 있습니다. ABBYY FineReader의 사용자 사전은 FineReader Engine에서 dictionary extension이라고 하며, .ame 파일입니다. 이 파일은 사전 지원이 있는 언어에 대해서만 해당 언어의 표준 사전을 확장하는 형태로 만들 수 있습니다.
외부 사전(ExternalDictionaryDescription)의 경우 SetDictionary 메서드를 사용하여 사전을 지정합니다.
모든 사전 유형에는 가중치가 할당됩니다. 사전의 가중치는 인식 과정에서 해당 사전의 단어가 검출될 때 그 단어의 가중치에 영향을 줍니다. 가중치 매개변수는 백분율이며 음수가 아니어야 합니다. 가중치가 0이라고 해서 해당 사전이 없다는 뜻은 아닙니다. 100%를 초과하는 가중치도 허용되지만, 이러한 매개변수는 사용할 때 매우 주의해야 합니다. 가중치는 IDictionaryDescription::Weight 속성에서 지정하며, 기본값은 100입니다.표준 사전에는 선택한 사전을 기준으로 만든 트라이그램을 프로그램에서 사용할지 여부를 지정하는 CanUseTrigrams 옵션도 있습니다. 트라이그램은 세 글자의 조합입니다. 이러한 조합이 모두 실제 단어에 나타나는 것은 아닙니다. 사전에 없는 트라이그램이 포함된 단어는 발음할 수 없을 가능성이 매우 높습니다. 트라이그램은 신뢰할 수 없는 단어를 걸러내는 데 사용됩니다. “general” 표준 사전에서는 트라이그램을 활성화하고, 용어 사전에서는 비활성화하는 것이 좋습니다.
사전의 식별 속성을 지정합니다. 표준 사전의 경우 LanguageId 속성을, 사용자 사전의 경우 FileName 속성을 지정하고, 정규식 기반 사전의 경우 IRegExpDictionaryDescription::SetText 메서드를 호출하며, 외부 사전의 경우 IExternalDictionaryDescription::SetDictionary 메서드를 호출합니다.
캐시 사전은 처리 중에도 쉽게 변경할 수 있는 작은 사전(약 100개 단어)입니다. 예를 들어 처리 도중 문서에 대한 새로운 정보를 발견해 사전을 더 정확하게 선택할 수 있는 경우, 캐시 사전을 사용할 수 있습니다. 이러한 사전은 field 수준 인식에 적합합니다.예를 들어, 인식해야 하는 양식에 두 개의 field가 있다고 가정해 보겠습니다. 하나는 도시 이름이고 다른 하나는 거리 이름입니다. 도시 이름은 이미 인식했고 해당 도시의 거리 목록도 가지고 있습니다. 이 경우 적절한 캐시 사전에 거리 이름을 로드하면 거리 이름을 더 빠르고 정확하게 인식할 수 있습니다.ABBYY FineReader Engine은 캐시 사전을 다루기 위해 FRPage 객체의 AddWordsToCacheDictionary, AddWordToCacheDictionary, CleanCacheDictionary 메서드를 제공합니다.
캐시 사전을 사용하려면 IEngine::AutoCleanRecognizerSession 속성을 FALSE로 설정해야 합니다. AutoCleanRecognizerSession 속성의 기본값은 TRUE이며, 이는 FineReader Engine이 각 페이지 인식 후 인식 세션을 정리한다는 의미입니다. 이 경우 캐시 사전도 함께 정리됩니다. 사용자 데이터가 실수로 삭제되는 것을 방지하기 위해 FineReader Engine은 이 모드에서 캐시 사전 사용을 허용하지 않습니다. 캐시 사전을 사용하는 경우에는 필요할 때 IEngine::CleanRecognizerSession 메서드를 호출해 인식 세션을 수동으로 정리해야 합니다. 인식 세션을 언제 정리해야 하는지는 해당 메서드 설명을 참조하십시오.