docs-ranking-metrics


Namedocs-ranking-metrics JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://github.com/betepok506/RankingMetrics
SummaryThe package contains functions for calculating ranking metrics
upload_time2023-06-08 12:16:17
maintainer
docs_urlNone
authorAndrey Rotanov
requires_python>=3.7, <4
license
keywords test
VCS
bugtrack_url
requirements rank-bm25 sentence-transformers numpy tensorflow_text
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Описание
Данный репозиторий содержит реализацию алгоритмов ранжирования Bm25, LaBSE, MsMarcoST, MsMarcoCE 
с подсчетом метрик: 
* Top@1;
* Top@3;
* Top@5;
* Средняя позиция в выдачах (AverageLoc);
* Cредняя относительная позиция в выдачах (AverageRelLoc);
* Оценка как часто фейковый документ выше всех релевантных (FDARO@v1);
* Оценка как часто фейковый документ выше хотя бы одного релевантного (FDARO@v2);
* Частота попадания фейкового документа в топ 25% (UpQuartile).



# Установка
Для установки пакета воспользуйтесь командой
```
pip install docs-ranking-metrics
```

# Пример использования
Пример использования представлен в `examples/using_metrics.py`

```commandline
# Объявление метрик
metrics = [LaBSE(), Bm25()]
# Объявление класса агрегирующего обновление метрик
rank_metrics = RankingMetrics(metrics)

...

'''
Обновление значений метрик, где 
query - запрос по которому сгенерирован документ, 
sentences - массив документов,
labels - метки документов
'''
rank_metrics.update(query, sentences, labels)

...
# Получение значений подсчитанных метрик ввиде словаря
rank_metrics.get()
# Получение значений метрик при помощи функции show_metrics
rank_metrics.show_metrics()
```

Возможный вывод метода get:
```
{
    'LaBSE_AverageLoc': 10.5, 
    'Bm25_AverageLoc': 1.13513, 
    'LaBSE_Top@1': 0.0, 
    'LaBSE_Top@3': 0.013513, 
    'LaBSE_Top@5': 0.013513, 
    'Bm25_Top@1': 0.91891, 
    'Bm25_Top@3': 1.0, 
    'Bm25_Top@5': 1.0, 
    'LaBSE_FDARO': 0.6216, 
    'Bm25_FDARO': 1.0
}
```

Возможный вывод метода show_metrics():
```
LaBSE_AverageLoc: 4.5   Bm25_AverageLoc: 3.0   
-----------------------------
LaBSE_AverageRelLoc: 0.75   Bm25_AverageRelLoc: 0.5   
-----------------------------
LaBSE_Top@1: 0.0   Bm25_Top@1: 0.5   
LaBSE_Top@3: 0.5   Bm25_Top@3: 0.5   
LaBSE_Top@5: 0.5   Bm25_Top@5: 1.0   
-----------------------------
LaBSE_FDARO@v1: 0.5   Bm25_FDARO@v1: 0.5   
LaBSE_FDARO@v2: 0.5   Bm25_FDARO@v2: 0.5   
-----------------------------
LaBSE_UpQuartile: 0.5   Bm25_UpQuartile: 0.5 
```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/betepok506/RankingMetrics",
    "name": "docs-ranking-metrics",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7, <4",
    "maintainer_email": "",
    "keywords": "test",
    "author": "Andrey Rotanov",
    "author_email": "rotanov07@mail.ru",
    "download_url": "https://files.pythonhosted.org/packages/fb/40/bafbc4696182ddfbc44c09d76c8178cf2b965cad1e8c02b07be039ee3919/docs-ranking-metrics-0.0.4.tar.gz",
    "platform": null,
    "description": "# \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\n\u0414\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Bm25, LaBSE, MsMarcoST, MsMarcoCE \n\u0441 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u043e\u043c \u043c\u0435\u0442\u0440\u0438\u043a: \n* Top@1;\n* Top@3;\n* Top@5;\n* \u0421\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0432 \u0432\u044b\u0434\u0430\u0447\u0430\u0445 (AverageLoc);\n* C\u0440\u0435\u0434\u043d\u044f\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0432 \u0432\u044b\u0434\u0430\u0447\u0430\u0445 (AverageRelLoc);\n* \u041e\u0446\u0435\u043d\u043a\u0430 \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u043e \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0432\u044b\u0448\u0435 \u0432\u0441\u0435\u0445 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b\u0445 (FDARO@v1);\n* \u041e\u0446\u0435\u043d\u043a\u0430 \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u043e \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0432\u044b\u0448\u0435 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0433\u043e (FDARO@v2);\n* \u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0444\u0435\u0439\u043a\u043e\u0432\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0432 \u0442\u043e\u043f 25% (UpQuartile).\n\n\n\n# \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439\n```\npip install docs-ranking-metrics\n```\n\n# \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432 `examples/using_metrics.py`\n\n```commandline\n# \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\nmetrics = [LaBSE(), Bm25()]\n# \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\nrank_metrics = RankingMetrics(metrics)\n\n...\n\n'''\n\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a, \u0433\u0434\u0435 \nquery - \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \nsentences - \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432,\nlabels - \u043c\u0435\u0442\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432\n'''\nrank_metrics.update(query, sentences, labels)\n\n...\n# \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0432\u0432\u0438\u0434\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f\nrank_metrics.get()\n# \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 show_metrics\nrank_metrics.show_metrics()\n```\n\n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043c\u0435\u0442\u043e\u0434\u0430 get:\n```\n{\n    'LaBSE_AverageLoc': 10.5, \n    'Bm25_AverageLoc': 1.13513, \n    'LaBSE_Top@1': 0.0, \n    'LaBSE_Top@3': 0.013513, \n    'LaBSE_Top@5': 0.013513, \n    'Bm25_Top@1': 0.91891, \n    'Bm25_Top@3': 1.0, \n    'Bm25_Top@5': 1.0, \n    'LaBSE_FDARO': 0.6216, \n    'Bm25_FDARO': 1.0\n}\n```\n\n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043c\u0435\u0442\u043e\u0434\u0430 show_metrics():\n```\nLaBSE_AverageLoc: 4.5   Bm25_AverageLoc: 3.0   \n-----------------------------\nLaBSE_AverageRelLoc: 0.75   Bm25_AverageRelLoc: 0.5   \n-----------------------------\nLaBSE_Top@1: 0.0   Bm25_Top@1: 0.5   \nLaBSE_Top@3: 0.5   Bm25_Top@3: 0.5   \nLaBSE_Top@5: 0.5   Bm25_Top@5: 1.0   \n-----------------------------\nLaBSE_FDARO@v1: 0.5   Bm25_FDARO@v1: 0.5   \nLaBSE_FDARO@v2: 0.5   Bm25_FDARO@v2: 0.5   \n-----------------------------\nLaBSE_UpQuartile: 0.5   Bm25_UpQuartile: 0.5 \n```\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "The package contains functions for calculating ranking metrics",
    "version": "0.0.4",
    "project_urls": {
        "Homepage": "https://github.com/betepok506/RankingMetrics"
    },
    "split_keywords": [
        "test"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe103ae57fa1bf5b4dd4c3a0050ab0b7b71054b563f6683bdbe9e16d0358427d",
                "md5": "eee48289d31db757d17d9dbff7b95429",
                "sha256": "4ebe7229e863dd36d2b27d4e310e05557f9ba7590856c15fe5b9dc3cb2790a89"
            },
            "downloads": -1,
            "filename": "docs_ranking_metrics-0.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eee48289d31db757d17d9dbff7b95429",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7, <4",
            "size": 9240,
            "upload_time": "2023-06-08T12:16:16",
            "upload_time_iso_8601": "2023-06-08T12:16:16.000320Z",
            "url": "https://files.pythonhosted.org/packages/fe/10/3ae57fa1bf5b4dd4c3a0050ab0b7b71054b563f6683bdbe9e16d0358427d/docs_ranking_metrics-0.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fb40bafbc4696182ddfbc44c09d76c8178cf2b965cad1e8c02b07be039ee3919",
                "md5": "9fe417fd17e08a3fda25c40e2da19a78",
                "sha256": "91ca5d633f80ad1a3fa532bf9f8261bffd08dd8d7fb6198946d34653c65f3f96"
            },
            "downloads": -1,
            "filename": "docs-ranking-metrics-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "9fe417fd17e08a3fda25c40e2da19a78",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7, <4",
            "size": 12705,
            "upload_time": "2023-06-08T12:16:17",
            "upload_time_iso_8601": "2023-06-08T12:16:17.668032Z",
            "url": "https://files.pythonhosted.org/packages/fb/40/bafbc4696182ddfbc44c09d76c8178cf2b965cad1e8c02b07be039ee3919/docs-ranking-metrics-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-08 12:16:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "betepok506",
    "github_project": "RankingMetrics",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "rank-bm25",
            "specs": [
                [
                    ">=",
                    "0.2.2"
                ]
            ]
        },
        {
            "name": "sentence-transformers",
            "specs": [
                [
                    ">=",
                    "2.2.2"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "tensorflow_text",
            "specs": []
        }
    ],
    "lcname": "docs-ranking-metrics"
}
        
Elapsed time: 0.26655s