АвторСообщение





Пост N: 80
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 16.11.13 14:51. Заголовок: 0.1 KooBAudio - числительные


скачав новую версию заметил что числительные стали заменятся не правильно, либо правило совсем отсутствует:

до 2 лет. до 2 января. с 3 января. с 5 по 7. от 2 до 3. с 2 до 3. 1998 - 2000 год. с 1999 по 2000 год. с 2000 года. в 20 лет

исправил сам, вроде правильно:

// до x лет
#(?<=\b(до|после|моложе|старше|из\-за)\b.?)\d+(?=.?(лет|часов)\b)=#($&,2,0)
// c x января
#(?i)(?<=\b(до|с|со).?)\d+(?=.?(января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))=#($&,2,3)
//с 1999 по 2000 год
#(?i)\bс.?(?<X>\d+( \d\d\d)*).?по.?(?<Y>\d+).?(?<M>век|год|месяц)=с #(${X},2,1) по #(${Y},1,1) ${M}
//1999 - 2000 год
#(?i)\d+(?=.?-.?\d+.?(год))=#($&,1,1)
// от X до Y
#(?i)\b(от|с).?(?<X>\d+( \d\d\d)*).?до.?(?<Y>\d+( \d\d\d)*)=$1 #(${X},2,0) до #(${Y},2,0)
// с X числа (по Y число)
#(?i)\bс.?(?<X>\d+( \d\d\d)*).?по.?(?<Y>\d+( \d\d\d)*)=с #(${X},2,1) по #(${Y},4,3)

// с X по Y января...
#(?i)\bс.?(?<X>\d+).? по.?(?<Y>\d+).?(?<M>января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)=с #(${X},2,3) по #(${Y},1,3) ${M}
в группах X Y стоят цифры, поэтому не правильно заменяет

// с такого-то года
//#(?i)(?<=\bс.?)\d+(.?[\-—]?го)?(?=.?(года|века|месяца|столетия|г|по)\b)=#($&,2,2)
заменяет не правильно, но его полностью дублирует выражение
// такого-то числа
#(?i)\d+(?=(.?[\-—]?го)?.?(числа|года|десятилетия|века|столетия|месяца|г|по)\b)=#($&,2,1)

//#(?<=\bв |\bв \d+ и |\bв \d+[\-—])\d+=#($&,6,1)
заменяет в 20 лет не правильно, при отключение заменяет нормально

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]


Разработчик




Пост N: 251
Зарегистрирован: 02.10.06
Откуда: РФ, Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 05.12.13 21:24. Заголовок: до 2 лет. до 2 январ..



 цитата:
до 2 лет. до 2 января. с 3 января. с 5 по 7. от 2 до 3. с 2 до 3. 1998 - 2000 год. с 1999 по 2000 год. с 2000 года. в 20 лет


прошелся по указанным примерам. вроде все исправил, кроме "с 5 по 7." - может употребляться в любом роде...
v1.1
Скрытый текст





P.s.
Да, важное замечание. При установке обновления или полного дистрибутива поверх предыдущей версии стандартные словари не обновляются автоматически (если не выбран portable режим профиля)
Новые версии словарей лежат в папке установки программы\Dic, но не используются, их нужно скопировать вручную в папку профиля программы:
c:\ProgramData\KooBAudio\Dic\
или
c:\Users\%userame%\AppData\Roaming\KooBAudio\Dic\

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 19
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 26.06.15 16:14. Заголовок: Допиливаю и системат..


Допиливаю и систематизирую словарь числительных и нашел некоторую неточность (позже планирую выложить его, вдруг кому-то понадобится).
В списках форм для числительных отсутсвует форма для числительного женского рода, то есть:
// Формы:
// 0 Простое числительное ("один" "два"...) - Данная форма соответствует только мужскому и среднему роду, для женского рода она не подойдет. То есть должно быть так: Два года (м.р.), Две недели (ж.р.) Два столетия (ср.р.)
Поэтому рег. выражение
#(?i)(?<=\b(в|через|спустя)\b.?)(\d+)(.?\b(эпо|мину|секу|полови|тре|че|ча|неде|середи))(хи|ты|нды|ны|ти|тверти|сти|ли)\b=#($2,1,0)$3<$5
выдает после обработки выражения

 цитата:
