-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
assignment각 주차별 조별 과제 기록각 주차별 조별 과제 기록
Description
여섯 번째 과제: BERT를 이용한 sentence embedding의 cosine similarity 계산하기
회합 자료 링크: #1 (comment)

- BERT는 Transformer 아키텍처를 기반으로 한 모델로, 문장의 의미를 잘 이해하고 문장을 벡터 형태로 변환할 수 있습니다.
- Sentence embedding은 문장을 고정된 길이의 벡터로 표현하는 것을 의미하며, 문장 간의 유사도를 계산하는 데 유용합니다. 자세한 내용은 Weekly NLP week4를 참고하세요!
- 이번 과제에서는 BERT 모델을 사용하여 문장을 임베딩하고, cosine similarity와 같은 유사도 계산을 수행하여 문장 간의 관계를 분석합니다.
Colab Python 노트북을 사용한 BERT sentence embedding 실습
Step 1. 예시 노트북을 실행해보며 sentence embedding과 cosine similarity 계산 방법 익히기
- Google 계정 로그인 후 colab에 접속해서 현재 레포지토리의 /Week7/sentence_embeddings.ipynb 노트북을 실행해보면서 한국어 문장을 임베딩 벡터로 표현하는 과정과, 각 벡터들 사이의 cosine 유사도를 이용해 문장 사이의 의미적 유사도를 계산하는 방법에 대해 살펴봅시다.
- 예시 데이터 대신 자신만의 데이터를 입력해서 사용해도 좋아요!
Step 2. 입력된 키워드와 유사한 뉴스 기사 추천 프로그램 만들기
- 위에서 사용했던 BERT 모델을 이용하여, 사용자가 입력한 내용과 가장 유사한 뉴스 제목을 찾아 추천해주는 프로그램을 만들어 봅시다.
- 프로그램의 뼈대를 이루는 함수 이름과 정의가 마련되어 있으니, 필요한 부분을 자유롭게 구성하여 프로그램을 완성해 봅시다.
- 주의: main 함수의 정의는 바꾸지 마세요!
작동 예시
입력 > 신재생 에너지
출력 > 입력과 유사한 상위 5개의 뉴스 제목을 출력합니다.
1. 에너지정책 유턴 재생에너지 대신 원전으로 (score: 56.85)
2. 전기 아껴쓴 만큼 현금 돌려받는다...에너지캐쉬백 전국 확대 (score: 54.78)
3. 수자원공사 한국에너지기술연과 그린수소 연구 업무협약 (score: 53.07)
4. 이어지는 폭염 늘어나는 전력수요 (score: 51.01)
5. 코오롱 수소 밸류체인 플랫폼 구축… 생산부터 발전까지 원스톱 (score: 50.95)
Hint
- Hint 1: news_title에는 뉴스 데이터셋에 포함되어 있는 각 뉴스 기사들의 제목이 포함되어 있습니다. 예시 문장의 임베딩을 계산한 것과 같은 방식을 사용할 수 있습니다.
- Hint 2: 위에서 정의하고 사용했던
cal_score함수를 사용하면 사용자가 입력한 요청사항과 뉴스 제목들 사이의 similarity score를 계산할 수 있습니다.
제출 방식
- 노트북 마지막 부분에 완성한 코드와, 실행 화면을 캡쳐해서 보여주세요.
- 어떻게 구현했는지 간단하게 설명도 곁들여주세요.
Metadata
Metadata
Assignees
Labels
assignment각 주차별 조별 과제 기록각 주차별 조별 과제 기록