 |
www.ice-graphics.com Форум ICE-Graphics
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Вадим Захаренко Модератор
Зарегистрирован: 14.08.2003 Сообщения: 2140 Откуда: Беларусь, г.Мозырь
|
Добавлено: Ср Дек 10, 2003 2:40 pm Заголовок сообщения: |
|
|
| anton писал(а): | | на самом деле хочу (со своей колокольни) призвать народ не выдумывать, чего бы еще автору предложить, а попытаться думать параллельно с ним, в том же ключе, | Возможно я не так понял, но если думать параллельно автору, то будем предлагать то-же что он и так делает. Смысл? | anton писал(а): | | ведь это он IBR придумал и реализовал, у него есть свое видение, на котором, слава Богу, крепко стоит и не допускает посягательств, вот в нем и двигаться. | А я считаю - надо "посягательства", идеи. На мой взгяд лучше выбрать лучшее из 100 идей, чем из 1. И отбросить лишнее/отложить в планы дальнейшего развития. Но это мое личное мнение. | anton писал(а): | | Не надо рубить сук, на котором сидим (это к любителям "покрякать" за чужой счет). | 100% согласен | anton писал(а): | | Лучше забить на "мелкие раздражители" и думать, чего же действительно не хватает. | Хм... (тут снова сработала язва ). А как угадать что делает автор в данный момент, т.е. думать параллельно с ним.
А вот предложить чего мне не хватает как пользователю и надеется что автора заинтересует этот момент, это я могу. |
|
| Вернуться к началу |
|
 |
ICE Graphics Site Admin
Зарегистрирован: 26.01.2003 Сообщения: 2751
|
Добавлено: Ср Дек 10, 2003 3:48 pm Заголовок сообщения: |
|
|
| Вадим Захаренко писал(а): | | anton писал(а): | | Лучше забить на "мелкие раздражители" и думать, чего же действительно не хватает. | Хм... (тут снова сработала язва ). А как угадать что делает автор в данный момент, т.е. думать параллельно с ним.
А вот предложить чего мне не хватает как пользователю и надеется что автора заинтересует этот момент, это я могу. |
А не надо угадывать. Просто каждый может предложить то, что на его взгляд нужно и полезно, в частности ему самому. Комментарии предложенного получат все Кстати по опыту, обычно около 50% предложенного юзерами воплощается в последующих версиях. |
|
| Вернуться к началу |
|
 |
crawler
Зарегистрирован: 10.12.2003 Сообщения: 759
|
Добавлено: Сб Дек 13, 2003 12:43 pm Заголовок сообщения: |
|
|
На счет "как надо" форматировать - сырая идейка, но обкатать можно.
Обычно абзац это знак препинания в конце строки - и слово с БОЛЬШОЙ буквы с новой строки. В стихах знак препинания в конце иногда отсутсвует, но обычно новые строки начинаются с большой буквы. Еще можно "маркировать" текст внутри при форматировании - типа здесь кусок обычный, а здесь не совсем, с ним надо повозится побольше.
Кроме того набрел на "баг" : если текст в оригинале был в "дос"-формате, а потом сконвертирован в МС-Ворд, то IBR добавляет абзацы в тех местах где они есть в Вордовском файле. Если же из Ворда этот файл записать снова как текст , то IBR все делает правильно. |
|
| Вернуться к началу |
|
 |
