Giter Club home page Giter Club logo

sentiment_analysis's Introduction

Analiza sentymentu recenzji

Celem tego projektu jest prezentacja modelu do analizy sentymentu recenzji na podstawie recenzji produktów z platformy Amazon. Wszystkie pliki źródłowe znajdują się w folderze src natomiast dane powinny znaleźć się w folderze data. Dane te zawierają tekst recenzji oraz ocenę pozytywną lub negatywną. Wytrenowany model znajdzie się w folderze model, na podstawie tekstu recenzji przewiduje on sentyment pozytywny lub negatywny.

Wymagania

Potrzebne zależności znajdują się w pliku requirements.txt. Wpisane są tam ich wersje, których używałem podczas robienia projektu. By je zainstalować należy wykonać polecenie

pip install -r requirements.txt

Dane

By pobrać dane w głównym katalogu projektu należy utworzyć folder data poleceniem

mkdir data

Dane dostępne są na platformie Kaggle https://www.kaggle.com/datasets/bittlingmayer/amazonreviews Po ich pobraniu należy je rozpakować do folderu data. Po rozpakowaniu w folderze tym powinny znaleźć się pliki train.ft.txt oraz test.ft.txt.

Trenowanie

By wytrenować model w głównym katalogu projektu należy utworzyć folder model poleceniem

mkdir model

W tym folderze zapisywany będzie model i tokenizer. By mieć pewność, że nowo trenowany model się zapisze folder ten nie powinien zawierać poprzednio wytrenowanego modelu. By wytrenować model przechodzimy do folderu src

cd src

Trenowanie uruchamiamy poleceniem

python3 Training.py

Domyślnie model trenowany jest na danych z pliku train.ft.txt zawierającym 3 600 000 danych. Ze względu na ograniczenia sprzętowe trenowałem model na pierwszych 1 000 000 danych co zajmowało około 5 godzin. By przyspieszyć ten proces można ograniczyć trenowanie do jednej epoki zmieniając parametr epochs w linii 33. na 1 lub zmniejszyć ilość wczytywanych danych. Nawet dla 10000 można uzyskać accuracy na poziomie 85%. Liczbę linii pliku używanych do treningu lub ewaluacji można zmienić odkomentowując linię 19. w pliku Dataloader.py.

Ewaluacja

Testowanie modelu odbywa się za pomocą wykonania w tym samym folderze polecenia

python3 Testing.py

Testowany model oraz tokenizer wczytywane są z folderu model dlatego przed ewaluacją powinny znajdować się tam folder model_weights.h5py z wytrenowanym modelem oraz plik tokenizer.json z tokenizerem.

sentiment_analysis's People

Contributors

pszemo10 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.