Comments 49
О, наконец-то реально полезный бот:)
+3
Почему ограничено число синонимов? Слово «провод» выдает 13 результатов и многоточие. Узнать что скрыто за многоточием невозможно.
+1
Пользуясь случаем спрошу:
Каковы лимиты отправки сообщений ботами? В официальной документации сказано
https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this
что:
1. Скорость отправки particular chat (юзер или группа?) — не более 1 сообщения/сек. С небольшим burst.
2. При массовой рассылке — не более 30 сообщений/сек.
3. При отправке в группу — не более 20 сообщений/мин. — не не понятно 20 сообщений за календарную минуту или «скользящее среднее»?
Пишу свой игровой бот и иногда, при активной игре бот упирается в лимиты…
Каковы лимиты отправки сообщений ботами? В официальной документации сказано
https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this
что:
1. Скорость отправки particular chat (юзер или группа?) — не более 1 сообщения/сек. С небольшим burst.
2. При массовой рассылке — не более 30 сообщений/сек.
3. При отправке в группу — не более 20 сообщений/мин. — не не понятно 20 сообщений за календарную минуту или «скользящее среднее»?
Пишу свой игровой бот и иногда, при активной игре бот упирается в лимиты…
0
UFO just landed and posted this here
На слово привет — выдает синоним — водка.
Напомните, у нас была водка *привет*? Не помню такой.
Напомните, у нас была водка *привет*? Не помню такой.
+2
> 0. Вы устанавливаете вебхук
Дам небольшое предостережение от вебхуков:
1) Если телеграм до вашего сервера не сможет достучаться, то после нескольких (сотен?) попыток в течение довольно короткого вебхук отключается. Ваш бот будет *мёртв*.
2) Не достучаться может по разным причинам — истёк сертификат, либо сервер недоступен. Либо ваш бот затупил и не смог подключиться к перегруженной общей базе данных. Это всё относится к тем ботам, которые хостятся на слабеньких или простеньких хостингах.
3) Из этого следует, что более-менее правильный вариант — писать Long-pooling бота, с запуском через Cron, избавляющий сразу от большой головной боли.
Дам небольшое предостережение от вебхуков:
1) Если телеграм до вашего сервера не сможет достучаться, то после нескольких (сотен?) попыток в течение довольно короткого вебхук отключается. Ваш бот будет *мёртв*.
2) Не достучаться может по разным причинам — истёк сертификат, либо сервер недоступен. Либо ваш бот затупил и не смог подключиться к перегруженной общей базе данных. Это всё относится к тем ботам, которые хостятся на слабеньких или простеньких хостингах.
3) Из этого следует, что более-менее правильный вариант — писать Long-pooling бота, с запуском через Cron, избавляющий сразу от большой головной боли.
0
«Long-polling» скорее.
У меня есть небольшой проектик, получающий апдейты по этой технологии… таки я скажу вам шо это кошмар и я мечтаю переселить его на вебхуки или SSE. Пока не придумал как — там есть одна весьма толстая тонкость.
Кстати если хостинг пробудет все время этих нескольких (сотен?) попыток в дауне — ожидает ли бота та же участь?
Крон можно использовать и сейчас. Если вдруг вебхук отключится, он будет поднимать его снова.
У меня есть небольшой проектик, получающий апдейты по этой технологии… таки я скажу вам шо это кошмар и я мечтаю переселить его на вебхуки или SSE. Пока не придумал как — там есть одна весьма толстая тонкость.
Кстати если хостинг пробудет все время этих нескольких (сотен?) попыток в дауне — ожидает ли бота та же участь?
Крон можно использовать и сейчас. Если вдруг вебхук отключится, он будет поднимать его снова.
+1
Не надоело ещё переизобретать dictd и dict протокол?
-5
В качестве замены бесплатного сервиса проверки орфографии могу предложить NaturalNode/spellcheck. Он инициализируется словарем любого языка, работает хорошо и более-менее шустро
Пример на github
Пример на github
+4
Вах, боюсь что это слишком сложно для чайника-самоучки…
+1
Реализация по-моему насколько интересная, настолько же и сложная, да.
Но в использовании всё просто, у меня она используется так, например:
Но в использовании всё просто, у меня она используется так, например:
var natural = require('natural'),
dictionary = require('./single-words-354984.json'), // нагугленный словарь, вручную перекованный на ["слово1", "слово2", ... ]
spellcheck = new natural.Spellcheck(dictionary);
var topic = "swapign";
if (!spellcheck.isCorrect(topic))
{
// исправление
var MAX_DISTANCE = 1;
var corrections = spellcheck.getCorrections(topic, MAX_DISTANCE);
if (corrections.length > 0)
topic = corrections[0];
}
// topic == "swaping"
+1
Ух ты!!! Классная библиотека! Но сложная очень.
0
Нельзя сказать — устраивают или нет, я не видел их раньше…
У них ведь заточка под английский язык, верно?
У них ведь заточка под английский язык, верно?
0
Aspell недавно переточили под сложные (флективные) языки (русский и другие), а hunspell изначально написан румыном (hungarian spell checker), сейчас его спонсирует датская компания. В общем, hunspell изначально ковался под сложные языки. И для обоих чекеров есть русскоязычные словари.
+1
А не видел ли кто сервисов/словарей переносов?
У меня есть задача сформировать изображения из текста, хотелось бы форматировать с переносами…
У меня есть задача сформировать изображения из текста, хотелось бы форматировать с переносами…
0
Думаю, надо покопаться во внутренностях OpenOffice / LibreOffice, они же как-то ставят переносы.
0
Есть такой алгоритм: http://xpoint.ru/know-how/VebAlgoritmyi/RabotaSTekstami/RasstanovkaPerenosov
Но мне кто-то говорил, что в каком-то граничном кейсе там есть ошибка.
0
Не знаю как насчет синонимов, но заметил тенденции на афоризмы. Как вариант ты боту слово, а он тебе 5 :)
Мне кажется чтобы этот продукт стал массовым, ему надо больше функционала. Вот несколько идей, которые можно включить в базу…
1. Правила русского языка.
2. Подбор рифм на слово.
3. Синонимы (и так уже есть)
4. Антонимы.
5. Омонимы.
6. Умное слово на каждый день.
И так далее. Тогда такой продукт станет сильнее.
Мне кажется чтобы этот продукт стал массовым, ему надо больше функционала. Вот несколько идей, которые можно включить в базу…
1. Правила русского языка.
2. Подбор рифм на слово.
3. Синонимы (и так уже есть)
4. Антонимы.
5. Омонимы.
6. Умное слово на каждый день.
И так далее. Тогда такой продукт станет сильнее.
0
Хороший бот, ждем бота еще с описанием слов по словарю Ожегова.
0
-
0
Вещь интересная. У меня другая мечта была, запилить бота, который бы делал проверки на правильность слов (брал данные с gramota.ru, например). Но, так как я не программист, это так и осталось мечтой.
+1
Расскажите про идею, если не жалко. Мы занимаемся смежными областями, будет интересно послушать.
0
Дык явно же спеллчекер, тот же hunspell с большим словарём прикрутить — и порядок.
0
Если посмотреть на реальную базу ошибок, то иногда делаешь очень интересные открытия. Например:
— очень частая ошибка *робота (вместо рАбота), хотя существует словоформа робота (У меня нет робота, а так хочется. <вместо> Нужно идти на работу, а так не хочется.)
— есть случаи, когда без контекста никак — например воспитаНая и воспитаННая. Обе словоформы могут иметь место в соответствующих контекстах.
— есть ошибки, которые по расстоянию отловить сложно, нужно учитывать фонетические особенности русского языка. Например: *хочица (хочется)
— популярное -тся/-ться в ряде случает опять же требует контекста или пояснения
— паронимы: невежа — невежда, тоже стоит учитывать
В общем работы много, как раз сейчас этим занимаемся :)
— очень частая ошибка *робота (вместо рАбота), хотя существует словоформа робота (У меня нет робота, а так хочется. <вместо> Нужно идти на работу, а так не хочется.)
— есть случаи, когда без контекста никак — например воспитаНая и воспитаННая. Обе словоформы могут иметь место в соответствующих контекстах.
— есть ошибки, которые по расстоянию отловить сложно, нужно учитывать фонетические особенности русского языка. Например: *хочица (хочется)
— популярное -тся/-ться в ряде случает опять же требует контекста или пояснения
— паронимы: невежа — невежда, тоже стоит учитывать
В общем работы много, как раз сейчас этим занимаемся :)
+1
Где-нибудь можно следить за ходом работы? Будете ли выкатывать продукт в свободный доступ? :)
0
Нет, дев-блога нет. Насчёт открытого доступа не скажу — слишком много есть заброшенных проектов, которые никто не поддерживает, потому что реалистично силы не оценили. Плодить их ни к чему.
То, что реалистично сделать, и то, что мы знаем как и зачем поддерживать — это актуальный словарь русской морфологии (слова, словоформы, морфометки). Начнём с этого, посмотрим насколько востребовано, а потом можно будет дальше думать дальше и строить планы.
То, что реалистично сделать, и то, что мы знаем как и зачем поддерживать — это актуальный словарь русской морфологии (слова, словоформы, морфометки). Начнём с этого, посмотрим насколько востребовано, а потом можно будет дальше думать дальше и строить планы.
0
Добавили бы в раздел ссылки ссылку на бота, а то так сразу и не найдешь.
0
Не могу упустить возможность и не задать вопрос по схожей тематике:
кто-нибудь из присутствующих пробовал syntaxnet от google?
Если да, то был ли опыт с русской моделью?
кто-нибудь из присутствующих пробовал syntaxnet от google?
Если да, то был ли опыт с русской моделью?
0
UPD: Вчера переписал кое-что.
— Теперь, если синонимов слишком много и они не пролезают по размеру в Telegram API, бот не обрезает ответ, а формирует гарантированно пролезающий ответ и показывает кнопку «Далее». Проверочное слово — «слово», сорри за каламбур.
— Если введенное пользователем слово имеет синонимы, и запрос и ответ складываются в кэш, уменьшая нагрузку на большой словарь.
— Теперь, если синонимов слишком много и они не пролезают по размеру в Telegram API, бот не обрезает ответ, а формирует гарантированно пролезающий ответ и показывает кнопку «Далее». Проверочное слово — «слово», сорри за каламбур.
— Если введенное пользователем слово имеет синонимы, и запрос и ответ складываются в кэш, уменьшая нагрузку на большой словарь.
0
В приветствии два раза дублируется текст «я бот синоним...»
0
Sign up to leave a comment.
Articles
Change theme settings
Telegram боты: в помощь редактору