ICE Graphics Site Admin
Зарегистрирован: 26.01.2003 Сообщения: 2751
|
Добавлено: Сб Дек 13, 2003 1:22 pm Заголовок сообщения: |
|
|
| crawler писал(а): | | На счет "как надо" форматировать - сырая идейка, но обкатать можно. |
И даже нужно !
| crawler писал(а): | | Обычно абзац это знак препинания в конце строки - и слово с БОЛЬШОЙ буквы с новой строки. |
Да, смысл в этом есть. Но только как вспомогательный критерий
| crawler писал(а): | | В стихах знак препинания в конце иногда отсутсвует, но обычно новые строки начинаются с большой буквы. |
Чтобы понять где стихи - нужно корректно разделять:
1. Обычный текст
2. Заголовки текста, навания глав
3. Списки
4. Специальное форматирование. Ну типа посвящения. То есть, когда разметка почти как у стихов, но это не стихи. Кроме того, иногда под эту категорию попадают объявления, названия, вывески
5. Стихи
6. Лого, картинки нариосванные текстом
И теперь самое неприятное. Нельзя делать никакие предположения о стандарте форматирования текста. Это значит, может быть как DOS так и Windows формат. Отступы могут быть или не быть. Пробелы между абзацами могут быть или не быть. В общем всё как в жизни.
И ещё вопрос. Предположим, удалось понять, что это стихи. И как их показывать ? Для них хапрертить раскраску первых букв ? Или ещё что-то менять ?
| crawler писал(а): | | Еще можно "маркировать" текст внутри при форматировании - типа здесь кусок обычный, а здесь не совсем, с ним надо повозится побольше. |
Да так сейчас и работает. Причём делается несколько проходов, и на каждом производится анализ различных признаков.
| crawler писал(а): | | Кроме того набрел на "баг" : если текст в оригинале был в "дос"-формате, а потом сконвертирован в МС-Ворд, то IBR добавляет абзацы в тех местах где они есть в Вордовском файле. Если же из Ворда этот файл записать снова как текст , то IBR все делает правильно. |
А разве выбор режима показа DOS/WIN в ICE Reader не решает эту проблему ? |
|
| Вернуться к началу |
|
 |
crawler
Зарегистрирован: 10.12.2003 Сообщения: 759
|
Добавлено: Вс Дек 14, 2003 2:36 pm Заголовок сообщения: |
|
|
| Цитата: | | ... Но только как вспомогательный критерий .. |
это и имелось в виду
| Цитата: | | ..... - нужно корректно разделять: ..... |
мне кажется что нужно упростить задачу. Никто не может требовать от пограммы автоматически переформатировать текст в 500К записанный в одну строку (без затрат на это ЧЕРЕСЧУР больших ресурсов). Задача такова: определить в оригинальном тексте где переход на новую строку - абзац, а где обычное форматирование текста(отнюдь не тривиально). Один из критериев формата может быть отсутсвие знаков препиания или слово с новой строки начинается с маленькой буквы. Можно проверять статитстически количество символов в строке - и если дисперсия невилика, считать что это форматирование.
Если ты хочешь это со мной обсудить, то лучше по мылу, или открыть в форуме обсуждалку с примерами - без них никак.
А с отступами ты отлично справился.
| Цитата: | | Предположим, удалось понять, что это стихи. И как их показывать ? |
На сегодняшний день проблема в том что некоторые строки стихов распознаются как названия глав. Это разбивает текст. ИМХО если каждая строка будет подкрашена как абзац - никому это не будет
мешать. Тем более что длинные строки могут быть разделены на несколько.
| Цитата: | | А разве выбор режима показа DOS/WIN в ICE Reader не решает эту проблему ? |
Ноль на массу. Но это именно если Дос файл был импортирован в Ворд ( он еще и в архиве - может это важно ? ).
Кстати, если такой Ворд файл записать как ХТМЛ, то проблема остается - ИБР не форматирует правильно, и абзацы получаются длинной в 1.5 строки.
... ну и налепил...  |
|
| Вернуться к началу |
|
 |