через 2 недели


вырадения вида

 цитата:
через два неде<ли

.

Это можно исправить?


В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 131
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 27.06.15 04:31. Заголовок: я только так придума..


я только так придумал сделать
#(?i)(?<=\b(в|через|спустя)\b.?)(2)(.?\b(эпо|мину|секу|полови|тре|че|ча|неде|середи))(хи|ты|нды|ны|ти|тверти|сти|ли)\b=две$3<$5

только не понял зачем такие сокращения, только для того чтобы проставило ударение?
вот простой вариант
#(?i)\b2\b(?=[^\.,!?-]{0,15}\b(эпохи|минуты|секуды|половины|трети|четверти|части|недели|середины)\b)=две




Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 20
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 27.06.15 09:33. Заголовок: Разделение слов на ч..


Разделение слов на части я использую как шаблон для других правил, потому что иногда слова, определяющие склонение числительного, меняют место постановки ударения, к примеру как в данном варианте (см. слово месяца), а деление позволяет точно знать куда будет поставлено ударение
#(?i)(?<=\b(без|до|из|из-за|от|у|для|ради|близ|вместо|вне|кроме|после|с|со)\b.?)(\d+)(.?\b(го|ве|ме|ча|эпизо))(да|ка|сяца|са)\b=#($2,2,1)$3<$5
Решение для чисел начиная с 5 и выше ч нашел таким образом
#(?i)(?<=\b(в|через|спустя)\b.?)([5-9]|\d{2,6})(.?\b(веко|ме|часо|дне|эпизо))(в|сяцев|й|дов)\b=#($2,1,0)$3<$5
для чисел 2,3,4 видимо придется создавать отдельные правила.. Просто хочется эти числа прихлопнуть одним правилом. Пока есть только итакой вариант "спустя два недели"
#(?i)(?<=\b(в|через|спустя)\b.?)([234])(.?\b(эпо|мину|секу|полови|тре|че|ча|неде|середи))(хи|ты|нды|ны|ти|тверти|сти|ли)\b=#($2,1,0)$3<$5


В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 22
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 27.06.15 12:12. Заголовок: Сможите мне объяснит..


Сможите мне объяснить, почему, если подключить только один словарь с выражением
 цитата:
#(?i)\b2\b(?=[^\.,!?-]{0,15}\b(эпохи|минуты|секуды|половины|трети|четверти|части|недели|середины)\b)=две


то ударение ставится правильно и в выражении
2 чЕтверти
и в вырадении
2 секУнды?


В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 132
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 27.06.15 14:25. Заголовок: odinokiyklaus пишет:..


odinokiyklaus пишет:

 цитата:
иногда слова, определяющие склонение числительного, меняют место постановки ударения


можно пример, а то не понятно как в слове мЕсяца, минУты, может быть другое ударение
ссылка на словарь
odinokiyklaus пишет:

 цитата:
Решение для чисел начиная с 5 и выше ч нашел таким образом
#(?i)(?<=\b(в|через|спустя)\b.?)([5-9]|\d{2,6})(.?\b(веко|ме|часо|дне|эпизо))(в|сяцев|й|дов)\b=#($2,1,0)$3<$5


а это зачем правило нужно, здесь всегда будет порядковое числительное, спустя пять месяцев, через шесть веков, в девять часов
odinokiyklaus пишет:

 цитата:
то ударение ставится правильно и в выражении
2 чЕтверти
и в вырадении
2 секУнды?


а ставилось как то по другому ударение если подключить остальные словари?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 23
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 27.06.15 23:48. Заголовок: Я писал так иногда с..


Я писал так

 цитата:
иногда слова, определяющие склонение числительного, меняют место постановки ударения


Можно и пример. Опред. слово - число. В словосочетании пяти чИсел и пятого числА ударение поменяло своё место.
MoppoH пишет:

 цитата:
то ударение ставится правильно и в выражении
2 чЕтверти
и в вырадении
2 секУнды?


я имел ввиду, что в обоих выражениях ударение ставится "туда куда надо". То есть к примеру, если бы ударение ставилось бы строго на предпоследний звук - тогда бы получилось:
2 четвЕрти
2 секУнды
Мне не понятно, как производится расстановка ударений. если к программме не подключен ни один словарь. Сможите ответить?

В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 133
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 27.06.15 23:55. Заголовок: по моим наблюдениям ..


по моим наблюдениям Николай может одно и тоже слово прочитать с разными ударениями, в тексте он читает его ставя ударение не правильно, но когда я добавляю его в словарь он произносит его правильно, от чего это зависит не знаю

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 24
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 28.06.15 00:21. Заголовок: MoppoH пишет: #(?i)..


MoppoH пишет:

 цитата:
#(?i)\b2\b(?=[^\.,!?-]{0,15}\b(эпохи|минуты|секуды|половины|трети|четверти|части|недели|середины)\b)=две


использование "простых правил" лично я не приветствую, так как без предлогов в начале числительного возникают казусы типа:
(примеры правил специально сократил для удобочитаемости)
--после второй секунды---
#(?i)(?<=\b(без|до|из|из-за|от|у|для|ради|близ|вместо|вне|кроме|после|с|со)\b.?)(\d+)(.?\b(секу))(нды)\b=#($2,2,2)$3<$5
--спустя две секунды---
#(?i)(?<=\b(в|через|спустя)\b.?)(2)(.?\b(секу))(нды)\b=две$3<$5

В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 134
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 28.06.15 00:50. Заголовок: придется добавлять м..


придется добавлять много слов тогда, ведь может быть, прошло 2 секунды, минуло 2 секунды, кончились 2 секунды и т.д.


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 28
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 08.07.15 21:12. Заголовок: Здрасьте всем! А поч..


Здрасьте всем!
А почему если в словаре числительных задать правило
#(?<A>\d*).?[\-—].?(?<C>\d*)=#(${A},1,1) - #(${C},1,1),
а в отладке словарей забить 1618-2748
то выводится результат такого вида
одна тысяча шестьсот восемнадцатый - семьсот сорок восьмой ??
число две тысячи куда-то потерялось. Это можно поправить?


В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 29
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 08.07.15 22:27. Заголовок: для выражений вида 1..


для выражений вида 11618-17182 нашел решение
#(?<X>\d*).?[\-—].?(?<Y>\d(\d\d\d\d))=#(${X},1,1)-#(${Y},1,1), а для
выражений вида 1618-1782 соответственно
#(?<X>\d*).?[\-—].?(?<Y>\d(\d\d\d))=#(${X},1,1)-#(${Y},1,1)

В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 136
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 09.07.15 21:09. Заголовок: odinokiyklaus пишет:..


odinokiyklaus пишет:

 цитата:
забить 1618-2748


зачем придумывать такие сложные рег выражения на простые числа?


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 30
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.07.15 00:34. Заголовок: Это то как раз прост..


Это то как раз просто объясняется.
Вот к примеру отрывок из книги Олдос Хаксли "О дивный новый мир" (она у меня находится в формате в в формате fb2 и в KoobAudio открывается именно так, как представлено ниже):
Невообразимые ужасы Тридцатилетней войны[9]<note> 9 Тридцатилетняя война – война (1618-1648) между габсбургским блоком (испанские и австрийские Габсбурги, католические князья Германии, которых поддерживали папство и Речь Посполитая) и антигабсбургской коалицией (германские протестантские князья, Франция, Швеция, Дания, за которыми стояли Англия, Голландия и Россия). Окончилась крахом планов Габсбургов создать «мировую империю»; политическим гегемоном стала Франция. Вестфальский мир закрепил это положение </note> преподали тогда людям урок, и затем ....
Для правильного произношения (1618-1648) использовал выражение

#(?<X>\d*).?[\-—].?(?<Y>\d(\d\d\d))=#(${X},1,1)-#(${Y},1,1)

которое и выдает результат в нужном наклонении
одна тысяча шестьсот восемнадцатый-одна тысяча шестьсот сорок восьмой


В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 137
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 10.07.15 23:53. Заголовок: тогда почему не так ..


тогда почему не так

#(?<X>\d*).?[\-—].?(?<Y>\d(\d\d\d))=с #(${X},2,1)-по #(${Y},1,1)

Тридцатиле<тняя война – война (с тысяча шестьсот восемнадцатого-по тысяча шестьсот сорок восьмой) между габсбургским

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 31
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.07.15 00:09. Заголовок: Можно и так конечно...


Можно и так конечно.
Моррон, заметил, что в словаре регулярных выражений, который у вас выложен, наблюдается сортировка по искомому слову в алфавитном порядке - от а до я. Вы какой-то специальной программой пользуетесь для сортировки выражений?

В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 138
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 11.07.15 01:18. Заголовок: сразу как начал дела..


сразу как начал делать этот словарь, ставил в алфавитном порядке

В поисках ада.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 33
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 19.07.15 02:20. Заголовок: Приветствую всех. Чт..


Приветствую всех.
Что-то я ничего не понимаю.
Все словари предварительной обработки отключены (папка 1).
Все словари конечной обработки отключены (папка 2)
Использую практически полностью идентичные правила

#(?i)(?<=\b(на|в|во)\b.?)(\d+)(.?\b(г\.)\b)=#($2,6,1) году<
#(?i)(?<=\b(на|в|во)\b.?)(\d+)(.?\b(году)\b)=#($2,6,1) году<

Скрытый текст

фото
Но в в первом случае - "г." не обрабатывается вообще, а во втором случае слово "году" обрабатывается сразу.
В чем может быть проблема?

В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 139
Зарегистрирован: 22.08.11
Рейтинг: 1
ссылка на сообщение  Отправлено: 19.07.15 20:40. Заголовок: odinokiyklaus пишет:..


odinokiyklaus пишет:

 цитата:
а во втором случае слово "году" обрабатывается сразу


так у тебя же стоит ударение в году< в рег выражение, вот он и обрабатывает его сразу
odinokiyklaus пишет:

 цитата:
"г." не обрабатывается вообще


убери точку и ограничь г с переди
#(?i)(?<=\b(на|в|во)\b.?)(\d+)(.?(\bг|году)\b)=#($2,6,1) году<


В поисках ада.. Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 34
Зарегистрирован: 29.03.13
Откуда: Санкт-Петербург
Рейтинг: 0
ссылка на сообщение  Отправлено: 20.07.15 16:07. Заголовок: Э, хитрите, однако....


Э, хитрите, однако.. - убери точку. Вопрос то был именно в точке. Почему он точку не обрабатывает, хотя она и экранируется..
Но это всё лирика...
На сайте http_mytts.forum2x2.ru/t409-topic (ссылка на словарь ссыль) скачал словарь числительных, где все регулярные выражения уже забиты и отшлифованы и самое главное они там разноборазны. В принципе. осталось этот словарь только адаптировать к koobaudio и всё будет тип-топ. Попробовав Demagog и balabolka еще один раз убедился, что koobaudio лучшая на данный момент читалка и записывалка аудиокниг. (лично мне нравится наличие эквалайзера, возможность расстановок пауз в тексте при воспроизведении, стили и т.д. - это круто!!)
Но. как всегда просто так ничего не дается. Попробовал его адаптировать, но он не адаптируется.
Прилагаю ссылку для скачивания.[url=https://mega.nz/#!sQJUWRBA!lILfBCnnVTFQT6xPqYl3pyWJXx7H1_dO5QmaCV16i0U]ссылка на отредактированный словарь[/url]
В данном словаре, обработка числительных сводится к определению промежуточных тегов для XML-языка и через эти тэги уже склонение числительных.
Поскольку я личность ленивая. то не хочется корпеть над тем, что уже придумано до нас.
В общем, расставив управляющие выражения типа #(?i) я так и не смог добиться чтобы программа создавала и тэги типа <mln> и обрабатывала их в дальнейшем.
Может есть какие-либо соображения? Как можно адаптировать данный словарь, чтобы не корячится и не писать новый?

В поисках рая.. Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет