Реклама i
|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Интеллектуальные средства для электронной библиотеки
Регистрация: 29.07.2004
Сообщений: 48
|
||
Просмотров: 3796
|
|
||||
Регистрация: 29.07.2004
Сообщений: 48
|
Скрипта как такового пока еще нет в законченном виде. Есть работающие куски, которые нужно в кучу собрать. Как оказалось AutoIt достаточно мощный язык в плане стринговых операций, поэтому особых трудностей с реализацией я не вижу. Пока. Скорее будет задуристика с непонятками в интерфейсе используемых прикладных программ. Как это было с FineReader.
Главное, что наконец-то решение выкристализовалось. Вот и хотел его обсудить на уровне концепции. некоторые скрипты, используемые для библиотеки выкладываю у себя тут http://www.allbeton.ru/forum/topic20994.html |
|||
![]() |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
НУ во первых, обсуждение и исходные коды скрипта предлагаю опубликовать тут...
Во вторых предварительная обработка по подготовке текстового слоя, т.е. обработка исходника Файнридером в автоматическлм режиме, мною уже выполнена в одном из опубликованных мною скриптов... Вот с последующими операциями, надо разобраться, может быть стоит обрабатывать ФайнРидером и сохранять как txt, а потом работать с полученным текстовым файлом.. Потом с помошью какой нибудь программы, подгружать данный файл в исходный, как OCR слой... Опять же данная обработка не очень корректна будет, не будет работать выделение в исходнике и копирование куда либо. Т.к. часть слов и букв будет исключена из тектового слоя, в общем тут думать надо... Так же у вас ни чего не сказано по подготовке оглавления, а ведь это основное в чем надо искать, и чем удобно пользоваться... Тут уж довольно сложно будет автоматизировать, хотя программы по полуавтоматическому созданию оглавлений есть, и довольно не плохие.. В этой теме мои проработки тоже представлены были...
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
![]() |
|
||||
Регистрация: 29.07.2004
Сообщений: 48
|
Цитата:
Следующий этап – попытаться охарактеризовать книгу в систематический способ, создать нечто аналогичное библиотечному УДК, но только в автоматическом режиме. Я исхожу из гипотезы, что смысловое содержание книги достаточно полно характеризуется её словарным набором. Чем чаще повторяется то или иное слово в тексте, тем выше вероятность, что именно это слово характеризует смысл написанного. Как оказалось тут есть интересные неожиданности, об этом ниже. Я предполагаю, что группа слов (к примеру 10 шт) которые наиболее часто повторяются, может достаточно точно послужить неким ключем, соответствие которому (полное или частичное – тут нужно экспериментировать) поможет найти другую книгу, с аналогичным содержанием и с аналогичным (или близким) составом наиболее употребимых слов. Чтобы составить частотный словарь нужно почистить от мусора текстовый слой. Для этого: 1.При помощи фрагмента скрипта на AutoIt "выдергиваю" текстовый слой из djvu+OCR при помощи штатной утилиты djvused.exe, и сохраняю его в качестве самостоятельного временного txt файла. (готово) 2. Следующий фрагмент скрипта берет этот txt файл, помещает его содержимое в стринговую переменную, над которой проводится ряд "чисток" (все в нижний регистр, бинарные замены, стринговые замены, перевод из случайной латиницы в кириллицу, удаление знаков пунктации, псевдографики и управляющих кодов, лишних пробелов, коротких слов). Результаты работы сохраняю в транзитный txt. (готово, на i7 работает шустро, но уже на i3 – ощутимо тормозит) 3. Следующий фрагмент скрипта запускает AfterScan и скармливает ему txt с предыдущего этапа. (в работе) 4. Не знаю, возможно потребуется еще ORFO пройтись и поисправлять орфографию. (Буду смотреть) 5. Все вышеперечисленное – предварительный этап, перед нормализацией (превратить "бетонов", "бетоны", "бетонам" в "бетон"). Я не силен в программировании, здесь мне нужна помощь. Пока остановился на Mystem, которая к тому-же консольная поэтому её легко и просто будет использовать для получения очередного транзитного txt (еще не начинал) 6. Формирование частотного словаря и определение плотности ключевых слов. Казалось-бы сложный этап. Но удалось его решить очень красиво и элегантно парой десятков строчек кода. (с использованием объекта Scripting.Dictionary – сам толком ничего не понял, просто слизал и оно классно работает ). Невтерпежь сильно мучает, поэтому без 3, 4,5 этапов посмотрел чего получается. Взял 2 книги строительная теплофизика (богословский) строительная теплофизика (ильинский) Книги примерно равны по объему и тематике, немножко разные акценты. Самое то, что нужно. Частотный словарь показал, что группа "воздух-температура-поверхность-ограждение-тепло" четко и однозначно "в отрыве". Т.е. гипотеза вроде подтверждается. Что любопытно "воздух" неожиданно в сильном отрыве. И это все даже без нормализации. Любопытная особенность. Все пока очень предварительно.
__________________
------------------ Админ Весьбетона |
|||
![]() |
|
||||
Регистрация: 29.07.2004
Сообщений: 48
|
есть первые результаты
много инфографики, поэтому запихал все в pdf файл получился большой поэтому выложил у себя пока не готов комментировать – на осмыслении взял две собственные книги и попытался вручную для них составить частотный словарь из нормализованных слов Корпуса русского языка – совпадение с результатом работы программы около 80% Считаю это очень замечательным результатом.
__________________
------------------ Админ Весьбетона |
|||
![]() |
|
||||
Регистрация: 29.07.2004
Сообщений: 48
|
Национальный корпус русского языка
другого нет этот словарь "зашит" уже в консольную программу Mystem чем упрощается преогромаднейший кусок работы по нормализации слов. Самый большой объем работы, которого я 10 лет боялся как огня оказалось возможным решить десятком строк кода управляющего скрипта по запуску Mystem, передаче ему объекта обработки и получению результатов. Есть еще несколько программ для этого (TreeTagger, nltk, pymorphy, freeling) но все они достаточно громозки и сложны, как правило существуют в форме библиотек, с которыми нужно что-то предварительно делать (собирать, компилировать, встраивать), многие плохо или с определенными издержками работают с русским языком и т.д.
__________________
------------------ Админ Весьбетона |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |