자바스크립트-테스팅의-기초

 

유닛테스트

작은단위로 기능을 잘게 조개서 잘 동작하는지 확인

기능 단위

 

통합테스트

전체적으로 동작이 잘되는지 확인

컴포넌트 상호작용

 

테스트 도구 종류는 다양하고 여러 목적에 따라 특출난 것들이 있으니 확인 후 선정하면 될 듯

아래는 테스트도구 10개를 소개하는 글이다.

http://www.itworld.co.kr/news/128974

 

원본 글에서는 설정이 간단하고 시작하기 편하다며 Jest를 사용했다.

jset와 @types/jest를 npm install한다.

 

-함수를 만들었으면 test함수도 만든다.

-test 키워드 대신 it 키워드를 쓴다.

-describe를 사용해서 여러 테스트 케이스를 묶는다.

 

테스트 코드 작성 시의 이점은 리팩토링 이후 코드가 잘 동작하는지 검증하기가 간편하다는 점이다.

테스팅 관련해서 벨로퍼트님의 글을 순서대로 읽으면 될 듯 하다.

 


원본

벨로퍼트와 함께하는 리액트 테스팅

https://velog.io/@velopert/react-testing

 

자바스크립트-테스팅의-기초

https://velog.io/@velopert/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%ED%85%8C%EC%8A%A4%ED%8C%85%EC%9D%98-%EA%B8%B0%EC%B4%88

클린봇 2.0: 문맥을 이해하는 악성 댓글(단문) 탐지 AI

 

AI관련해서 전혀 관심도 없는데, naver 블로그에서 확인하게 된 재미있고 유익한 글이 있어서 읽어봤다.
2020년 6월 18일 클린봇 2.0 모델이 나왔다고 하며 클린봇은 악플에 대한 탐지 AI이다.
클린봇 모델의 산출 과정에 대해 작성되어있다.

클린봇 2.0 악플 유형 기준

1. 욕설: 일반적인 욕설, 네이버 내부적으로 가지고 있는 욕설 데이터에 포함된 표현

2. 저속한 표현: 타인에게 불쾌감을 주는 속되고, 격이 낮은 표현

3. 선정적인 표현: 성적으로 자극적인 표현

4. 폭력적인 표현: 신체적 위협에 대한 표현

5. 차별적인 표현: 지역/인종/국가/종교 등에 기반한 차별 표현

6. 비하적인 표현: 상대방에게 모멸감과 수치심을 주는 비하 표현

 

토큰화가 필요했다고 하는데, 사용자 댓글은 오타나 비표준적인 표현, 한글 자모음, 특수문자 등을 다양하게 활용해서 작성되기때문에 단어나 형태소 단위는 적절하지 않았다고 한다. 따라서 음절 단위로 토큰화했다고...

<s> 시작
<e> 끝
<pad> 패딩
<unk> 출현 횟수가 일정 수를 넘지 않는 희소한 음절


* 입력 문장: “안녕하세요.”
* 토큰화 결과: [‘<s>’, ‘안’, ‘녕’, ‘하’, ‘세’, ‘요’, ‘<e>’, ‘<pad>’, ‘<pad>’, … ‘<pad>’,]

손실함수 정의, 모델 구조는 이해하지 못했다. 어렵다.
가볍게 읽는 글이기에 넘어가야겠다.
(이해를 위해 오랜시간을 쏟아야할 것같기도하고..ㅠ)

학습과정은 재미있었다.
데이터의 불균형이 생기면 학습 시 편향될 수 있기에 구축된 데이터를 토대로 복제해 균형을 맞춰주더라.

원본 글 출처 

 

성능 향상을 위해 데이터 정제, 전이 학습등을 거쳤다.
전이 학습에서 재밌고 대단한 점이 유사도를 산출하는 것이었는데, 어휘의 중복, 의미적 유사를 계산하여 학습한다.
정성적인 측면(의미 유사)에서 가설을 하나 세웠다고하는데, 생각해보면 나도 가설과 같이 행동할 때가 많다.

‘평균적으로, 같은 사용자가 비슷한 시기에 같은 섹션에서 작성한 두 댓글은 다른 사용자가 작성한 두 댓글보다 의미적으로(즉, 정성적으로) 유사하다.’

- 원본 글 출처

탐지 사례와 결과에서 어휘가 비슷해도 의미가 다른 댓글에 대한 클린봇 2.0에 대한 반응이 있다.

같은 텍스트가 포함되어있어도 의미가 악플인지 아닌지에 대한 결과인데, 신기하고 재밌는 결과이다.

클린봇 같은 AI들이 많이 생기고 더욱 진화해서 악플이 안보이는 날이 오면 좋겠다.

 

 


원본, 이미지 출처

https://d2.naver.com/helloworld/7753273

+ Recent posts