ICE Graphics Site Admin
Зарегистрирован: 26.01.2003 Сообщения: 2751
|
Добавлено: Пн Дек 15, 2003 12:59 pm Заголовок сообщения: |
|
|
| crawler писал(а): | | мне кажется что нужно упростить задачу. Никто не может требовать от пограммы автоматически переформатировать текст в 500К записанный в одну строку (без затрат на это ЧЕРЕСЧУР больших ресурсов). |
Забудем пока про ресурсы. Или скажем так, это моя проблема, как решить проблему ресурсов. Так вот, а что, существует какой-то супер пупер алгоритм, который сможет понять и грамотно автоматически переформатировать текст? Если да, то очень хочется услышать хотя-бы общую идею.
| crawler писал(а): | | Задача такова: определить в оригинальном тексте где переход на новую строку - абзац, а где обычное форматирование текста(отнюдь не тривиально). |
Я считаю, что как раз эта задача почти полностью. Срыв автомата будет только если будет один большой файл стихов. А для этого случая режим оригинальной разметки решит всё проблемы.
| crawler писал(а): | | Один из критериев формата может быть отсутсвие знаков препиания или слово с новой строки начинается с маленькой буквы. |
Согласен, но это слабый критерий. Так как из знаков подходит только: ".?!". Другие использовать нельзя.
| crawler писал(а): | | Если ты хочешь это со мной обсудить, то лучше по мылу, или открыть в форуме обсуждалку с примерами - без них никак. |
Примеры обладают одним недостатком: решение будет искаться именно под выбранный пример. А в жизни обязательно встретится и противоположный случай.
| crawler писал(а): | | Цитата: | | Предположим, удалось понять, что это стихи. И как их показывать ? |
На сегодняшний день проблема в том что некоторые строки стихов распознаются как названия глав. Это разбивает текст. ИМХО если каждая строка будет подкрашена как абзац - никому это не будет
мешать. Тем более что длинные строки могут быть разделены на несколько. |
То есть, если я правильно понял:
1. Работа автомата опеределющего абзацы ПОЛНОСТЬЮ устраивает
2. Работа автомата отвечающего за поиск названий глав не устраивает
Так я всё это знаю. Автомат определяющий заголовки написан плохо. Но просто не было желания им заниматься. И было решено, пусть уж лучше будет такой, чем никакой.
Поэтому и интересует схемы грамотного поиска начала глав. Как говорится одна голова хороша, а две - мутант :)
| crawler писал(а): | | Цитата: | | А разве выбор режима показа DOS/WIN в ICE Reader не решает эту проблему ? |
Ноль на массу. Но это именно если Дос файл был импортирован в Ворд ( он еще и в архиве - может это важно ? ).
Кстати, если такой Ворд файл записать как ХТМЛ, то проблема остается - ИБР не форматирует правильно, и абзацы получаются длинной в 1.5 строки. |
Так это проблема не ICE Reader. Как MS Word экспорт делает, так ICE Reader строки и берёт. А если каждая строка в MS Word прописана как абзац, то и ICE Reader также берёт строки. |
|
| Вернуться к началу |
|
 |
crawler
Зарегистрирован: 10.12.2003 Сообщения: 759
|
Добавлено: Вс Дек 21, 2003 11:58 am Заголовок сообщения: |
|
|
Хай!
Нашел пару простеньких критериев - работает на 99%.
предположение: текущая строка - не пустая (на ней есть не только пробелы)
текущая строка - заголовок, если
1) пустая строка до и после текущей (явно заголовок)
2) пустая строка до текущей, 2 следующие не пусты, количество слов на ней меньше в 4 раза чем на 2 следующих, или в ней есть цифры.
(проверка на среднее количество слов) .
посложнее:
модифицированный 2) : количество слов на текущей строке меньше в 4 раза чем на 2 следующих(предыдущая могет быть непустая) или в ней есть цифры (арабские или римские ), и формат ее резко отличается от 2 следующих (типа начало строки больше чем 2 суммы первых позиций следующих строк)
на случай пустая-2 строки не пустые-пустая (автор-заголовок):
в первом проходе метится как кандидат на заголовок, во 2м если такие кандидаты не следуют подряд (на случай двустиший), то кандидат об'является заголовком ( и можно подсветить только 1 строку - тоже неплохо).
ну и напоследок можно по тупому искать строки со словами "глава", "часть", "книга" с 2-3 словами на строке.
при инкорпорации с уже существующими и ревизии, должно работать очень неплохо, я проверил 1) и 2) вместе на разных текстах , и получилось неплохо. |
|
| Вернуться к началу |
|
 |
