Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#125] 감정어 분석 API 추가 #126

Merged
merged 4 commits into from
Jul 13, 2024
Merged

[#125] 감정어 분석 API 추가 #126

merged 4 commits into from
Jul 13, 2024

Conversation

KkomSang
Copy link
Collaborator

#️⃣ 연관된 이슈

Resolves #125

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요 (이미지 첨부 가능)

네이버 클라우드 CLOVA Sentiment를 추가했습니다.
해당 API를 통해 사용자가 행복 기록 시, 메모를 입력했다면 메모를 기반으로 감정어 분석 기능을 추가했습니다.
감정어 분석을 한 문장마다 진행되며, 긍정 또는 부정으로 판단된 문장만 저장되고 중립으로 판단된 문장은 저장되지 않습니다. 메모가 비어있다면 분석은 진행되지 않습니다.

Analysis는 감정어 분석 결과를 저장하는 엔티티입니다. 이때 감정어 분석의 결과로 나온 긍정문/부정문은 각각 여러개의 문장이 저장되어야 하는 경우가 생깁니다. 즉, String(값 타입)을 컬렉션에 담아서 저장해야 합니다.
하지만 기본적으로 관계형 데이터베이스에는 컬렉션을 저장할 수 없습니다. 따라서 컬렉션을 저장하기 위해서는 별도의 테이블을 만들어야 합니다.
따라서 @ElementCollection을 사용했습니다.
@ElementCollection은 컬렉션 객체임을 JPA가 알 수 있게 해주며, 엔티티가 아닌 값 타입에 대한 테이블을 생성하고 1대다 관계로 다룹니다.
@ElementCollection을 추가한 칼럼(positiveSentiments, negativeSentiments)은 주키로 Analysis 테이블의 주키(analysis_id) 값들을 가지는 테이블로 새로 생성됩니다. 이 테이블은 오직 부모 테이블(analysis)을 통해서만 접근이 가능합니다.

참고)

  • analysis
image
  • negative_sentiments
image

스크린샷 (선택)

💬 리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

✅ Check List

  • PR 제목을 커밋 규칙에 맞게 작성했는가?
  • PR에 해당되는 Issue를 연결했는가?
  • 적절한 라벨을 설정했는가?
  • 작업한 사람을 모두 Assign했는가?

@KkomSang KkomSang added feat 새로운 기능을 추가합니다 fix 기능 및 버그를 수정합니다 labels Jul 12, 2024
@KkomSang KkomSang self-assigned this Jul 12, 2024
@yel-m yel-m self-requested a review July 13, 2024 04:28
@yel-m yel-m merged commit f784d3a into develop Jul 13, 2024
1 check passed
@yel-m yel-m deleted the feat/#125 branch July 13, 2024 05:07
@yel-m
Copy link
Member

yel-m commented Jul 13, 2024

눈물이 흐르는 코드.....
너무너무 수고하셨습니다!! 💪💛

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat 새로운 기능을 추가합니다 fix 기능 및 버그를 수정합니다
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] 감정어 분석 API 추가
2 participants