본문 바로가기

My Work/Data Literacy

(14)
Ali Express 상품 리뷰를 통한 감정 모델 분석 문제 정의 💥야구나 홈쇼핑 같은 라이브 방송 중에 실시간으로 송출되는 댓글들이 있다. 주로 시청자 참여를 촉진하고, 실시간 상호작용을 통해 방송의 생동감을 높이기 위함이다. 하지만, 안타깝게도 '그 의도'와 벗어난 댓글들이 올라올 때가 있다. 부정적인 반응이나 교묘하게 돌려까는(?)식의 댓글들이 화면에 노출되기도 한다.  즉, 그러한 문제를 방지하고, 라이브 방송의 품질을 유지하기 위해 선제적으로 부적절한 댓글을 필터링하는 시스템이 필요하다. 따라서, 이번에는 BERT 모델을 활용하여 실시간 댓글의 감정을 분석하고, 부정적인 댓글을 사전에 예측하여 필터링하는 것을 목표로 모델을 구현했다.   근데 왜 BERT?BERT는 양방향성을 가지는 언어 모델로, 문맥을 깊이 이해할 수 있기 때문이다. 일반적인 R..
모두의 주차장 서비스 개선하기 feat. 피처 벡터 😵‍💫문제주말에 차를 가지고 서울에서 돌아다닐 때, 항상 짜증나는 부분이 주차 문제이다. 특히, 토요일에는 무료 주차장이나 값싼 주차장을 찾기 어렵고 기껏 찾아내도 주차 자리가 없어서 힘들었던 적이 많다. 실제로, 저번주 주말에 서울대입구에서 주차를 하기 위해 4곳의 주차장을 방문했으나 모두 주차를 할 수 없었다. '모두의 주차장'을 통해 주차장을 미리 찾아도 잔여 주차 자리가 없는 경우도 많았으며, 내가 주차하고 싶은 시간에 대한 정확한 요금 계산을 운전 중에 암산으로 해야했다.   실제로 모두의 주차장 UI를 보면 실시간 주차 가능 자리는 표시되지 않는다. 더불어, 만약 내가 30분이나 1시간이 아닌 애매한 시간, 예를 들어 2시간 45분정도만 주차를 하고자 할 때, 어느 주차장이 더 '가성비'인..
프로그래머스 연습문제 풀이 어린 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 동물 중 젊은 동물(INTAKE_CONDITION이 Aged가 아닌 경우를 뜻함)의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요. 정답 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION !..
필수 SQL 개념 - (3/3편) LIKE : 패턴을 기반으로 데이터 조회 참고로, sqlite에서는 LIKE는 2개의 wildcards(다른 문자를 대체하는 사용)를 제공한다. 1. _(언더바) : '_' 자리에는 문자가 무조건 있어야 한다. - 9___는 9로 시작하는 4자리를 의미한다. - _8은 8로 끝나는 2자리를 의미한다. 2. % : '%' 자리에는 문자열이 있어도 되고, 없어도 된다. - 8%는 8로 시작하는 값이다. 8, 80, 81, ... 등이 가능하다. 따라서, LIKE는 아래와 같이 사용된다. SELECT * FROM friends WHERE col LIKE 'wildcard'; 예를 들어, 나이를 조회하거나 이름을 조회할 때 유용하게 사용할 수 있다. SELECT * FROM friends WHERE name L..
필수 SQL 개념 - (2/3편) 저번 1편에 이어서 CRUD 중에 Update, Delete에 대한 SQL문을 자세히 알아보겠다. 일단 이번 블로그 글에서 쓸 테이블을 간단하게 만들어보자면 아래와 같다. 테이블명 : friends Number Name Age Sex 1 James 25 Male 2 John 26 Female 3 Lucas 27 Male Update : 기존 행의 데이터 수정 SET을 이용해서 새로운 값을 설정할 수 있다. UPDATE friends SET col1=value1, col2=value2, ... WHERE 조건; 이 때, 'rowid' 라는 개념을 알면 UPDATE의 조건문을 쉽게 사용할 수 있다. rowid는 인덱스를 나타내며, 고유한 주소록이라고 생각하면 된다. (사실 저번 글에서 다뤘어야 했는데 지나쳤..
필수 SQL 개념 - (1/3편) SQL 역량은 개발자뿐만 아니라 PM들에게도 요구되는 필수 역량 중 하나이다. 실제로, 많은 PM 현직자들분들로 SQL을 자유롭게 다루시는 분들이 많다. SQL은 쉽게 말해서 데이터 관리를 위해 만들어진 언어이다. 따라서, 이번 글은 PM이라면 필수적으로 알아야 할 SQL의 기초에 대해서 다룬다. RDB (Relational Database) : 관계형 데이터베이스 RDB는 SQL을 다루기 전의 필수 개념이다. SQL로 RDB를 다룬다고 생각하면 된다. 아래 Table은 Key와 Value을 Table로 정리한 DB이다. Table Name : friends Number Name Age Job 1 James 24 Student 2 Kevin 25 Taxi Driver 3 Andrew 23 Student ..
AARRR 퍼널별 참고사항 이전에 잠깐 지표 부분에서 AARRR을 언급했었다. 그냥 넘어가기에는 아쉬운 주제여서 AARRR 퍼널 분석 시, 참고해야 하는 몇가지 사항들을 마이리얼트립의 양승화님의 '그로스 해킹'을 통해 정리했다. 먼저, AARRR은 Dave McClure가 제시한 지표 퍼널로, 주로 스타트업에서 서비스를 출시할 때 지표 트래킹 표준처럼 많이 쓰인다. Acquisition(고객 유치), Activation(활성화), Retention(리텐션), Revenue(수익화), Refferal(추천)로 구성된 퍼널은 조직의 상황에 맞게 순서를 바꿔도 된다. Acquisition (고객 유치)의 참고사항 GA나 앱스플라이어 같은 서비스의 ‘고객 획득’ 메뉴에서 ‘Direct’ 혹은 ‘Organic’을 보통 자발적으로 찾아온 고..
AB Test (핵심 요소, 규칙) 해당 글은 인프런 변성윤님의 PM을 위한 데이터 리터러시 강의를 기반으로 작성되었습니다. AB 테스트의 핵심 요소 : 실험 타겟, 지표, 실험 기간, 통계, 실험 플랫폼 1. 실험 타겟 - 실험군 : 특정 조작을 진행한 집단. → 새로운 기능 or 화면을 보는 집단. - 대조군 : 조작이 없는 집단. → 기존 화면. 2. 지표 * 아래 2개의 질문처럼 뚜렷한 목적을 기반으로 한 지표 설정이 필요. - 어떤 지표를 개선하고 싶은가? - 어떤 지표의 변화를 알고 싶은가? 3. 실험 기간 - 유의미함이 검증될 수 있는 기간. - 계절성, 연휴, 프로모션 등 내외부 요소의 영향을 고려. 4. 통계 - 빈도주의(Frequentist) 접근 → 다르다, 다르지 않다를 검정하는 방법으로 일반적인 검정 방법. - 베이..