Skip to content

KushnerykPavel/dev_challange_2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  1. Для запуску API з кореня проекту необхідно виконати наступну команду: docker-compose up
  2. Тести запускаються автоматичкно у момнет створення контейнеру. Для ручного запуску тестів необхідно виконати наступну команду після запуску проекту: docker-compose exec api python -m pytest tests/
  3. Структура API
  • Show urls with keywords

Повертає список url разом з ключовими словами

  • URL

    /api/url/:url

  • Method:

GET

  • URL Params

    Optional:

    url=[alphanumeric]

  • Success Response:

    • Code: 200
      Content: { "status": "success", "data": [ { "keywords": [ "DEV Challenge", "Challenge", "DEV" ], "url": "https://devchallenge.it/" } ] }
  • Add urls with keywords


Добавляє новий url разом з ключовими словами

  • URL

    /api/url/:url

  • Method:

POST

  • URL Params

    Require:

    url=[alphanumeric]

  • Success Response:

    • Code: 201 CREATED
      Content: { "status": "success", "data": { "keywords": [ "Technology BBC News", "Technology BBC", "Technology", "BBC News", "News", "BBC" ], "url": "https://www.bbc.com/news/technology" } }

    • Error Response:

    • Code: 400 BAD REQUEST
      Content: { "message": "Url already exists" }

  • Update urls with keywords


Оновлює ключові слова для заданого url

  • URL

    /api/url/:url

  • Method:

PUT

  • URL Params

    Require:

    url=[alphanumeric]

  • Success Response:

    • Code: 204 CREATED
      Content: { {'message': 'Url already updated'}

    • Error Response:

    • Code: 400 BAD REQUEST
      Content: {'message': 'Url does not exist'}

  • Delete urls with keywords


Видаляє ключові слова для заданого url

  • URL

    /api/url/:url

  • Method:

DELETE

  • URL Params

    Require:

    url=[alphanumeric]

  • Success Response:

    • Code: 204 CREATED

    • Error Response:

    • Code: 400 BAD REQUEST
      Content: {'message': 'No input data provided'}

  1. Опис алгоритму створення ключових слів.

У яскості основного методу ключових слів було використанно алгоримт генерування n-грам для попередньо підговоленого тексту. Процедура підготовки тексту полягає у видаленні спеціальних символів, цифр та стоп слів (слів союзів типу "a", "the") які не можуть бути ключовими словами. Після підготовки текст розбивається масив токенів з яких будується послідовність n-грам від 1 до n, де n-розмір масиву токенів. Ця послідовність є шуканим масивом ключових слів.

  1. Шляхи подальшого поліпшення

  2. Можна добавити обробку спеціальних для генерації ключових слів. Наприклад пошук дати в заданому форматі, або версіїї бібліотек у title

  3. Скористатися методами обробки природних мов для пошуку іменованих сутностей (імен, назв що складаються біль ніж з одного токену) та фільтрації вихідного масиву ключових слів

About

Solution of online part of competition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published