sentiment-analysis-with-lstm-in-persian

sentiment analysis in Persian language by LSTM

https://github.com/minasmz/sentiment-analysis-with-lstm-in-persian

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.4%) to scientific vocabulary

Keywords

lstm machine-learning nlp persian-language polarity-detection sentiment-analysis
Last synced: 10 months ago · JSON representation

Repository

sentiment analysis in Persian language by LSTM

Basic Info
  • Host: GitHub
  • Owner: minasmz
  • Language: Jupyter Notebook
  • Default Branch: master
  • Size: 70.7 MB
Statistics
  • Stars: 31
  • Watchers: 4
  • Forks: 16
  • Open Issues: 5
  • Releases: 1
Topics
lstm machine-learning nlp persian-language polarity-detection sentiment-analysis
Created about 8 years ago · Last pushed almost 4 years ago
Metadata Files
Readme Citation

README.md

Sentiment-Analysis-in-Persian-Language_LSTM

Sentiment Analysis with LSTM in Persian

First Phase

Data Aquisition

In this repository I have used LSTM for prediction of whether people would like or dislike a product based on the previous comments in the Digikala site. I have scraped the data from Digikala and have labeled them based on the stars people who had bought the products gave to them. I have also used another label from the same website which indicates people suggest others to buy that products or not. because many of the comments are noisy and do not provide a clean data for us and it is not such a reliable source by adding the second label to the data we can ensure a higher accuracy of our training data. For more clarifying the labels: 1 indicates suggesting others to buy and 2 means otherwise, 3 illusterates a neutral opinion about the product and 4 means the person has rate the product, but not suggest whether to buy or not. and the two or three digits number indicates the satisfaction percentage of the consumer with the preceding comment.

You can reach this data in the "totalReviewWithSuggestion.csv" file.

Second Phase

Data Preparation

In this Phase I have cleaned my data with Hazm library and other modifications which has commented in my source code. Then, I have splitted my dataset to parts for training and testing.

Third Phase

Build your own Neural Network in Tensorflow for LSTM

I have built my own graph for calculation the sentiments of each sentence based on the scores mentioning above.

Forth Phase

compute the word embeddings

In this phase I have used the precious guide from other repository and I have included that in my repository in the "ipynb_checkpoints" folder for more guidence to who wants to become more familiar with ehat I have done. As it is mentioned there using a one-hot method is too cumbersome and unefficient I have prepared a dictionary of my vocabulary and convert that to a feature vector.

Fifth Phase

Training and Testing

I have trained and have tested the code on my own dataset which have high accuracy near 93 percent.

Thanks

Thanks to Mr. AminMozhgani for his devoted assistance through the project.

Owner

  • Name: Mina Samizadeh
  • Login: minasmz
  • Kind: user
  • Location: United States

Ph.D. Computer Science Student at University of Delaware

GitHub Events

Total
  • Watch event: 3
Last Year
  • Watch event: 3