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

https://github.com/0xdeval/suggestprediction


https://github.com/0xdeval/suggestprediction

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# SuggestPrediction

Current repository consist of 2 main files:

1. [StatisticAlgorithm](https://github.com/maikReal/SuggestPrediction/blob/master/StatisticAlgorithm.ipynb)

2. [Category-Suggestion Algorithm](https://github.com/maikReal/SuggestPrediction/blob/master/Category-SuggestionAlgorithm.ipynb)

3. [SuggestPredictionVersion2](https://github.com/maikReal/SuggestPrediction/blob/master/SuggestPredictionVersion2.ipynb)

Moreover, there are two main .csv files, which are the examples of data:
1. [category_data.csv](https://github.com/maikReal/SuggestPrediction/blob/master/caregory_data.csv) (for category prediction)

2. [suggest_data.csv](https://github.com/maikReal/SuggestPrediction/blob/master/suggest_data.csv) (for statistic prediction)

## Statistic Algorithm

This algorithm use statistic data for prediction. The principle of work is next:
1. We send get request to old version of suggest for recieving the suggest based on text score of Elasticsearch

2. We use every suggest, which we recieved earlier, for finding the most relevant goods, using the statistic

3. We recieve the TOP-n goods and return the TOP-n SKU of goods

## Category-Suggestion Algorithm

This algorithm has two part: prediction of category and prediction of TOP-n SKU of goods in predicted category. The main plot of algorithm is next:

1. We use `category_data.csv` for predicting the category of new good (one of 49 unique category)

2. Ranking goods in predicted category

3. Recieve TOP-n SKU of goods in predicted category

## SuggestPredictionVersion2 Algorithm

This algorithm has many advantages over algorithms described above. His main feature is context searching. It means, that he can look for different queries by his prefix. So, the algorithm principle of work is next:

1. We get every, for example, 3 letter of user query (it's our query)

2. We find different queries with using context searching. For example:

```
Prefix - шок
Variants:
шоколадный заяц
кубик шоколадный
торт в шоколадной глазури
```
3. Try to find all correct variants for user prefix

4. Return all variants for user query