코로나로 인해 제한된 활동과 비대면 수업등으로 성인이 된 이후 새로운 관계형성에 어려움을 느끼고 있는 대학생들을 위해 제작되었습니다.
기존 심폐소생술의 의미와 비슷하게 저희 팀만이 해석한 CPR(Connect Proxy Relationship)은 'Connect(연결하다.) Proxy(대신) Relationship(관계)'의 뜻을 담아 '대신해서 새로운 관계형성'에 도움을 드리고자 하는 추천 사용자 연결 서비스입니다.
- 사용자에게 알맞는 대화상대 매칭
- 클린한 통화문화를 위한 NLP를 활용한 통화품질 제공
- 구현 👉 pymysql 라이브러리를 이용하여 파이썬과 MySQL을 연결, 모든 데이터를 DB에서 가져와 연산한 후 결과를 곧바로 DB에 저장하는 식.
- 매칭 알고리즘 👉 각 사용자들끼리 매칭 점수를 관심사, MBTI 등의 독립 변수를 이용하여 Rule-based 방식으로 도출. 그 후, 모든 매칭 점수를 Priority_queue에 저장하여 greedy하게 매칭할 두 사용자를 찾는다.
- 관심사 분석 👉 사용자의 대화내용을 텍스트로 불러왔을 때, 한국어 형태소 분석기를 이용해 단어를 추출. 불용어 처리를 통해 유의미한 관심사 키워드를 분석하여 DB에 업데이트.
- 비속어 필터링 👉 욕설 및 비하발언을 포함한 데이터셋으로 나이브베이즈 다항분포 모델 학습. 대리분석 모델을 활용하여 비속어를 필터링하는 함수를 생성, 사용자의 발화 내용이 비속어를 포함하였는지 확인할 수 있다.
Front-End는 총 15개의 페이지로 구성되어 있으며 각 페이지에 대한 간단한 설명은 다음과 같습니다.
index.html - 로그인 화면
profile.html - 개인 프로필 화면으로 사용자의 닉네임, 전공, 관심사 등 여러 항목이 표시됩니다.
chats.html - 채팅방 목록 화면으로 원하는 채팅방을 선택하면 랜덤 사용자와 매칭이 성사됩니다.
friends.html - 친구 목록 화면으로 친구 신청 수락 및 친구와 전화하기 등 여러 기능을 수행할 수 있습니다.
notices.html - 공지사항 화면으로 공지사항 및 김앤장 팀의 소개를 볼 수 있습니다.
waiting1.html - 연결 대기 중 화면으로 연결되면 waiting2.html로 이동합니다.
waiting2.html - 연결 완료 화면으로 상대의 정보를 확인하고 '다시 매칭' 또는 '연결하기' 중 선택할 수 있습니다.
chat.html - 연결 중 화면으로 스피커폰, 음소거, 통화종료의 기능을 사용할 수 있습니다.
evaluate.html - 연결 종료 화면으로 상대에 대한 평가 및 친구신청을 할 수 있습니다.
myself.html - 자기 평가 화면으로 통화 중 자신의 언행에 대한 상세 점수를 확인할 수 있습니다.
- App : PYTHON & HTML, CSS, JAVASCRIPT
- DB : MYSQL
- IDE : VSCODE, Repe.IT
- Operating System : window 11 64bit & Mac OS Monterey
- CPU : i5
- RAM : 8GB
Frontend & Algorithm | Frontend & NLP | DB & Algorithm | NLP & Algorithm | DB & Algorithm |
---|---|---|---|---|
김다연 | 김민섭 | 김성원 | 김예린 | 장찬영 |