Как стать автором
Обновить

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

Время на прочтение5 мин
Количество просмотров7.2K
Всего голосов 55: ↑42 и ↓13+29
Комментарии41

Комментарии 41

Не взлетит. Карма плохая.

Да, но решение гугла и адаптация тамтамовцев (a.k.a костыль) – кайф. У меня прям боль от примеров с карточкой и адресом.

В случае с там-там, правда, не очень понятно, почему бы не сделать тоже самое на сервере ;-)
В случае с там-там, правда, не очень понятно, почему бы не сделать тоже самое на сервере ;-)

Хабр торт.

Решение с ML не исключает фичу выделения любого текста пальцем в будущем =)

На сервере не сделали, ибо преимуществ у данной библиотеки сильно больше чем в реализации своего решения. Начиная от того, что у Google просто больше данных, заканчивая разнообразием языков
>>На сервере не сделали, ибо преимуществ у данной библиотеки сильно больше

Ахаха. То есть мяу, товарищ майор.

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

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

Тогда лучше делать анализ у отправителя и сразу размечать сообщение.
Вместо множества проходов на множестве клиентов будет всего один.

Тогда нужно и так и этак. Чтобы можно было разметить и сообщения в истории до введения фичи или, например, когда добавят новые сущности. А это уже не так рационально с точки зрения поддержки кода как минимум.
ответ в том, что сообщения не должны храниться на сервере в незашифрованном виде.
Все данные сразу заносятся в личное дело?)

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

Копировать -> Заметки -> Вставить -> Выделить -> Копировать -> Вставить

Или свайпать влево-вправо и через голову копировать.

Ад.

Вот пока не прочитал ваш комментарий даже не задумывался что это именно так, потому что
отдельные части сообщения я копирую обычно в десктопной версии чата, а на мобильных — они уходят часто целиком как форвард — что, вероятно и объясняет почему они копируются целиком. Но конечно возможность выбора не помешала бы.

Один известный мессенджер так умеет. Хотя не сказать, что очень давно научился (всего-то год) по меркам его существования.

Вчера как раз в этом мессенджере на андроиде копировал адрес-по итогу просто запомнил и ввел в приложение такси заново этот адрес, скопировать не смог.

К сожалению, не использовал на андроиде, но на iOS работает идеально.
И на андроиде работает

Хороший человек еще на отправляющей стороне расставит кавычки, чтобы копировалось кликом.

на ios не работает у меня, чяднт :(
Я тоже не сразу понял, как это работает.
Долго нажимаете на сообщение, пока не появится меню с «Поделиться», «Копировать» итд, а потом еще раз нажимаете на сообщение. И — вуаля, появляется курсор и можно выделять нужный фрагмент.
Не совсем очевидный путь, конечно.

Этим мессенждером был Альберт Эйнштейн.

Да уж, бесит это в СМС и Whatsapp. А вот Telegram текст кусками копировать даёт.
Привет, Юра!

Мы очень рады что вы смогли использовать библиотеку в вашем продукте и написали такую прекрасную и содержательную статью.
Надеемся, что рано или поздно вы перейдете в проект, который кому-то нужен. Удачи!

Фу, ребята в белых плащиках. Отличный способ показать свои чувство юмора и социальную осознанность, безопасно оттоптавшись на разрабе, который, конечно, и является той фигурой зла, создающей мессенджеру гнилой пиар? Если бы человек пилил мессенджер для себя и своей бабушки в качестве пет проекта, у вас были бы какие то претензии к фиче? Стыдно, некрасиво, грустно.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Ну смотрите, сама статья по себе не очень содержательна. Мы захотели фичу — нашли библиотеку — подключили — фича работает. В общем-то и все. Можно было как-то дополнить, в стиле «сначала думали сделать вот так — но получилось плохо — руками писать долго/сложно потому-то, вот классное решение — если хотите сделать так же то вот анонс релиза.»

А получается что статья высосана из пальца, потому что (скорее всего) у кого-то KPI по статьям в корп блог на хабре.

P.S. Контекст имеет значение. Как мне кажется, есть разница между «пилю пет проект для себя и бабушки» и «пилю никому не нужный мессенджер который государство будет форсить, а если все остальные заблочат то и вы в нем будете сидеть».

Ваши аргументы услышал, но не могу согласиться, сорри. Если честно, меня с вашего предыдущего поста и триггернуло, вы там ничего не говорите про неинтересную статью или ненужную фичу, а просто типа "чувак, твой продукт никому не нужен". Ну так и пет проект для бабушки никому не нужен. Про личную ответственность разраба за степень токсичности компании — тоже не могу согласиться. Это все суперскбьективно, при желании можно половину компаний захейтить, от Касперского до Гугла с фб, список зависит только от белизны собственного плаща (и не лично на вас наезд, но мой опыт показывает, что в большинстве случаев плащик спокойно вешается в шкаф, когда приходит хороший оффер не от каких то совсем чертей, но от таких, по которым в другой день можно и высказать свою высокоморальную позицию в бложике).
Я вообще понимаю, откуда подобные сражения в интернетах берутся — народ фрустрирован властью в целом (совершенно обоснованно), и выплескивает свое раздражение на все, что так или иначе с этой властью ассоциируется. Но блин, тут просто ложная цель, на которую все сагрились под влиянием этих чувств. Ребята, разраб, пилящий мобильный мессенджер, не виноват в том, что в России спайка власти и крупного бизнеса выглядит так омерзительно. Не нужно сбиваться в стаю и мочить лёгкую цель, это контрпродуктивно.

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

Ну да, разработчик ведь понятия не имеет, на кого работает. Или его в плену держат и на хедхантере забанили.

Дайте людям возможность произвольно выделять и копировать текст из сообщений, и не надо никаких ML фичей. Человек все равно лучше вас и лучше нейросетей знает, что конкретно ему требуется выделить.
Отличный пример компромисса для UX, когда программные средства по другому не позволяют.

Также очень приятно видеть использование RxJava и Maybe там, где он подходит :)
Правда, можно было полегче сделать — вместо flatMapMaybe лучше в данном случае все же filter { it.isNotEmpty() } — он как раз Single в Maybe превращает.

Хах) Рад, что полезно. В следующей статье добавлю гороскоп и курс валют

Классно что гугл выдали бесплатную либу! Конечно полезный функционал для пользователей вашего мессенджера


Кому обычно присылают адреса не в тамтам, рекомендую включить функцию гугл ассистента "Объекты на экране"


Из этого поста я узнал, что ТамТам всё ещё существует.

Товарищ майор не хочет сам их находить?

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

Да, действительно одна из больших проблем поддержка.
Но в библиотеке используются регулярные выражения для некоторых типов сущностей

Интересно, что не для всех типов сущностей используются нейронные сети. Например, для распознавания времени, даты, номеров авиарейсов используются регулярные выражения
Зарегистрируйтесь на Хабре, чтобы оставить комментарий