Форум: "Основная";
Текущий архив: 2011.03.13;
Скачать: [xml.tar.bz2];
Внизпроверка орфографии Найти похожие ветки
← →
ford © (2009-07-25 16:53) [0]Здравствуйте!!
Избитая тема и в интернете много чего есть касательно её, но восновном предлагается Word.
Попробовал, результат ужасный 20 тыс слов проверялось более 30 минут.
Делаю так:
1. открываю ворд,
2. в цикле, вставляю в текст по одному слову, и проверю результат.
3. закрываю ворд.
Решил сделать свой словарик (причем заполнить его можно, так же скармливая Ворд слово и если оно есть у него то заносить в свой, медленно но верно :) ).
Для поиска по своему словарю решил использовать древовидную структуру, такого вида :
каждый элемент дерева это одномерный массив из 119 ссылок на позицию в файле где расположен следующий элемент дерева.
119 - все буквы алфавитов русского и английского большие и маленькие и знак -
таким образом получается например
слово "Абба" будет состоять из трех элементов дерева,
A[1..119] где А[34]=указатель на б[1..119], где б[34]= указатель на а[1..119] где все эл-ты =-1 (конец)
слово "Аббо" будет состоять так же из 3-х элементов но первые два уже есть в индексном файле и соответствующие эементы массивов уже заполненны, в файл добавится новый эелемент о[1..119] а в элементе б[49]=указатель на элемент o[1..119]
Таким образом получается что поиск любого слова в справочнике составит n-1 чтений из файла где n-длина искомого слова.
Все вроде класно и быстро поиск тех же 20 тыс слов в справочнике составил несколько секунд.
Но размер такого справочника ооочень большой
Подскажите как можно оптимизировать мое дерево
или подскажите другой алгоритм построения справочников такого типа, в применении поставленной задачи (сделать проверку орфографии)?
заранее благодарен за помошь Ж)
← →
oldman © (2009-07-25 22:18) [1]Неблагодарное дело.
"У Лукоморья дуб зеленая, златой цепь на дуб тома."
С точки зрения орфографии вроде все правильно...
Зачем тебе эта проверка орфографии?
← →
ford © (2009-07-26 07:10) [2]очень много текстовой информации которая поступает на обработку и в ней надо исключить ошибки типа
"УЛукоморья дуб зел еная, злотой цепь на дуб тома."
и таких ошибок жуть сколько
← →
ford © (2009-07-26 07:39) [3]мало того, ведь и Ворд очень много слов подчекривает неправильно
например 2000 ворд подчеркивал,
"мультиканальный" предлагая заменить это слово на два :)
"мультик" и "анальный"
← →
StriderMan (2009-07-27 15:18) [4]Почему бы не воспользоваться штатными средствами сортировки.поиска строк? Тот же TStringList умеет.
← →
Sha © (2009-07-28 13:45) [5]к [4] добавлю:
2. Русские слова можно не мешать с английскими.
3. Можно переводить слова в числа N-ричной системы счисления. На каждой странице словаря (~512 байт) хранить первое число целиком, а для остальных только дельту. 2х-уровневый индекс страниц. Сами слова хранить не требуется.
4. Слова можно хешировать и искать по хешу. Хеш можно хранить в Objects того же TStringList
← →
oldman © (2009-07-28 16:15) [6]
> ford © (26.07.09 07:10) [2]
> "УЛукоморья дуб зел еная"
> и таких ошибок жуть сколько
самое смешное, что "дуб зелена я" будет правильно...
ЗЫ: И желаю продумать вопрос с падежами, склонениями, спряжениями, временами, родами etc.
← →
Sha © (2009-07-28 16:36) [7]> oldman © (28.07.09 16:15) [6]
> вопрос с падежами, склонениями, спряжениями, временами, родами etc.
все в словарь
← →
brother © (2009-07-29 06:07) [8]эээ, может круче промт"а получится, а для небольшой программы оно надо?
← →
Sha © (2009-07-29 10:12) [9]> brother © (29.07.09 06:07) [8]
Вариант 3 из [5] делал еще под DOS для проверки орфографии и англо-русского словаря в своем редакторе.
Работало быстро и памяти словари занимали немного.
← →
brother © (2009-07-29 10:52) [10]вариант...
← →
Styx (2009-07-29 15:53) [11]http://www.gnu.org/software/ispell/ispell.html
GNU, все исходники, словари...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2011.03.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.078 c