{"id":21623960,"url":"https://github.com/e0xextazy/nlp_huawei_new2_task","last_synced_at":"2025-04-11T11:23:12.284Z","repository":{"id":61431354,"uuid":"550325055","full_name":"e0xextazy/nlp_huawei_new2_task","owner":"e0xextazy","description":"A new second practical assignment for Huawei's NLP course","archived":false,"fork":false,"pushed_at":"2024-03-20T14:38:51.000Z","size":5715,"stargazers_count":16,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T07:41:40.850Z","etag":null,"topics":["deep-learning","machine-learning","nlp","text-classification"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/e0xextazy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-10-12T15:11:38.000Z","updated_at":"2024-12-09T15:42:38.000Z","dependencies_parsed_at":"2024-03-20T16:04:06.848Z","dependency_job_id":null,"html_url":"https://github.com/e0xextazy/nlp_huawei_new2_task","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e0xextazy%2Fnlp_huawei_new2_task","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e0xextazy%2Fnlp_huawei_new2_task/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e0xextazy%2Fnlp_huawei_new2_task/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e0xextazy%2Fnlp_huawei_new2_task/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/e0xextazy","download_url":"https://codeload.github.com/e0xextazy/nlp_huawei_new2_task/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248382201,"owners_count":21094550,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","machine-learning","nlp","text-classification"],"created_at":"2024-11-25T00:14:45.013Z","updated_at":"2025-04-11T11:23:12.264Z","avatar_url":"https://github.com/e0xextazy.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \n  \u003ca href=\"https://github.com/e0xextazy/nlp_huawei_new2_task/issues\"\u003e![GitHub issues](https://img.shields.io/github/issues/e0xextazy/nlp_huawei_new2_task)\u003c/a\u003e\n  \u003ca href=\"https://github.com/e0xextazy/nlp_huawei_new2_task/blob/master/LICENSE\"\u003e![GitHub license](https://img.shields.io/github/license/e0xextazy/nlp_huawei_new2_task?color=purple)\u003c/a\u003e\n  \u003ca href=\"https://github.com/psf/black\"\u003e![Code style](https://img.shields.io/badge/code%20style-black-black)\u003c/a\u003e\n    \n\u003c/div\u003e\n\n# Practical Assignment 2: Text multiclass classification: store's review rating\n\n## Contents\n- [Practical Assignment 2: Text multiclass classification: shop's rating](#practical-assignment-2-text-multiclass-classification-shops-rating)\n  - [Contents](#contents)\n  - [Description](#description)\n  - [Data](#data)\n  - [Evaluation](#evaluation)\n  - [Submission File](#submission-file)\n  - [Usage](#usage)\n  - [Contributing](#contributing)\n    - [Issue](#issue)\n    - [Pull request](#pull-request)\n  - [Authors](#authors)\n\n## Description\nYour task is to classify the store's review rating into 5 classes. The metric is **F1-score**.\n\nWe present you 4 baseline solutions based on logistic regression, catboost, LSTM and Transformers. You can find them in their respective folders: `./baseline_tfidf_logreg`, `./baseline_catboost`, `./baseline_rnn` and `./baseline_transformers`. Each of these folders contains a file `requirements.txt` that will help you with the installation of the dependencies. To see the score and how many points you get if you can beat him, look at the table below:\n\n| baseline    | Accuracy    | F1-score    | Points      |\n| ----------- | ----------- | ----------- | ----------- |\n| LogReg      | 0.5846      | 0.5178      | 12 points   |\n| CatBoost    | 0.6455      | 0.6161      | 12 points   |\n| LSTM        | 0.6227      | 0.6101      | 12 points   |\n| Transformer | 0.6354      | 0.6286      | 12 points   |\n\nIf you will be the first in your group, you'll get 3 bonus points.\n\nPlease **DO NOT** develop your solution as a fork of this repository. Also please do not make it publicly available.\n\n## Data\n\nThe dataset presented here was collected from one of the most popular maps. It contains reviews and ratings from 1 to 5 and we suggest you try to predict them.\n\n- `train.csv` - The training set, comprising the `rate` and `text` of each review. `rate` comprise the target for the competition.\n- `test.csv` - For the test data we give only the `text` of a review.\n- `sample_submission.csv` - A submission file in the correct format.\n\nYou can download the dataset by following the [link](https://drive.google.com/drive/folders/1k-y7bLFXH94Y5pzUHYro1iTMsqsSoaHH?usp=sharing).\n\n## Evaluation\n\nSubmissions are scored using F1-score:\n\n\u003cp align=\"center\" width=\"100%\"\u003e\n    \u003cimg width=\"65%\" src=\"images/f1.png\"\u003e\n\u003c/p\u003e\n\n## Submission File\n\nFor each row in the test set, you need to predict one of the 5 rates, from 1 to 5. The file should contain a header and have the following format:\n```\nindex,rate\n0,5\n1,5\n2,5\n3,5\n...\n```\n\n## Usage\n1. Clonning repo: `git clone https://github.com/e0xextazy/nlp_huawei_new2_task.git`\n2. `cd nlp_huawei_new2_task/`\n3. Create virtual environment: `python3.7 -m venv venv`\n4. Activate virtual environment: `source venv/bin/activate`\n5. Setup your baseline:\n   1. TF-IDF + Logistic Regression: `./setup/setup_tf_idf_logreg.sh`\n   2. Catboost: `./setup/setup_catboost.sh`\n   3. LSTM: `./setup/setup_lstm.sh`\n   4. Transformers: `./setup/setup_transformers.sh`\n6. Download data: `./setup/download_data.sh`\n7. Enjoy!\n\n## Contributing\nCopy of the [`contributing.md`](https://github.com/e0xextazy/nlp_huawei_new2_task/blob/master/contributing.md).\n\n### Issue\n- If you see an open issue and are willing to do it, add yourself to the performers and write about how much time it will take to fix it. See the pull request module below.\n- If you want to add something new or if you find a bug, you should start by creating a new issue and describing the problem/feature. Don't forget to include the appropriate labels.\n\n### Pull request\nHow to make a pull request.\n1. Clone the repository;\n2. Create a new branch, for example `git checkout -b issue-id-short-name`;\n3. Make changes to the code (make sure you are definitely working in the new branch);\n4. `git push`;\n5. Create a pull request to the `master` branch;\n6. Add a brief description of the work done;\n7. Expect comments from the authors.\n\n## Authors\n- [Mark Baushenko](https://t.me/kaggle_fucker)\n- [Artyom Boldinov](https://github.com/limpwinter)\n- [Milana Shkhanukova](https://github.com/MilanaShhanukova)\n- [Nikita Safonov](https://github.com/sixxio)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe0xextazy%2Fnlp_huawei_new2_task","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fe0xextazy%2Fnlp_huawei_new2_task","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe0xextazy%2Fnlp_huawei_new2_task/lists"}