An open API service indexing awesome lists of open source software.

https://github.com/ilyasyoy/similar-articles-poc

This repository contains the service that builds models that provide a way to find similar articles.
https://github.com/ilyasyoy/similar-articles-poc

Last synced: 7 months ago
JSON representation

This repository contains the service that builds models that provide a way to find similar articles.

Awesome Lists containing this project

README

          

# similar-articles-poc
Данный сервис состоит из нескольких частей:

- `static`. `templates`

Данные папки содержат данные, которые нжны для работы сервиса, `CSS` файлы, `favicon.ico`, `Jinja2`-шаблоны `HTML` страниц.

- `trainers`

Данный пакет содержит скрипты, которые обучают модели над данных которые находятся в папке `data`.

- `settings.json`

Я использую такие настройки приложения.

```jsonld
{
"test-data-path": "data/test.json", // Путь к данным.
"chunk-size": 1000, // размер единицы, о обработке которой система будет уведомлять логами.
"vectors-path": "data/glove.w2v.6B.300d.txt" // Путь к модели эмбеддингов.
}
```

Стоит заметить, чтоя я использовал уже обученную модель **GloVe** для обработки своих данных. Могла использоваться любая другая модель, просто данная модельбыла выбрана как золотая середина между более сложными: **FastText**, **ELMo** --- и более простыми: **Word2vec**.

Характеристики этой модели:
- Вектор размерности 300.
- 400.000 слов в словаре.
- Обучено на 6 миллиардах слов.

Для зупуска приложения сначала трубется обучить данные:

```bash
$ train-everything.sh
```

После запустить сервис:

```bash
$ pip install -r requirements.txt && python app.py
```

Как выглядит приложение:

Основной экран:
![](https://i.imgur.com/p5Xq4ET.png)

Рекоменадация:
![](https://i.imgur.com/nUln1IU.png)
![](https://i.imgur.com/RyGYbIr.png)