Giter VIP home page Giter VIP logo

nlp-project's Introduction

Aspect-based Sentiment Analysis on Cosmetics Customer Reviews

2023-2 자연언어처리 프로젝트

Result

Dashboard

Dataset

AI-Hub 속성기반 감성분석 데이터를 사용했습니다.

Model

klue/roberta-base를 사용했습니다.

Summary

Directory Explanation
EDA 데이터 전처리를 수행하는 DataPreprocessing.ipynb, 간단히 데이터 확인하는 EDA.ipynb
NLP 기타 기능을 분리한 etc_plugin.py, 모델 관련 부차적 함수를 분리한 model_plugin.py, 모델 학습하는 run.ipynb
Dashboard 생성된 BEST 모델을 기반으로 test 데이터셋을 넣었을 때 점수를 확인하고, 대시보드용 csv 파일을 생성하는 Dashboard.ipynb

Usage

Python 3.8.10

python -m venv myenv &&
source myenv/bin/activate &&
pip install -r requirements.txt &&
jupyter notebook

Execution Order

Important

EDA/absa_data안에 AI-Hub 속성기반 감성분석 데이터(도메인이 '화장품'인 데이터만 해당)를 넣고 아래와 같은 순서로 실행해주세요.

flowchart LR;
    A[EDA/DataPreprocessing.ipynb]---->B;
    B[EDA/EDA.ipynb]---->C;
    C[NLP/run.ipynb]---->D[Dashboard/Dashboard.ipynb];

nlp-project's People

Contributors

heewoneha avatar

Watchers

 avatar

nlp-project's Issues

워드 클라우드

1차적으로 ABSA NLP는 끝마쳤다.
그런데 이제 대시보드에 올릴 워드 클라우드를 위해서 kiwipiepy 라이브러리를 이용해보려고 한다.
예상되는 문제가 하나 있다.

EDA 과정

Summary

AI-Hub에 있는 속성기반 감성 분석 (샘플) 데이터셋을 이용해 EDA

To Do List

  • 화장품 카테고리 데이터 개수 확인
  • 데이터 전처리 테스트
  • EDA

모델의 성능과 속도

현재 모델은 학습할 때 정말 많은 시간이 소요된다. 이에 관해 원인 파악 및 해결 방안 정리

디스크 용량 부족 문제

nlp 코드를 완성하고 코드를 다시 돌려봤는데, 아래와 같은 오류가 뜬다.

Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/home/{유저이름}/myenv/lib/python3.8/site-packages/IPython/core/history.py", line 581, in end_session
    self.db.execute("""UPDATE sessions SET end=?, num_cmds=? WHERE
sqlite3.OperationalError: database or disk is full

코드 고치고 나서 생긴 오류인데, 진짜 용량 부족인걸까 아니면 내 코드가 문제인걸까?

GPU 문제

로컬 랩탑, 데스크탑에는 GPU가 없다. Cuda를 위해서는 GPU가 필요하다.

데이터 사전 가공

Summary

klue/roberta-large 사용하기 전, 데이터 가공하기

To Do List

  • 불용어 제거
  • 일의 자리 단위 개수 극성 제거
  • RawText, Aspect, SentimentPolarity만 담도록 데이터 변경 (원본 JSON에는 필요없는 값: ReviewScore, ProductName 등이 많음). 파일명은 MainCategory로 하기.
  • train, validation, test 데이터셋으로 분할

데이터 사전 가공과 관련한 문제

일의 자리, 십의 자리 수 속성과 그 문장 데이터를 제거해왔다.

그런데 이렇게 하면 문제가 생긴다. 속성에 따른 문장까지 함께 제거하니 의도치 않게 다른 속성의 개수도 줄었다.

중간 Report 이후로 바뀐 점 정리

뭐가 많아져서 헷갈리는데, 중간 보고서에 적었던 내용과 달라진 점을 여기에 정리해본다.
기말 보고서에는 아래와 같은 내용을 변경하여 적어보자.

프로젝트 주제

주제 조건

  • 대회 또는 자유 주제
    • 마음에 드는 대회나, 기간이 일치하는 대회를 찾기 어려우므로 자유 주제로 선택.

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.