|
| |
Автор | Сообщение | Критика и предложения |
---|
Андрей28 Участник
Сообщений : 74
| Андрей28 | :: Чт Янв 13 2011, 01:28 | Чт Янв 13 2011, 01:28 | |
| - evmir1 пишет:
- Иногда запятая очень важна, сравните:
все пошли домой=все пошли домой все, пошли домой=всё, пошли домой Русский язык - мощная штука! Я ничего не писал про "не важность запятой".
Спасибо за сказку на ночь "Казнить нельзя помиловать"
- Андрей28 пишет:
- И проблема будет решена, если знаки препинания рассматривать, как слова.
Нет, ошибся я. Это - просто мысли и они не решат проблемы, поскольку к слову "все" без запятой при методе переборки не будут применены оба этих правила. (точно так-же, как и в вашем)
Проблема - в другом. При фразе в тексте: "хватит болтать", сначала будут применены правила из гнезда "ХВАТИТ", а потом из "БОЛТАТЬ". И это не поправить простым изменением очереди в гнезде. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Чт Янв 13 2011, 02:51 | Чт Янв 13 2011, 02:51 | |
| Андрей28 Несколько дней назад пользователь с ником Sekuka просил не добавлять новых опций в коррекцию произношения; а теперь Вы предлагаете поменять порядок применения правил в быстром методе. Вы понимаете, что подобная модификация затронет уже существующие списки правил? Не думаю, что это обрадует составителей словарей на этом форуме.
Надо "плясать" от конкретных примеров. Приведите примеры "проблемных" текстов или правил, которые не срабатывают в нынешних версиях "Демагога" и "Балаболки". Тогда и будем обсуждать, как это исправить и что необходимо модифицировать в алгоритме. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 03:30 | Чт Янв 13 2011, 03:30 | |
| Я что-то не понял? Или ветка называется не "Критика и предложения".
Если быстрый метод, который хорош, тем, что он - быстрый, будет сочетать в себе и предсказуемость применения правил, то старый метод - можно будет сносить - смело.
И списки менять будет незачем, если они будут работать аналогично старому методу.
- balabolka пишет:
- Надо "плясать" от конкретных примеров. Приведите примеры "проблемных" текстов или правил, которые не срабатывают в нынешних версиях "Демагога" и "Балаболки". Тогда и будем обсуждать, как это исправить и что необходимо модифицировать в алгоритме.
Я, конечно, понимаю, что это форум пользователей, но для вас такие рассуждения странны. Изначально возникла проблема непредсказуемости порядка применения правил. Вы согласны подчищать баги, вместо того, чтобы убрать проблему, порождающую их?
Кстати, поскольку меня сильно обеспокоила просьба Sekuka, я и не собирался добавлять опции в коррекцию произношения.
Меня - просто заинтересовал алгоритм автора программы. На сколько я понял, он и является автором быстрого метода. И мне захотелось потренировать мозг в решении проблемы (которой, может и нет). Но мне, все-же кажется, что есть. Не зря-же сам автор постоянно сравнивает количество совпадений со стандартным методом.
|
|
| | | flegont V.I.P.
Сообщений : 355
Репутация : 476
| flegont | :: Чт Янв 13 2011, 08:23 | Чт Янв 13 2011, 08:23 | |
| "Внимание, товарищи! Даю пояснения для прессы!" (профессор Выбегалло)
Быстрый метод применяет к одному слову столько правил из словаря, сколько возможно, т.е. пока в хеш-таблице еще находятся к этому слову подходящие правила. Примеры - на сайте программы.
Правила в словарном гнезде сортируются в порядке убывания длины, но при этом правила, имеющие одинаковую длину сохраняют взаимный порядок расположения такой же, в каком они были взаимно расположены в словаре. (Во загнул фразу! надеюсь, понятно, что я хотел сказать). Принцип сортировки правил по убыванию длины не хорош и не плох, просто так поступил в свое время автор одной из первых говорящих программ - "Говорилки" и этот принцип стал традицией.
Рассматривать знаки препинания в качестве отдельных слов в свое время помешал принятый мною принцип деления текста на слова: отдельным словом назвается то, что отделено от остального текста ПРОБЕЛАМИ. Теперь же возвращаться к рассмотрению прежних, (очень даже интересных) но ранее отвергнутых вариантов, нельзя по причинам, которые уже здесь кратко и ясно изложил Балаболка.
Да, я автор быстрого метода . Все чего я хотел добиться - это а) СКОРОСТИ б) максимально возможного совпадения результатов с классическким методом. Что подвигло на сей труд? Ужас и шок, испытанные от применения классич. метода прямого перебора целиком к тексту размером с небольшой рассказ - страниц 10.
"Доводить до ума" быстрый метод пришлось долго. Успеху содействовало активное участие пользователей в тестировании; полезное обсуждение метода с Ильей Морозовым, автором Балаболки; и мой собственный фанатизм. (Увлекся, однако)
Что же касается отдельных, "экзотических" вариантов правил, которые обрабатываются быстрым методом не так, как класическим, то... идеал недостижим, так же как скорость света. Проще скорректировать правило.
И, наконец. Исходный текст быстрого метода - открыт. Желающие (и умеющие) могут попробовать свои силы в его совершенствовании. И сравнить скорость работы того что получится с исходным вариантом. Я пока не вижу, что бы еще такого из метода можно выжать. Это, конечно, не значит, что я прав, просто лично я сделал все что мог
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 09:06 | Чт Янв 13 2011, 09:06 | |
| - flegont пишет:
Спасибо за пояснения. Принцип - вполне понятен.
- flegont пишет:
- Что касается отдельных, "экзотических" вариантов правил, которые обрабатываются быстрым методом не так, как классическим, то... идеал недостижим, так же как скорость света. Проще скорректировать правило.
Идеал - действительно не достижим. Но речь идет не об идеале, а о вполне конкретно сформулированной задаче. А именно: добиться выполнения правил - строго по списку, без перебора словаря N-раз. (где N - количество слов в тексте) Может оно и не нужно. Только задача была сформулирована и ее обдумывание (тож увлекся ) уже отняло одну ночь. За код не возьмусь, поскольку ночей, все же, жалко на те вещи, которые увлекают меня больше.
Но непредсказуемость поведение программы (точнее - интуитивно не понятная предсказуемость) как-то меня не оставила в покое. Правило из куста, изменяя слово, могло бы сделать ненужным применение, уже примененных правил (словосочетания) из куста левого слова или могло потребовать применение новых правил, если бы было применено раньше. (чет я - тоже загнул)
- flegont пишет:
- И сравнить скорость работы того что получится с исходным вариантом. Я пока не вижу, что бы еще такого из метода можно выжать .
А, разве нет скорости, которую нет смысла превышать? Тут, ведь главное, чтобы голос не ждал программу. А выше - просто смысла нет. (конечно, если речь идет о чтении голосом).
Собственно говоря, может оно и правда не надо, но, когда я слышу про 99%, то само как то спрашивается.... А сто нельзя?... Я не могу (в своей работе) позволить себе результат меньше ста... Все ошибки и непредсказуемости - могут быть - только из некорректных исходных данных. Все-таки - можно. Скорость - конечно потеряется. Трудно предположить на сколько, но на уровне алгоритма вопрос - для меня исчерпан.
Кстати, после прочтения ваших "четыре четырки" - просто, чуть стоя не аплодировал...
Я - чес слово не буду больше затрагивать этих вопросов на форуме. Но соображения пошлю на почту. Просто мне их жалко просто так забыть. |
|
| | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Чт Янв 13 2011, 09:45 | Чт Янв 13 2011, 09:45 | |
| Призывы к очередной революции. Прекрасно. Пока это только позыв. По-существу написанного: -предложение считать запятую словом - сродни вандализму. Люди знакомые с существующими русскоязычными движками прекрасно знают, что слово с запятой(точкой) в движках в тексте очень часто читаются неправильно, в связи с внутренними ошибками этих движков. -новое хорошо тогда, когда оно может существенно изменить в лучшую сторону существующий метод. В высказанных вслух мыслях выгода от изменений не вырисовывается, а геморой предвидится. Да и сами предложения сумбурны. -очередному предводителю мятежных масс можно порекомендовать создать свой метод или модификацию, и потестить его хотя бы на том уровне как это сделал автор "быстрого" метода. Тогда и выходить на публичное обсуждение. Успехов в создании четвертого(пятого) метода обработки существующих(новых) словарей)
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 10:16 | Чт Янв 13 2011, 10:16 | |
| - Sekuka пишет:
- Призывы к очередной революции.
Да Бог с вами... Просто подумалось, а вдруг мои мысли покажутся интересными не только мне
- Sekuka пишет:
- -предложение считать запятую словом - сродни вандализму. Люди знакомые с существующими русскоязычными движками прекрасно знают, что слово с запятой(точкой) в движках в тексте очень часто читаются неправильно, в связи с внутренними ошибками этих движков.
Движку - абсолютно все равно, чем считает запятую(точку) программа по замене текста. И этот довод - тут совсем не при чем. Собственно программы по замене текста и создаются из-за ошибок движков. Вопрос: а чем считать запятую (точку), если с нее начинается фраза для замены и после нее стоит пробел?
- Sekuka пишет:
- -новое хорошо тогда, когда оно может существенно изменить в лучшую сторону существующий метод.
Вот тут - соглашусь. Гемора - много, а результат... Но мысль родилась из поставленной задачи.
- flegont пишет:
- Все чего я хотел добиться - это а) СКОРОСТИ б) максимально возможного совпадения результатов с классическим методом.
Спорт, не более... - Sekuka пишет:
- Да и сами предложения сумбурны.
Предложений - пока, еще небыло.
- Министру полного пессимизма и вечного уныния можно посоветовать - просто не читать те мысли, которые ему не нравятся. Тогда и не придется публично обсуждать неприятные ему темы.
И потом, в этой теме - довольно узкий круг. Вы где публичность увидели? Или это - просто самомнение такое? |
|
| | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Чт Янв 13 2011, 10:39 | Чт Янв 13 2011, 10:39 | |
| - Цитата :
- Вопрос: а чем считать запятую (точку), если с нее начинается фраза для замены и после нее стоит пробел?
Ваш случай из разряда экзотических, т.е. высосанных из пальца? - Цитата :
- flegont пишет:
- Цитата :
- Все чего я хотел добиться - это а) СКОРОСТИ б) максимально возможного совпадения результатов с классическим методом.
Спорт, не более... Это жизнь. Посмотрите на процессоры нетбуков и планшетов и увидите нишу. - Цитата :
- Министру полного пессимизма и вечного уныния можно посоветовать
За пОртфель, спасибо, но пожалуй, откажусь. - Цитата :
- И потом, в этой теме - довольно узкий круг. Вы где публичность увидели? Или это - просто самомнение такое?
Пишущие - это только верхушка айсберга. читающих на пару порядков больше. Да и не зацепил никого этот взлет "творческой" мысли.
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 11:09 | Чт Янв 13 2011, 11:09 | |
| - Sekuka пишет:
- Ваш случай из разряда экзотических, т.е. высосанных из пальца?
Речь изначальна шла о знаках препинания (всех). Экзотических - согласен. Высосанных - скорее нет.
Из существующего словаря:
"грозы"="грозЫ" "сокол"="сОкол" - господа!=- господА!
Еще я подумал, что если бы мне нужно было бы дать инструмент в руки филологам, которые понимают в своем деле больше меня, то было бы не правильно по своему усмотрению лишать их возможности самим решать с чего начинать группу для замены (не буду называть ее словосочетанием).
- Sekuka пишет:
- Это жизнь. Посмотрите на процессоры нетбуков и планшетов и увидите нишу.
Вы не поняли. Спорт, это я о том, почему мне захотелось оценить возможность точного выполнения этой задачи. Спорт, не более (это - с моей стороны).
- Sekuka пишет:
- Пишущие - это только верхушка айсберга. читающих на пару порядков больше. Да и не зацепил никого этот взлет "творческой" мысли.
Ну, раз вы за всех отвечаете, тогда - точно самомнение. |
|
| | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Чт Янв 13 2011, 11:26 | Чт Янв 13 2011, 11:26 | |
| - Андрей28 пишет:
- Sekuka пишет:
- Цитата :
- Пишущие - это только верхушка айсберга. читающих на пару порядков больше. Да и не зацепил никого этот взлет "творческой" мысли.
Ну, раз вы за всех отвечаете, тогда - точно самомнение. Ваша логика напоминает следующее: Если лохматое, значит животное. Есть хвост - значит собака. Классический пример домысливания и навешивания ярлыков. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 11:38 | Чт Янв 13 2011, 11:38 | |
| , господа!=, господА!
И не собака и не лохматое, а на вопрос про знак препинания вы не ответили.
Вы так нервничаете потому, что у вас не получилось навесить на меня ярлык "предводителя мятежных масс"? |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Чт Янв 13 2011, 11:45 | Чт Янв 13 2011, 11:45 | |
| - Андрей28 пишет:
- А, разве нет скорости, которую нет смысла превышать? Тут, ведь главное, чтобы голос не ждал программу.
Вы имеете в виду применение правил на "лету"7 Но с русскоязычными движкаи это совершенно неудобно! Практичнее делать предобработку, в этом случае скорость имеет значение. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 12:00 | Чт Янв 13 2011, 12:00 | |
| - evmir1 пишет:
- Но с русскоязычными движкаи это совершенно неудобно! Практичнее делать предобработку, в этом случае скорость имеет значение.
Имеет, конечно. Но быстрый метод - он же создавался и для лета... Или я что-то не так понял? И, потом, если на лету прочтет без тормозов, то есть ли необходимость в предварительной подготовке? |
|
| | | flegont V.I.P.
Сообщений : 355
Репутация : 476
| | | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Чт Янв 13 2011, 12:10 | Чт Янв 13 2011, 12:10 | |
| - Андрей28 пишет:
- , господа!=, господА!
а на вопрос про знак препинания вы не ответили.
- Андрей28 пишет:
- ,
Вопрос: а чем считать запятую (точку), если с нее начинается фраза для замены и после нее стоит пробел?
Вас такой синтаксис чем-то не устраивает? *, господа!=, господА!
|
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Чт Янв 13 2011, 12:13 | Чт Янв 13 2011, 12:13 | |
| - Андрей28 пишет:
- И, потом, если на лету прочтет без тормозов, то есть ли необходимость в предварительной подготовке?
Конечно есть!!! Напр. какой-то омограф прозвучал неправильно, то если на "лету", то нужно проверять, имеется правило с данным омо в словаре замен, или нет. А если словарей несколько по разным причинам. Неудобно! |
|
| | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Чт Янв 13 2011, 12:17 | Чт Янв 13 2011, 12:17 | |
| , господа!=, господА! кстати, тоже работает в балаболке. Так, что вопрос непонятен. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 12:43 | Чт Янв 13 2011, 12:43 | |
| - Sekuka пишет:
Не работает, если перед запятой стоит буква от предыдущего слова.
Работает - только: в .dic файле строка: *, господа!=, господА! в .rex файле строка: ([\w]), господа!([^\w])=$1, господА!$2
Вопрос не понятен, потому, что не был услышан. Вопрос не стоял, будет работать, или нет. Не будет - однозначно. (, господа!=, господА!) Потому, что запятая относится к предыдущему слову.
- Андрей28 пишет:
- Вопрос: а чем считать запятую (точку), если с нее начинается фраза для замены и после нее стоит пробел?
Вопрос о другом был, а вы его перевели, с присущей вам "логикой" - совсем в другую плоскость. |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Чт Янв 13 2011, 13:13 | Чт Янв 13 2011, 13:13 | |
| - Андрей28 пишет:
- Вопрос о другом был, а вы его перевели, с присущей вам "логикой" - совсем в другую плоскость.
ГосподА, не стОит спорить с переходом на личности. КПД 99% это же замечательно! Где ещё такое возможно? Оставшийся 1% можно легко откоректировать с помощью мозга. Ведь корона не упадёт. А если готовить аудиокнигу к публикации, то автор обязательно будет проверять, нет ли ошибок. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 13:29 | Чт Янв 13 2011, 13:29 | |
| - flegont пишет:
- Словарное гнездо определяется ПЕРВЫМ словом в левой части правила, знаки препинания (если есть) - учитываются. Поэтому правила "все надоело=всё надоело" и "все, хватит!=всё, хватит!" попадут в разные словарные гнезда: ВСЕ и ВСЕ,
- Андрей28 пишет:
- Вот о чем я подумал:
я всегда относился к запятой - как к слову, состоящему из одной буквы. А вы ее прибавляете к слову, получая два разных слова. Но по сути своей слово, с которого начинаются эти два правила ("все надоело=всё надоело" и "все, хватит!=всё, хватит!") - остается - одно. - Андрей28 пишет:
- Нет, ошибся я. Это - просто мысли и они не решат проблемы, поскольку к слову "все" без запятой при методе переборки не будут применены оба этих правила. (точно так-же, как и в вашем)
- flegont пишет:
- Рассматривать знаки препинания в качестве отдельных слов в свое время помешал принятый мною принцип деления текста на слова: отдельным словом назвается то, что отделено от остального текста ПРОБЕЛАМИ.
- Sekuka пишет:
- -предложение считать запятую словом - сродни вандализму. Люди знакомые с существующими русскоязычными движками прекрасно знают, что слово с запятой(точкой) в движках в тексте очень часто читаются неправильно, в связи с внутренними ошибками этих движков.
- Андрей28 пишет:
- Движку - абсолютно все равно, чем считает запятую(точку) программа по замене текста. И этот довод - тут совсем не при чем. Собственно программы по замене текста и создаются из-за ошибок движков.
Вопрос: а чем считать запятую (точку), если с нее начинается фраза для замены и после нее стоит пробел? - Sekuka пишет:
- Ваш случай из разряда экзотических, т.е. высосанных из пальца?
- Андрей28 пишет:
- Речь изначальна шла о знаках препинания (всех).
Экзотических - согласен. Высосанных - скорее нет.
Из существующего словаря:
"грозы"="грозЫ" "сокол"="сОкол" - господа!=- господА!
Еще я подумал, что если бы мне нужно было бы дать инструмент в руки филологам, которые понимают в своем деле больше меня, то было бы не правильно по своему усмотрению лишать их возможности самим решать с чего начинать группу для замены (не буду называть ее словосочетанием). - Андрей28 пишет:
- , господа!=, господА!
а на вопрос про знак препинания вы не ответили. - Sekuka пишет:
- Вас такой синтаксис чем-то не устраивает?
*, господа!=, господА! - Sekuka пишет:
- , господа!=, господА!
кстати, тоже работает в балаболке. Так, что вопрос непонятен. - Андрей28 пишет:
- Не работает, если перед запятой стоит буква от предыдущего слова.
Работает - только: в .dic файле строка: *, господа!=, господА! в .rex файле строка: ([\w]), господа!([^\w])=$1, господА!$2
Вопрос не понятен, потому, что не был услышан. Вопрос не стоял, будет работать, или нет. Не будет - однозначно. (, господа!=, господА!) Потому, что запятая относится к предыдущему слову. Вопрос о другом был, а вы его перевели, с присущей вам "логикой" - совсем в другую плоскость. |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Чт Янв 13 2011, 13:51 | Чт Янв 13 2011, 13:51 | |
| Повторное и массовое цитирование не приветствую. Кто понял, тот понял, кто нет - значит нет. |
|
| | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Чт Янв 13 2011, 13:58 | Чт Янв 13 2011, 13:58 | |
| Андрей28, Если интерес вызывало, является ли запятая словом или нет, ответ предельно прост. Запятая является символом. Как сделать так, чтобы сработало правило если она следует сразу за предыдущем словом без пробела я вам показал. *, господа!=, господА! Если нужно, чтобы запятая была самостоятельным словом, т.е. между ею и предыдущим словом был пробел, то сработают оба написанных правила. *, господа!=, господА! , господа!=, господА! Разделить слово и запятую можно несложным правилом на основе регулярных выражений. На случай если религия не позволяет добавить звездочку.
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 13 2011, 14:13 | Чт Янв 13 2011, 14:13 | |
| - Sekuka пишет:
- Андрей28, я все же о Вас был лучшего мнения.
Если интерес вызывало, является ли запятая словом или нет, ответ предельно прост. Запятая является символом. Как сделать так, чтобы сработало правило если она следует сразу за предыдущем словом без пробела я вам показал. Если нужно, чтобы запятая была самостоятельным словом, т.е. между ею и предыдущим словом был пробел, то сработают оба написанных правила. Да небыло интереса такого. о котором вы говорите. Был разговор, о быстром методе, о его улучшении и о том, что, возможно перевод знаков в разряд слов помог бы, в какой-то степени решить проблему. (возможно и ошибочное) вы постоянно даете ответы на вопросы, которых я не задавал. Вы начинаете мне рассказывать, как сработают правила (но я - не спрашивал), которые я и так знаю, как сработают. Вы начинаете объяснять, что есть запятая в Русском языке. В результате своими ответами никчему и ни к какому вопросу, наша дискуссия превратилась в простой базар. И мне жаль что я поддался на это... Поддался с вашего первого сообщения о предводителе бунтовщиков. В нем изначально небыло ничего доброго и конструктивного. Я о вас - никак не думал. Вы - все сами сказали своими сообщениями. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Чт Янв 13 2011, 14:20 | Чт Янв 13 2011, 14:20 | |
| Андрей28 Правило в таком виде: - Код:
-
, господа!=, господА! не будет работать ни в "быстром", ни в "стандартном" методах. Пользователь Sekuka указал правильный способ записи подобных выражений: - Код:
-
*, господа!=, господА! Насколько я понимаю, Вы именно об этом и спрашивали - как добиться того, чтобы выполнялись правила, начинающиеся со знака препинания; вот и ответ - добавить символ "*" в начало шаблона.
Убедительная просьба - сообщайте о реально возникающих проблемах при применении правил; не хотелось бы вести разговор о теоретических примерах. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 12:24 | Пт Янв 14 2011, 12:24 | |
| - balabolka пишет:
- Убедительная просьба - сообщайте о реально возникающих проблемах при применении правил; не хотелось бы вести разговор о теоретических примерах.
Уважаемые товарищи по одному из увлечений, для обсуждений примеров ошибок (я так думал) есть тема, которая называется "Извещения об ошибках". Я же хотел поговорить о самой программе. А именно о методах обработки словарей. И не только существующем, но и о теоретически возможном. Соответственно разговор я пытался начать именно в этой теме, которая называется "Критика и предложения". Для обсуждения теоретически возможного алгоритма обработки словаря - естественно большинство примеров будут - теоретическими. Может у вас так исторически сложилось, что частные примеры из пользовательского опыта обсуждаются в том месте, где оживляется разговор. На данный момент:
У меня есть алгоритм (записанный на "бумаге" именно на уровне алгоритма) в соответствии с которым можно обрабатывать словари "быстрым методом", но с полным соблюдением очередности правил в пользовательских словарях. Насколько это необходимо - один из предметов разговора. Естественно скорость "быстрого метода" пострадает, за счет дополнительных действий по определению порядка применения правил.
На данный момент мне - очень самому хочется понять - на сколько такое нововведение необходимо. И насколько "выгоды" от него важны. Насколько неприемлемы все потери от его применения.
Теория? Да. Теория.
Но именно она меня сейчас и интересует. И совершенно необязательно "создать", чтобы иметь право выходить на публику, для обсуждения необходимости и возможности создания. Зато у каждого есть право не принимать участия в разговоре, который его не интересует.
Одна из МИЗЕРНЫХ составляющих того, что я хотел предложить на обсуждение - рассмотрение знака препинания - как отдельного слова (естественно - с точки зрения программы обработки. Я не вношу новых правил в Русский язык).
Поэтому и было взято правило: , господа!=, господА! ,как пример разного подхода существующего и предлагаемого (на обсуждение по его необходимости) методов.
|
|
| | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Пт Янв 14 2011, 12:56 | Пт Янв 14 2011, 12:56 | |
| вирус -фрагмент кода, способный при активации нелегально "прице*****ся" к другим программам или документам и таким образом перемещаться между компьютерами (на дискетах или по сети), часто производя различные вредные действия, которые нарушают нормальное функционирование системы |
|
| | | Sekuka Посетитель
Сообщений : 29
Репутация : 8
| Sekuka | :: Пт Янв 14 2011, 13:22 | Пт Янв 14 2011, 13:22 | |
| (лат. virus яд) неклеточные формы жизни, обладающие геномом (ДНК или РНК), но лишенные собственного синтезирующего аппарата и способные к воспроизведению лишь в клетках более высокоорганизованных существ. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пт Янв 14 2011, 13:41 | Пт Янв 14 2011, 13:41 | |
| - Андрей28 пишет:
- Зато у каждого есть право не принимать участия в разговоре, который его не интересует.
Изменения в алгоритме применения правил напрямую касаются меня, потому что это именно мне, а не Вам, придется отвечать на многочисленные e-mail'ы от Ивана из Читы или Инессы из Санкт-Петербурга с вопросами «Почему правило XXX из словаря NNN.dic работает в "Балаболке" и не работает в "Говорилке" (и наоборот)?». Нравится Вам или нет, но реальность такова, что существует несколько достаточно популярных российских программ для чтения вслух ("Говорилка", "KooBAudio", "ABoo", "Балаболка", "Демагог"), которые используют словари одного и того же формата; и этих словарей достаточно большое количество - над их созданием уже несколько лет трудятся десятки, если не сотни людей.
Еще раз вдумчиво перечитайте сообщение автора "быстрого" метода, опубликованное в этой ветке чуть ранее; обратите внимание на слова: "Все, чего я хотел добиться, - это ... максимально возможного совпадения результатов с классическим методом". Слова эти написаны не просто так - обеспечение совместимости алгоритмов во всех существующих программах остается одной из приоритетных задач и для "Демагога", и для "Балаболки". На данный момент можно утверждать, что совместными усилиями программистов и пользователей удалось добиться весьма высокой степени совпадения результатов "быстрого" и "классического" методов.
Если Вы хотите изменить алгоритм применения правил, то Вам придется предложить что-то очень серьезное, что заслуживает того, чтобы отказаться от совместимости с "классическим" методом. Если Вы уверены, что овчинка стоит выделки, - пожалуйста, рады будем выслушать Ваши идеи. |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Пт Янв 14 2011, 13:45 | Пт Янв 14 2011, 13:45 | |
| - Sekuka пишет:
- вирус -фрагмент кода, способный при активации нелегально "прице*****ся"
Sekuka, это лишнее! Андрей28 рассуждает теоретически, и имеет на это полное право. Это же не Добрый Фей. Серьёзный спор полезен для прогресса, но без оскорблений явных или не явных. То, что Андрей28 предлагает, интересно именно Вену и Илье, потому что ОНИ являются авторами программ, а не Sekuka. Андрей, советую Вам послать свои теоретические наработки Вену, но если Вы хотите сохранить авторство, придётся работать самому, ну и в будущем, возможно мы получим интересную прогу. Вам решать. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 14:03 | Пт Янв 14 2011, 14:03 | |
| - balabolka пишет:
- Добрый Фей. Серьёзный спор полезен для прогресса, но без оскорблений явных или не явных.
То, что Андрей28 предлагает, интересно именно Вену и Илье, потому что ОНИ являются авторами программ, а не Sekuka. Андрей, советую Вам послать свои теоретические наработки Вену, но если Вы хотите сохранить авторство, придётся работать самому, ну и в будущем, возможно мы получим интересную прогу. Вам решать. Что-то мы тут не понимаем друг-друга. Я именно потому и озадачился этим вопросом. Потому, что меня - самого не устраивала разница в обработке словарей. И мое (не предложение. конечно, а мысли) были, как раз и направлены на возможность 100% совпадения применения словаря быстрым методом, по сравнению с классическим. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 14:08 | Пт Янв 14 2011, 14:08 | |
| - evmir1 пишет:
- Андрей, советую Вам послать свои теоретические наработки Вену, но если Вы хотите сохранить авторство, придётся работать самому, ну и в будущем, возможно мы получим интересную прогу. Вам решать.
Авторство в данном вопросе - совсем не интересует.
Почему, на форуме - просто сам озадачился, а надо ли оно?
Пока - не понял. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 14:20 | Пт Янв 14 2011, 14:20 | |
| - balabolka пишет:
О двух методах (стандартный и Демагог):
Скажите. пожалуйста, в вашей программе "Балаболка" галочка переключения методов - действительно работает, как переключение методов и правильно ли (в зависимости от метода) выводится статистика применения правил? (очередность)
Понимаю, что вопрос по "Балаболке" не тут должен рассматриваться, но он проходной и речь идет - больше о сравнении методов. |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Пт Янв 14 2011, 14:21 | Пт Янв 14 2011, 14:21 | |
| - Андрей28 пишет:
- И мое (не предложение. конечно, а мысли) были, как раз и направлены..
На данный момент ситуация такова, что к просто мыслям по поводу методов очень осторожно относятся! Вы поразмышляли, Вас услышали, Теперь нужно конкретное, серьёзное предложение. Если его нет, то никто ничего НЕ изменит! Многих устраивает, то что есть сейчас.
|
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пт Янв 14 2011, 14:46 | Пт Янв 14 2011, 14:46 | |
| - Андрей28 пишет:
- Скажите. пожалуйста, в вашей программе "Балаболка" галочка переключения методов - действительно работает, как переключение методов и правильно ли (в зависимости от метода) выводится статистика применения правил? (очередность)
"Галочка" переключения методов действительно работает, и переключение между методами осуществляется. Статистика применения правил зависит от текущего выбранного метода ("стандартного" или "быстрого").
По умолчанию в окне статистики правила отсортированы в том порядке, в котором они применялись к тексту. (Но надо понимать, что в случае "быстрого" метода программа просматривает текст по словам, так что применяются только те правила, что относятся к текущему слову; в окне статистики правила располагаются в зависимости от их места в ОБЩЕМ списке правил).
Если хотите увидеть общий список всех правил, отсортированных так, как они применяются к тексту, то щелкните правой кнопкой мыши на панели словарей и в появившемся контекстном меню выберите пункт "Показать список". |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 15:01 | Пт Янв 14 2011, 15:01 | |
| - balabolka пишет:
Последний вопрос для уточнения.
Скажите, пожалуйста. В классическом методе (в вашей программе) правила применяются - строго по порядку. или есть, все-же какой-то перебор? |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 15:03 | Пт Янв 14 2011, 15:03 | |
| - evmir1 пишет:
- Вы поразмышляли, Вас услышали, Теперь нужно конкретное, серьёзное предложение.
Есть у меня соображения, по которым новые методы - действительно не нужны.
А именно: классический метод - перестал быть совсем классическим, а "демагог" - тоже изменяется для большей универсальности.
Если будет выработан один метод удовлетворяющий всех, то больше и не нужно ничего.
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 15:22 | Пт Янв 14 2011, 15:22 | |
| - balabolka пишет:
- Если хотите увидеть общий список всех правил, отсортированных так, как они применяются к тексту, то щелкните правой кнопкой мыши на панели словарей и в появившемся контекстном меню выберите пункт "Показать список".
ну, так и есть. После применения этой функции - отчетливо видно, что очередности применения по очередности записи в списке не осталось и в классическом методе.
Тогда и не вижу смысла за него бороться.
Прошу меня извинить за прерванную идиллию, но мои мысли по сохранению Классического метода - действительно лишние, поскольку Классическим он остался - только в части перебора правил и поиске места в тексте - куда он может подойти. Принцип строгой очередности списка - потерян... Формируется свой список, после формирования которого, достигается максимальное сходство двух методов. |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| | | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пт Янв 14 2011, 15:25 | Пт Янв 14 2011, 15:25 | |
| - Андрей28 пишет:
- В классическом методе (в вашей программе) правила применяются - строго по порядку. или есть, все-же какой-то перебор?
Текст читается порциями (например, по абзацам). Берется первый абзац из текстового файла, берется первое правило из списка правил, отсортированного специальным образом (более длинные правила - в начале списка, короткие - в конце). Первое правило применяется к первому абзацу столько раз, сколько это возможно. Затем второе правило (опять-таки, ищутся все совпадения с шаблоном правила внутри абзаца), третье и т.д. Далее вся процедура повторяется во вторым абзацем текста, третьим и т.д.
Это и есть "классический" (или, как его еще называют, "стандартный") метод применения правил, созданный автором программы "Говорилка". |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 15:27 | Пт Янв 14 2011, 15:27 | |
| - evmir1 пишет:
нет, не голословное. К вечеру - выложу. |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Пт Янв 14 2011, 15:43 | Пт Янв 14 2011, 15:43 | |
| - Андрей28 пишет:
- нет, не голословное.
К вечеру - выложу. Будем ждать, очень интересно! |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Пт Янв 14 2011, 16:03 | Пт Янв 14 2011, 16:03 | |
| Немного юмора; один пользователь на одном форуме написал: "Зачетный троллинг, но толстоват, фейковый аккаунт слишком топорно сделан и географию френдов бы расширили. халтура вобщем." Думаю, что данному набору словоформ, ни Стандартный метод, ни Быстрый не помогут.
|
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пт Янв 14 2011, 16:10 | Пт Янв 14 2011, 16:10 | |
| Да, ни один из двух методов применения правил не соблюдает "принцип строгой очередности списка". Список правил сортируется специальным образом, и в этом есть определенный смысл: вполне логично первыми проверять более длинные шаблоны, которые осуществят основное изменение текста, а уж затем применять более короткие правила для изменения отдельных слов.
Теоретически, вполне можно было и не выполнять специальную сортировку, а использовать тот порядок строк, что есть в словаре. НО! Выбор в пользу сортировки уже сделан до нас, автором "Говорилки" ("кто первым встал, того и тапки" (с) народная мудрость); существующие словари были созданы и протестированы для этого способа сортировки еще до того, как программисты приступили к созданию "Балаболки" и "Демагога".
Еще один довод в пользу сортировки - одновременное использование НЕСКОЛЬКИХ СЛОВАРЕЙ. Специальная сортировка позволяет эффективно объединять несколько списков правил. В случае же строгой очередности применения правил из списков это будет сделать сложнее (не стану приводить конкретные примеры, просто поверьте моему опыту).
То есть, дело не просто в том, чтобы "быстрый" и "классический" давали одинаковые результаты при применении, а еще в том, чтобы существующие словари сохраняли свою работоспособность и после тех изменений, что Вы намереваетесь предложить. Подумайте об этом. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 17:43 | Пт Янв 14 2011, 17:43 | |
| - balabolka пишет:
Наверное вы, все-же правы. Я - ошибочно принял стандартный метод, как строгое соответствие последовательности.
- balabolka пишет:
- Еще один довод в пользу сортировки - одновременное использование НЕСКОЛЬКИХ СЛОВАРЕЙ
И тут не только соглашусь, но - даже дополню. А применение нескольких неизвестных или не проверенных словарей? Хоть какая-то осмысленная сортировка (по алфавиту - не решает всех задач) - благо.
Опус выкладывать не буду. Потому, что то, что я начал писать начиналось так:
- Спойлер:
Итак, задача: 1. Использование быстрого метода необходимости применения правил. (таблица) 2. Применение правил, влияющих на один участок текста - строго по положению их а списке правил. Условные обозначения и пояснения:
<Рс> - (рассматриваемое слово). Это то слово, над которым производится работа. Для которого выбираются правила из таблицы. В соответствии с "быстрым" методом, слова из текста рассматриваются по порядку следования в тексте. (первое, второе и т. д.)
<Nпр> - (номер правила) Каждое правило - имеет свой номер (соответствует номеру этого правила в списках правил. По порядку)
<Сс> - (список слова). Это - список правил, взятых из таблицы (куст для данного слова). Но список - это не куст, т.к. в ходе выполнения программы список может изменяться, а куст - может измениться - только с изменением списка правил. Правила в списке расположены по возрастанию <Nпр>. Думаю, что и в кусте слова могут лежать по возрастанию <Nпр>(так - удобнее для дальнейших задач)
<переход к левому списку, переход к правому списку> - правила из <Сс> для <Рс> не выполняются сразу. В ходе проверки следующих слов может возникнуть необходимость дополнения этих списков. Вот для операций со списками, отложенными для последующего выполнения и нужно перемещение по этим спискам. Поскольку эти списки принадлежат конкретным словам текста, то и перемещение по ним - как по тексту (лево, право).
<ГСс> - (глубина влияния <Сс>). Поскольку ни одно правило из <Сс> не может влиять на слово, стоящее левее, то мы рассматриваем количество слов, на которые оказывают влияние правила из этого списка, находящихся справа.
Там - ничего главного. еще не написано, но написано все правильно. За исключением задачи
А посему - смысла не имеет. Ну. разве что - кроме спортивного))))) |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Пт Янв 14 2011, 18:37 | Пт Янв 14 2011, 18:37 | |
| - Андрей28 пишет:
- Опус выкладывать не буду. Потому, что то, что я начал писать начиналось так:
Так а где алгоритм, что за шутки! Ага, я был прав, и это всё голословно. Вы мне не интересны как личность, я придерживаюсь принципа: "мужик сказал- мужик сделал". Вы сказали, но не сделали, сутки рассуждали ни о чём! |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 19:46 | Пт Янв 14 2011, 19:46 | |
| - evmir1 пишет:
- и, но не сделали, сутки рассуждали ни о чём!
Ну. блин... Хорошо - выложу. Но. ведь и правда - не нужно же.... |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 22:20 | Пт Янв 14 2011, 22:20 | |
| - evmir1 пишет:
- Так а где алгоритм, что за шутки!
Ага, я был прав, и это всё голословно. Вы мне не интересны как личность, я придерживаюсь принципа: "мужик сказал- мужик сделал". Вы сказали, но не сделали, сутки рассуждали ни о чём! Да нет шуток никаких. Вот алгоритм. Честно говоря мне - все-равно интересен я. как личность именно вам или нет... А насчет сказал- сделал.... Ну не серьезно в данном случае... Оно, ведь, и правда не нужно... Зачем сейчас выложил - не знаю...
Про сутки рассуждений... Так правильно же сказали... Любая дискуссия - полезна. Да и, если ее кто-то поддерживает, значит она - нужна.
- Спойлер:
Итак, задача: 1. Использование быстрого метода необходимости применения правил. (таблица) 2. Применение правил, влияющих на один участок текста - строго по положению их а списке правил.
Условные обозначения и пояснения:
<Рс> - (рассматриваемое слово). Это то слово, над которым производится работа. Для которого выбираются правила из таблицы. В
соответствии с "быстрым" методом, слова из текста рассматриваются по порядку следования в тексте. (первое, второе и т. д.)
<Nпр> - (номер правила) Каждое правило - имеет свой номер (соответствует номеру этого правила в списках правил. По порядку)
<Сс> - (список слова). Это - список правил, взятых из таблицы (куст для данного слова). Но список - это не куст, т.к. в ходе
выполнения программы список может изменяться, а куст - может измениться - только с изменением списка правил. Правила в списке
расположены по возрастанию <Nпр>. Думаю, что и в кусте слова могут лежать по возрастанию <Nпр>(так - удобнее для дальнейших
задач)
<переход к левому списку, переход к правому списку> - правила из <Сс> для <Рс> не выполняются сразу. В ходе проверки
следующих слов может возникнуть необходимость дополнения этих списков. Вот для операций со списками, отложенными для
последующего выполнения и нужно перемещение по этим спискам. Поскольку эти списки принадлежат конкретным словам текста, то и
перемещение по ним - как по тексту (лево, право).
<ГСс> - (глубина влияния <Сс>). Поскольку ни одно правило из <Сс> не может влиять на слово, стоящее левее, то мы
рассматриваем количество слов, на которые оказывают влияние правила из этого списка, находящихся справа. Если правило влияет
на слово, стоящее следующим, то <ГСс> = 1, если через одно то <ГСс> = 2. <ГСс> (всего списка) - определяется по самому
большему. <Сс> - можно начать применять - тогда, когда обрабатывается слово - находящееся за пределами <ГСс>. (т.е. позиция
слова, которое обрабатывается - больше, чем позиция слова списка + <ГСс>)
К этому тексту прилагается алгоритм (блок-схема).
http://narod.ru/disk/3484080001/%D0%91%D0%B5%D0%B7%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8-1.jpg.html
В этой схеме отражены не все нюансы алгоритма, например нет того, как поступить, если правило - полностью изменит какое-либо
слово и весь его последующий список станет не актуальным. Также нет того... если появится новое слово...
Но для понимания - вполне достаточно.
|
|
| | | evilone_ Участник «online словари»
Сообщений : 859
Репутация : 317
| | | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 22:45 | Пт Янв 14 2011, 22:45 | |
| - evilone_ пишет:
- а можно спросить чем именно не устраивает? желательно с какими-то примерами? просто меня она (разница) тоже не устраивает и мне интересно совпадают ли у нас на этот счет мнения, если правильно понять чем именно эта разница не устраивает и попытаться это четко сформулировать то может что-то интересное из этого и получится
Тут - скорее не примерами, а характером объясняется. Если есть различия - значит что-то не так. Если не так, то надо - устранять
Как - то - тоже четко не формулируется. Наверное и не формулируется, что он интуитивно не понятен. И еще. Не представляю себе программы, строки, которой выполняются в последовательности от меня не зависящей.
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 23:30 | Пт Янв 14 2011, 23:30 | |
| - evilone_ пишет:
- вопрос очередности в стандартном методе поднимался чуть-чуть вот тут,
Да. я - читал эту тему. Собственно говоря она и напрягла мой мозг...
Вот этим:
- flegont пишет:
- В общем - вопрос открыт для обсуждения
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 14 2011, 23:55 | Пт Янв 14 2011, 23:55 | |
| О пользе теоретических рассуждений:
В мае 2007 года у меня завязался диалог с создателем программы MP3Book2005. я там предлагал на тот момент новую функцию в поиске омографов. А именно: не выводить те словоформы, которые - записаны в словаре. Мне - тоже что-то не работалось спокойно и нужно было срочно перенаправить свои мысли в другом направлении. Типа для отдыха.
Вы и сейчас пользуетесь этим. Только в программе "Балаболка" для этого необходимо вести второй словарь.
Я - уже сейчас путем не хитрых манипуляций, пользуюсь этой функцией в "Балаболке". но использую для этого основной словарь .dic
Вот жду не дождусь, когда словосочетания будут браться из основного словаря для проверки их присутствия в тексте. (без моих не хитрых манипуляций)
|
|
| | | | Критика и предложения |
---|
| |