crawler
Зарегистрирован: 10.12.2003 Сообщения: 759
|
Добавлено: Вс Дек 21, 2003 12:02 pm Заголовок сообщения: |
|
|
| Цитата: | | Как MS Word экспорт делает, так ICE Reader строки и берёт. А если каждая строка в MS Word прописана как абзац, то и ICE Reader также берёт строки. |
странно. ведь если тот же текст - "straight text" то фильтр работает "как надо". не стоит ли экспортированный текст тоже пропускать через фильтр определения абзацев ? |
|
| Вернуться к началу |
|
 |
ICE Graphics Site Admin
Зарегистрирован: 26.01.2003 Сообщения: 2751
|
Добавлено: Вс Дек 21, 2003 1:59 pm Заголовок сообщения: |
|
|
| crawler писал(а): | | Цитата: | | Как MS Word экспорт делает, так ICE Reader строки и берёт. А если каждая строка в MS Word прописана как абзац, то и ICE Reader также берёт строки. |
странно. ведь если тот же текст - "straight text" то фильтр работает "как надо". не стоит ли экспортированный текст тоже пропускать через фильтр определения абзацев ? |
Можно раценивать это как баг. Там один бит неверно выставлсяет. Его починить и всё будет OK |
|
| Вернуться к началу |
|
 |
ICE Graphics Site Admin
Зарегистрирован: 26.01.2003 Сообщения: 2751
|
Добавлено: Вс Дек 21, 2003 2:13 pm Заголовок сообщения: |
|
|
| crawler писал(а): | | Нашел пару простеньких критериев - работает на 99%. |
То есть из 100 предложенных мною текстов ошибка будет только в одном ? ))
| crawler писал(а): | | предположение: текущая строка - не пустая (на ней есть не только пробелы) |
Это уже есть
| crawler писал(а): | текущая строка - заголовок, если
1) пустая строка до и после текущей (явно заголовок)
2) пустая строка до текущей, 2 следующие не пусты, количество слов на ней меньше в 4 раза чем на 2 следующих, или в ней есть цифры.
(проверка на среднее количество слов) |
Первое тоже есть. Второе тоже есть, но иначе. Очень смущает критерий "в 4 раза". Думается мне, что процент заголовков, которые короче в 4 раза текста гораздо меньше 99% :(
| crawler писал(а): | посложнее:
модифицированный 2) : количество слов на текущей строке меньше в 4 раза чем на 2 следующих(предыдущая могет быть непустая) или в ней есть цифры (арабские или римские ), и формат ее резко отличается от 2 следующих (типа начало строки больше чем 2 суммы первых позиций следующих строк) |
1. Сравнение в 4 раза всё равно смущает
2. Цифры - это гут. Этого нет, но хотелось сделать. Не было слелано просто из-за лени
3. А как определить, что формат резко отличается ? Идея хороша, но реализация не годится. Различие в начале строки ничего не даст. Может это просто отступ абзаца.
| crawler писал(а): | на случай пустая-2 строки не пустые-пустая (автор-заголовок):
в первом проходе метится как кандидат на заголовок, во 2м если такие кандидаты не следуют подряд (на случай двустиший), то кандидат об'является заголовком ( и можно подсветить только 1 строку - тоже неплохо). |
Не будем трогать автора. Предположим, что автор и название уже известны. Нужно искать только заголовки глав по тексту, а не в его начале.
| crawler писал(а): | ну и напоследок можно по тупому искать строки со словами "глава", "часть", "книга" с 2-3 словами на строке.
при инкорпорации с уже существующими и ревизии, должно работать очень неплохо, я проверил 1) и 2) вместе на разных текстах , и получилось неплохо. |
Словарь - фи Изначально было очень большое желание отказаться от методов поиска заголовков, основанных на словаре.
P.S. Скажу по секрету. Идея, как сделать поиск заголовков есть. И думается, что качество поиска будет не хуже, чем в автомате определяющего автора. Вот только одно воспоминание о сложности автомата ищущего автора не вдохновляет на новые ратные подвиги. |
|
| Вернуться к началу |
|
 |
