8000 GitHub - dmlaziuk/cominoutbot: Telegram chatbot for finding out celebrities coming outs
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

dmlaziuk/cominoutbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Домашнее задание 3

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

Можно присылать боту транслитерацию имени и фамилии или просто фамилию и бот должен предлагать варианты или угадывать что вы имели ввиду.

Решение

Инструкции по созданию бота и деплой его в Heroku описаны здесь

Использовались данные английской и русской wikipedia.org, а также IMDB.com. Итого в базе 3268 уникальных персон.

Данные после парсинга интернет страниц хранятся в базе данных Redis в следующем порядке:

lgbt:index (String) -- текущий индекс (увеличивается при добавлении)

lgbt:__index__ (Hash) -- данные по конкретному человеку
               name:  -- полное имя
               uri:   -- ссылка
               note:  -- данные о coming out

lgbt:name:__name__ (List) -- список индексов вхождения данного единичного имени в полное имя

Напримпер после парсинга двух полных имен "Kevin Spacey" и "Kevin Williamson" будут созданы следующие элементы (lgbt:index => "13")

lgbt:13 =>
    name: "Kevin Spacey"
    uri:  "...some uri..."
    note: "...some note..."
lgbt:name:kevin => "13"
lgbt:name:spacey => "13"

lgbt:14 =>
    name: "Kevin Williamson"
    uri:  "...some uri..."
    note: "...some note..."
lgbt:name:kevin => "13" "14"
lgbt:name:williamson => "14"

Также в момент парсинга создается Ferret индекс для неявного поиска (fuzzy search).

При обработке запросов сначала проходит поиск по единичным именам в базе Redis, если ничего не найдено, то запускается неявный поиск Ferret с транслитерацией полного имени.

Данный бот запущен на heroku.com и доступен в Telegram @cominoutbot

При написании бота использовалась следующая литература:

  1. Маленькая книга о Redis

  2. Ferret

About

Telegram chatbot for finding out celebrities coming outs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0