crawler
Зарегистрирован: 10.12.2003 Сообщения: 759
|
Добавлено: Ср Дек 24, 2003 3:32 pm Заголовок сообщения: |
|
|
блин, накатал ответ, и его сбросило.
| Цитата: | | Очень смущает критерий "в 4 раза". |
Ты не понял. Пустая строка до текущей, 2 следующие не пусты, количество слов на ней меньше в 4 раза чем в сумме на 2 последующих. Таким образом если на текущей в 2 раза меньше слов чем в среднем на строке по абзацу, то это заголовок. Критерий направлен на стихи, и в случае обычного текста работает почти всегда (те самые 99%). Пример облома:
Мой рассказ <- на этой строке есть отступ, но его не видно
Ночь.
Тишина.
* бла-бла-бла *
| Цитата: | | 3. А как определить, что формат резко отличается ? |
По формуле S(L0) >[ (S(L1)+S(L2))/2 + alpha*( S(L1)-S(L2) ) ].
S(K) - начальная позиция текста на строке К
L0 - текущая строка.L1 следующая за ней. L1 =L0+1. L2 = L1+1 = L0+2
alpha - критерий строгости и принимает значения 1 или 2
Если неравенство правдиво, то L0 отстоит намного ( S(L1)-S(L2) - величина отступа) дальше чем текст в среднем.
Еще один критерий - если все буквы на строке в верхнем регистре.
| Цитата: | на случай пустая-2 строки не пустые-пустая (автор-заголовок):
Не будем трогать автора. Предположим, что автор и название уже известны.
|
А сборник стихов или рассказов ? Обычно там как раз и идут такие связки. И именно в тексте. Для начала (первые строк 20) можно сделать специальные правила.
а я и сказал - по-тупому.
| Цитата: | | Вот только одно воспоминание о сложности автомата ищущего автора не вдохновляет на новые ратные подвиги. |
Да и не надо делать управление ракетой. Основная проблема существующего метода поиска заголовков - слишком много "ложных" срабатываний, при этом текст "красится" ни к селу ни к городу, что раздражает. Если же сделать наоборот - некоторые заголовки не будут определятся, то ИМХО мешать это будет меньше. |
|
| Вернуться к началу |
|
 |
Dr_one
Зарегистрирован: 16.03.2004 Сообщения: 2
|
Добавлено: Вт Мар 16, 2004 2:37 am Заголовок сообщения: |
|
|
Уважаемые!!! Я тут новенький. Забрёл на огонек и заинтересовался.
К сожалению, я не спец в программировании, поэтому помочь с готовым алгоритмом не могу, но, в своё время, меня зацепило изучением тяжелой советской поэзии. Идея состоит в следующем: стихотворный текст обладает рядом характерных (я бы даже сказал – стандартных) признаков, позволяющих практически стопроцентно отличать стихи от прозы.
1. Рифма.
Возможно применение некоторого словаря окончаний строк.
2. Стихотворный размер (ямб, хорей и иже с ними).
Классическая поэзия обычно имеет фиксированный размер. Поскольку число размеров невелико алгоритм анализа чередования слогов не должен быть таким уж сложным (хотя еще раз повторю – я не специалист). Даже монструозные произведения тов. Маяковского имеют характерную структуру.
3. Альтернанс.
Одно из требований при переводе иностранной поэзии – сохранение оригинального альтернанса, поэтому возможно выделение стихотворения из текста по чередованию мужских и женских рифм. С русскоязычной поэзией тоже самое – альтернанс там присутствует (за исключением совсем запущенных случаев).
Вроде всё! |
|
| Вернуться к началу |
|
 |
ICE Graphics Site Admin
Зарегистрирован: 26.01.2003 Сообщения: 2751
|
Добавлено: Вт Мар 16, 2004 11:37 am Заголовок сообщения: |
|
|
| Dr_one писал(а): | К сожалению, я не спец в программировании, поэтому помочь с готовым алгоритмом не могу, но, в своё время, меня зацепило изучением тяжелой советской поэзии. Идея состоит в следующем: стихотворный текст обладает рядом характерных (я бы даже сказал – стандартных) признаков, позволяющих практически стопроцентно отличать стихи от прозы.
1. Рифма.
Возможно применение некоторого словаря окончаний строк.
2. Стихотворный размер (ямб, хорей и иже с ними).
Классическая поэзия обычно имеет фиксированный размер. Поскольку число размеров невелико алгоритм анализа чередования слогов не должен быть таким уж сложным (хотя еще раз повторю – я не специалист). Даже монструозные произведения тов. Маяковского имеют характерную структуру.
3. Альтернанс.
Одно из требований при переводе иностранной поэзии – сохранение оригинального альтернанса, поэтому возможно выделение стихотворения из текста по чередованию мужских и женских рифм. С русскоязычной поэзией тоже самое – альтернанс там присутствует (за исключением совсем запущенных случаев). |
Мда... Я в ауте... Есть несколько возражений:
1. Всё эти фичи зависят от языка. А хочется решение, которое будет одинакого хорошо работать на любом языке
2. Сложность программирования переходит все разумные рамки. Делать лексический анализ языка - это задача не для читалки.
3. Никто не засекал, сколько времени нужно Prompt для перевода 500KB текста ? Так вот, я думаю, что народ будет очень сильно возражать против такого резкого замедления работы импорта ICE Reader. Он и так не быстр. А предлагается его замедлить в разы !!! |
|
| Вернуться к началу |
|
 |
Virus
Зарегистрирован: 09.10.2003 Сообщения: 256 Откуда: Москва
|
Добавлено: Вт Мар 16, 2004 12:27 pm Заголовок сообщения: |
|
|
| Цитата: | | Никто не засекал, сколько времени нужно Prompt для перевода 500KB текста ? |
давай текст, засеку |
|
| Вернуться к началу |
|
 |
Dr_one
Зарегистрирован: 16.03.2004 Сообщения: 2
|
Добавлено: Ср Мар 17, 2004 12:59 am Заголовок сообщения: |
|
|
Все правильно, за исключением того, что размер (стихотворный метр) штука интернациональная. От языка к языку изменяется набор гласных, а порядок чередования слогов, характерный для данного метра остается неизменным. Поэтому МОЖНО создать некие шаблоны и анализировать текст с их помощью. В данном случае, не играет роли, как отформатирован оригинальный текст. Хоть одной строкой. Стихи будут выделены. Другое дело, что разбить их на отдельные строки не удастся (за исключением случая, когда закон чередования в соседних строках отличается). Но тут действительно все упирается в чрезмерную сложность реализации и ограниченность ресурсов. Либо шашечки, либо доехать… Да и есть поэзия которую не в один шаблон не загонишь (современная поп-музыка, например). :)
Однако существование простого и надежного способа определения стихов вообще под вопросом. Как и существование простого способа определения начала абзаца (ели рассуждать об определении с вероятностью близкой к 100%). Стихи, по крайней мере, можно идентифицировать по их ритмичности, а отдельный абзац только по смысловому содержанию (если текст не отформатирован или отформатирован криво). Помните, как учили в школе, абзац – законченная мысль! Поэтому осуществить подобное до появления полноценного ИИ – фокус почище копперфильдовского – настоящая магия! Определение же по косвенным признакам дает высокую вероятность ошибки (и имеется необходимость в предварительном форматировании текста, чтобы появились эти самые признаки).
Попробуем с моим спецом по обработке данных подумать над этими вопросами повнимательней. Сильно чтой-то меня зацепило. Неравнодушен я к поэзии и Вашей программе. :)
P.S. На моей домашней машине ПРОМТ перевел файл длинной 1 379 496 байт (С. Садов «Рыцарь ордена» ч.3) с русского на английский за ≈19 секунд. |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|