KR102034346B1 - 학습 기반의 비속어 탐지 장치 및 방법 - Google Patents

학습 기반의 비속어 탐지 장치 및 방법 Download PDF

Info

Publication number
KR102034346B1
KR102034346B1 KR1020170082767A KR20170082767A KR102034346B1 KR 102034346 B1 KR102034346 B1 KR 102034346B1 KR 1020170082767 A KR1020170082767 A KR 1020170082767A KR 20170082767 A KR20170082767 A KR 20170082767A KR 102034346 B1 KR102034346 B1 KR 102034346B1
Authority
KR
South Korea
Prior art keywords
word
vector
slang
feature vector
learning
Prior art date
Application number
KR1020170082767A
Other languages
English (en)
Other versions
KR20190002202A (ko
Inventor
한요섭
이호석
이홍래
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020170082767A priority Critical patent/KR102034346B1/ko
Publication of KR20190002202A publication Critical patent/KR20190002202A/ko
Application granted granted Critical
Publication of KR102034346B1 publication Critical patent/KR102034346B1/ko

Links

Images

Classifications

    • G06F17/2765
    • G06F17/2705
    • G06F17/2755
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

학습 기반의 비속어 탐지 장치 및 방법이 개시된다. 개시된 장치는,단어-특징벡터를 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 특징 벡터 추출부; 상기 특징 벡터 데이터베이스로부터 상기 탐지 대상 단어의 특징 벡터와 유사한 N개의 특징 벡터에 상응하는 N개의 단어를 추출하고 상기 추출된 N개의 단어 및 상기 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어일 경우 상기 탐지 대상 단어를 비속어라고 판단하는 비속어 판단부를 포함하되, 상기 특징 벡터 데이터베스에 저장되는 특징 벡터들은 학습을 통해 설정되며, 상기 학습은 학습되는 문장에서 특정 단어와 동시출연 가능성이 높은 다른 단어들이 유사한 특징 벡터를 가지도록 이루어진다. 개시된 장치 및 방법에 의하면, 기존의 비속어를 우회적으로 표현한 비속어 및 새로운 형태의 비속어를 효율적으로 탐지하여 사이버 폭력을 미연에 방지할 수 있는 장점이 있다.

Description

학습 기반의 비속어 탐지 장치 및 방법{Method and Device for Detecting Slang Based on Learning}
본 발명의 실시예들은 비속어 탐지 장치 및 방법에 것으로서, 더욱 상세하게는 학습 기반의 비속어 탐지 장치 및 방법에 관한 것이다.
게시판, 뉴스, 커뮤니티 등을 통해 인터넷상에서 사용자들간의 의견 교환은 활발히 이루어지고 있으며, 공개적인 게시판이 아니더라도 사적인 채팅 메시지 교환이 인터넷 공간에서 빈번히 이루어지고 있다.
인터넷은 비속어 및 욕설이 어떠한 환경보다도 빠르게 생성되어 사용되고 있으며, 이러한 종류의 비속어는 빠르게 전파되는 특성을 가진다. 이러한 특성으로 인해 과거에는 청소년을 대상으로 발생하여 주목받았던 사이버 폭력이 이제는 연령에 상관없이 전 연령대에서 발생하고 있으며, 많은 경우에 있어서 의견 교환보다는 다른 사용자에 대한 비속어와 욕설로 컨텐츠가 채워지고 있는 실정이다.
인터넷상에서 무분별한 비속어 사용이 사이버 폭력으로 확장되면서 이에 대한 연구가 활발히 이루어지고 있으며, 허용되지 않는 비속어를 미리 설정하고(블랙리스트) 해당 비속어가 사용될 경우 필터링하는 기법이 주로 이용되고 있다.
그러나, 이러한 블랙리스트 기반의 필터링 기법은 사용자들이 비속어에 대한 신조어와 우회적으로 비속어를 표현하는 방법에 의해 사실상 실효성을 거두고 있지 못하는 실정이다. 특정 비속어가 필터링된다는 것을 인지하고 있는 사용자는 해당 비속어로 인지될만한 비속어를 우회적으로 사용하기도 하며, 기존의 블랙리스트에는 새로운 형태의 비속어를 창조하여 사용하기도 한다. 새로운 형태의 비속어는 인터넷 공간의 특성상 빠르게 전파되어 사용되므로 기존의 블랙리스트 기법으로는 이러한 형태의 사이버 폭력에 대처할 수 없는 문제점이 있었다.
본 발명은 기존의 비속어를 우회적으로 표현한 비속어 및 새로운 형태의 비속어를 효율적으로 탐지하여 사이버 폭력을 미연에 방지할 수 있는 비속어 탐지 장치 및 방법을 제안한다.
본 발명의 일 측면에 따르면, 단어-특징벡터를 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 특징 벡터 추출부; 상기 특징 벡터 데이터베이스로부터 상기 탐지 대상 단어의 특징 벡터와 유사한 N개의 특징 벡터에 상응하는 N개의 단어를 추출하고 상기 추출된 N개의 단어 및 상기 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어일 경우 상기 탐지 대상 단어를 비속어라고 판단하는 비속어 판단부를 포함하되, 상기 특징 벡터 데이터베스에 저장되는 특징 벡터들은 학습을 통해 설정되며, 상기 학습은 학습되는 문장에서 특정 단어와 동시출연 가능성이 높은 다른 단어들이 유사한 특징 벡터를 가지도록 이루어지는 학습 기반의 비속어 탐지 장치가 제공된다.
상기 학습 기반의 비속어 탐지 장치는, 입력되는 문장을 분석하여 탐지 대상 단어를 추출하고, 각 탐지 대상 단어에 대한 품사 태깅을 수행하는 문장 분석부를 더 포함한다.
상기 학습 기반의 비속어 탐지 장치는, 학습 과정에서 입력되는 문장을 이용하여 단어에 대한 특징 벡터를 학습을 통해 설정하는 특징 벡터 학습부를 더 포함한다.
상기 특징 벡터 학습부는 각 단어에 대한 단어 아이디 벡터와 상기 단이 아이디 벡터를 변환하기 위한 변환 벡터를 학습한다.
상기 특징 벡터 학습부는 벡터 설정/갱신부 및 에러 함수 피드백 모듈을 포함하고, 초기에는 임의로 각 단어의 단어 아이디 벡터 및 변환 벡터를 설정하고, 상기 에러 함수 피드백 모듈은 특정 단어와 동시 출연하는 단어의 동시 출연 확률과 상기 특정 단어와 상기 동시 출연하는 단어의 특징 벡터의 차이값에 기초한 에러값을 상기 벡터 설정/갱신부에 제공하며, 상기 벡터 설정/갱신부는 상기 에러값에 기초하여 상기 각 단어의 단어 아이디 벡터 및 상기 변환 벡터를 갱신한다.
본 발명의 다른 측면에 따르면, 단어-특징벡터를 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 특징 벡터 추출부; 상기 특징 벡터 데이터베이스로부터 상기 탐지 대상 단어의 특징 벡터와 유사한 N개의 특징 벡터에 상응하는 N개의 단어를 추출하고 상기 추출된 N개의 단어 및 상기 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어일 경우 상기 탐지 대상 단어를 비속어라고 판단하는 비속어 판단부를 포함하되, 상기 특징 벡터 데이터베스에 저장되는 특징 벡터들은 단어들간 동시 출연 확률에 기초하여 그 값이 설정되는 학습 기반의 비속어 탐지 장치가 제공된다.
본 발명의 또 다른 측면에 따르면, 단어-특징벡터를 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 단계(a); 상기 특징 벡터 데이터베이스로부터 상기 탐지 대상 단어의 특징 벡터와 유사한 N개의 특징 벡터에 상응하는 N개의 단어를 추출하고 상기 추출된 N개의 단어 및 상기 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어일 경우 상기 탐지 대상 단어를 비속어라고 판단하는 단계(b)를 포함하되, 상기 특징 벡터 데이터베스에 저장되는 특징 벡터들은 학습을 통해 설정되며, 상기 학습은 학습되는 문장에서 특정 단어와 동시출연 가능성이 높은 다른 단어들이 유사한 특징 벡터를 가지도록 이루어지는 학습 기반의 비속어 탐지 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 단어-특징벡터를 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 단계(a); 상기 특징 벡터 데이터베이스로부터 상기 탐지 대상 단어의 특징 벡터와 유사한 N개의 특징 벡터에 상응하는 N개의 단어를 추출하고 상기 추출된 N개의 단어 및 상기 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어일 경우 상기 탐지 대상 단어를 비속어라고 판단하는 단계(b)를 포함하되, 상기 특징 벡터 데이터베스에 저장되는 특징 벡터들은 단어들간 동시 출연 확률에 기초하여 그 값이 설정되는 학습 기반의 비속어 탐지 방법이 제공된다.
본 발명에 의하면, 기존의 비속어를 우회적으로 표현한 비속어 및 새로운 형태의 비속어를 효율적으로 탐지하여 사이버 폭력을 미연에 방지할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 비속어 탐지 장치의 전체적인 구성을 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 단어-특징 벡터 학습부의 구조를 도시한 블록도.
도 3은 본 발명의 일 실시예에 따라 각 단어에 대한 단어 아이디 벡터를 설정하는 일례를 도시한 도면.
도 4는 본 발명의 일 실시예에 따라 학습이 수행되면서 설정되는 특징 벡터의 일례를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 학습 기반의 비속어 탐지 방법의 전체적인 흐름을 도시한 순서도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 비속어 탐지 장치의 전체적인 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시에에 따른 비속어 탐지 장치는 문장 분석부(100), 특징 벡터 추출부(120), 단어-특징벡터 학습부(130), 단어-특징벡터 데이터베이스(140), 비속어 판단부(150), 비속어 데이터베이스(160)를 포함할 수 있다.
본 발명의 일 실시예에 따른 비속어 탐지 장치는 사용자가 작성한 문장을 입력받아 해당 문장에 비속어가 포함되어 있는지 여부를 탐지한다. 여기서, 사용자가 작성하는 문장은 각종 게시판에 사용자가 올리는 문서, 댓글 등에 포함되는 문장일 수 있으며, 사용자가 최종적으로 작성한 문서에 대한 업로드를 요청하였을 때 사용자가 작성한 문서에 포함된 문장을 입력받아 비속어 존재 여부를 판단한다.
또한, 본 발명은 학습을 통해 비속어를 탐지하는 방식을 사용하며, 본 발명의 비속어 탐지 장치는 학습 모드와 탐지 모드의 두 가지 모드로 동작하게 된다. 이하에서는 학습이 완료된 상태인 탐지 모드를 주 실시예로 설명하기로 하며, 학습 모드 시의 동작에 대해서는 별도의 도면을 참조하여 설명하기로 한다.
문장 분석부(100)는 입력받은 문장을 분석하여 탐지 대상 단어를 출력하는 기능을 한다. 문장 분석부(100)는 조사와 어미 및 기타 불필요한 부분들을 제거하고 탐지 대상 단어를 추출한다. 예를 들어, “아버지가 방에 들어가신다”라는 문장이 있을 때 아버지와 연결되는 “가” 및 방과 연결되는 “에”는 조사이고, 들어가신다의 “다”는 어미에 해당되므로 이러한 부분들을 제거하고, “아버지”, 방, “들어가신”을 탐지 대상 단어로 출력한다. 또한, 문장 분석부(100)는 추출된 탐지 대상 단어에 대한 품사 태깅을 수행할 수 있다.
특징 벡터 추출부(110)는 문장 분석부(100)로부터 출력되는 탐지 대상 단어에 대한 특징 벡터를 추출한다. 특정 단어에 대한 특징 벡터는 학습을 통해 단어-특징 벡터 데이터베이스(140)에 저장되어 있으며, 특징 벡터 추출부(110)는 탐지 대상 단어에 상응하는 특징 벡터를 추출한다.
여기서 특징 벡터는 학습을 통해 특정 단어에 부여되는 특징값에 대한 벡터이며, 특징 벡터는 학습 과정에서 특정 문장 단위 또는 특정 윈도우 단위에서 동시 출연하는 단어들에 기초하여 그 값이 결정된다.
각 단어별로 특징 벡터를 결정하기 위한 학습은 단어-특징 벡터 학습부(130)에서 이루어진다. 학습을 위해 다양한 문장들이 단어-특징 벡터 학습부(130)에 입력되며 단어-특징 벡터 학습부(130)는 문장 분석 및 함께 등장하는 단어들의 빈도를 판단하고, 특정 단어의 특징 벡터와 해당 특정 단어와 높은 확률로 동시 출연하는 단어들의 특징 벡터들이 서로 유사한 값을 가지도록 학습을 수행한다.
예를 들어, 단어-특징 벡터 학습부(130)에서 학습되는 각 단어에는 단어 아이디 벡터(또는 매트릭스)가 설정되고, 해당 단어 아이디 벡터를 변환하기 위한 변환 벡터(또는 매트릭스)가 설정된다. 단어-특징 벡터 학습부(130)는 특정 단어와 동시에 출연하는 단어들의 특징 벡터들과 해당 특정 단어의 특징 벡터가 서로 유사해지도록 변화 벡터 및 단어 아이디 벡터를 학습하게 된다. 물론, 변환 벡터가 다수의 서브 벡터로 구분될 수도 있다는 점은 당업자에게 있어 자명할 것이다.
도 2는 본 발명의 일 실시예에 따른 단어-특징 벡터 학습부의 구조를 도시한 블록도이다.
도 2를 참조하면, 전처리부(200), 문장 분석부(210), 벡터 설정/갱신부(220) 및 에러 함수 피드백 모듈(230)을 포함한다.
전처리부(200)는 학습을 위해 입력되는 문장에 대한 전처리를 수행한다. 전처리부(200)에서 이루어지는 전처리는 중복되는 문장을 제거하고 기사나 광고로 인식되는 문장을 제거하는 작업을 의미한다. 예를 들어, 리트윗된 문장은 중복되는 문장이 명백하므로 이에 대한 제거 작업이 전처리부(200)에서 이루어진다.
문장 분석부(210)는 전처리부(200)에서 전처리된 문장들에서 불필요한 조사 및 어미를 제거하고, 각 단어에 품사를 설정하는 태깅 작업을 수행한다. 문장 분석부(210)에서 이루어지는 문장 분석은 문장 분석부(100)에서 이루어지는 작업과 동일하다.
벡터 설정/갱신부(220), 에러 함수 피드백 모듈(230)은 학습을 수행하면서, 단어 아이디 벡터 및 변환 벡터를 갱신하여 최종적인 특징 벡터를 결정하는 모듈이다.
학습 초기에 각 단어별 단어 아이디 벡터 및 변환 벡터는 임의로 설정된다. 학습을 계속 수행하게 되면, 특정 단어와 동시 출연 빈도가 높은 단어들에 대한 정보가 축적되며, 동시 출연 빈도가 높은 단어들에 대한 동시 출연 확률을 획득할 수 있으며, 이에 기초하여 단어 아이디 벡터 및 변환 벡터를 갱신함으로써 최종적인 특징 벡터를 결정하도록 한다.
에러 함수 피드백 모듈(230)은 특정 단어와 동시 출연하는 단어의 동시 출연 확률과 특정 단어와 동신 출연하는 단어와의 특징 벡터 값 정보에 기초하여 에러 값을 벡터 설정/갱신부(220)에 피드백하며, 벡터 설정/갱신부(220)는 에러 함수 피드백 모듈(230)에서 피드백하는 에러값에 기초하여 단어 아이디 벡터 및 특징 벡터에 대한 갱신을 수행한다.
만일 제1 단어와 제2 단어의 동시 출연 확률이 높으나, 두 단어의 특징 벡터의 차이값이 크다면 에러 함수 피드백 모듈(230)은 비교적 큰 에러값을 피드백하게 되며, 이에 기초하여 벡터 설정/갱신부(220)에서 단어 아이디 벡터 및 변환 벡터에 대한 갱신 작업이 이루어지게 된다.
이하에서는 실제의 문장을 예로 하여 본 발명에서 이루어지는 학습에 대해 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따라 각 단어에 대한 단어 아이디 벡터를 설정하는 일례를 도시한 도면이다.
도 3을 참조하면, 총 6개의 문장이 입력되는 경우가 도시되어 있으나, 이는 설명의 편의를 위한 것일 뿐 실제의 학습이 더 많은 수의 문장으로 수행된다는 점은 당업자에게 있어 자명할 것이다.
도 3에서 주어진 문장은 다음과 같다.
-the king loves the queen.
-the queen loves the king.
-the dwarf hates the king.
-the queen hates the dwarf.
-the dwarf poisons the king.
-the dwarf poisons the king.
위 문장들에서 총 추출되는 단어는 the, king, loves, queen, dwarf, hates, poisons로써 총 등장하는 단어는 7개이다.
초기에는 각 단어에 대한 단어 아이디 벡터는 임의로 설정되며, 도 3에 도시된 바와 같이, the는 1,0,0,0,0,0,0, king은 0,1,0,0,0,0,0과 같이 설정될 수 있다. 도 3의 예에서, 주어진 단어의 수가 7개이기 때문에 7차원의 벡터가 예시로 제공되었으나, 실제 학습 시에는 수천만개의 단어가 학습될 수 있으므로 실제의 단어 아이디 벡터가 이와는 다른 형태를 가질 수 있다는 점은 당업자에게 있어 자명할 것이다.
도 3에 도시된 바와 같이, 초기에는 단어 아이디 벡터가 임의로 설정되지만, 학습이 이루어지면서 단어 아이디 벡터 및 이를 특징 벡터로 변환하기 위한 변환 벡터는 계속적으로 갱신된다.
도 4는 본 발명의 일 실시예에 따라 학습이 수행되면서 설정되는 특징 벡터의 일례를 도시한 도면이다.
앞서 설명한 바와 같이, 특정 단어의 특징 벡터는 해당 특정 단어의 단어 아이디 벡터 및 변환 벡터의 곱에 의해 결정될 수 있으며, 도 4는 이와 같이 결정된 특징 벡터의 일례를 나타낸 도면이다.
도 4를 참조하면, 도 3에 도시된 단어들에 대한 특징 벡터가 표시되어 있으며, 각 특징 벡터는 3차원의 값을 가지는 것을 확인할 수 있다. 도 3에서, wk1이 제1 차원의 특징값이고, wk2가 제2 차원의 특징값이며, wk3가 제3 차원의 특징값이다.
만일, 제1 단어와 제2 단어의 동시 출연 확률이 높다면 제1 단어와 제2 단어의 특징 벡터는 유사하게 설정된다.
현재 인터넷 서비스 제공자들은 비속어에 대한 데이터베이스를 별도로 구축하고 있으며, 사용자가 작성한 문장 중에 비속어가 포함되어 있을 경우 이를 별도의 방식으로 표시하거나 해당 문장의 업로드를 금지하는 방식으로만 서비스가 제공되고 있다.
이러한, 인터넷 서비스 제공자들의 비속어 처리 프로세스를 잘 알고 있는 인터넷 사용자들은 새로운 비속어를 끊임없이 생산하고 있으며, 이러한 신조 비속어에 따른 사이버 폭력에 대해서는 전혀 대응할 수 없는 실정이다. 또한, 기존의 의미론적 추론 또는 형태적 추론만으로는 이러한 신조 비속어가 진정한 비속어인지 여부를 정확히 판단할 수 있는 방법도 없기에 신조 비속어가 오랫동안 사용되어 비속어 데이터베이스에 등록되지 않는 한 이러한 신조 비속어를 탐색할 수는 없었다. 이러한 신조 비속어가 데이터베이스에 등록되는 시점에는 또 다른 신조 비속어가 사용되고 있기에 사실상 신조 비속어에 의한 사이버 폭력은 대응하기 어려운 측면이 있었다.
본 발명은 기존과는 전혀 다른 방식으로 비속어 탐지를 수행하며, 이는 신조 비속어가 기존 비속어가 사용되는 문장 구조와 동시에 사용되는 단어가 크게 다르지 않다는 점에 착안한 것이다.
예를 들어, “야 이 (기존 비속어)야”라는 문장이 있을 때, 기존 비속어는 탐지되어 필터링이 될 것이다. 이 경우, 사용자들은 기존의 문장은 그대로 유지하면서 “야 이 (신조 비속어)야”라는 문장으로 변형하는 것이 일반적이다.
결국, 기존 비속어는 “야”와 “이”라는 단어와 동시 출연하는 경우가 많으며, 기존 비속어를 변형한 신조 비속어 역시 “야”와 “이”라는 단어와 동시 출연하는 경우가 많기에 본 발명에 따른 학습이 수행되어 특징 벡터가 설정된다면, 신조 비속어는 기존 비속어와 매우 유사한 특징 벡터를 가질 가능성이 높아지는 것이다.
다시 도 1을 참조하면, 특징 벡터 추출부(110)는 이상과 같은 학습을 통해 설정된 특징 벡터들을 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 것이다.
비속어 판단부(150)는 탐지 대상 단어의 특징 벡터와 유사한 특징 벡터에 상응하는 N개의 단어를 특징 벡터 데이터베이스로부터 추가적으로 추출한다. 본 발명의 일 실시예에 따르면, 코사인 유사도를 이용하여 탐지 대상 단어의 특징 벡터와 유사한 특징 벡터에 상응하는 N개의 단어를 추출할 수 있을 것이다. 코사인 유사도 판단은 널리 알려진 기술이므로 이에 대한 상세한 설명은 생략하기로 하며, 추출하는 단어의 수 N이 설정에 따라 자유롭게 지정될 수 있다는 점은 당업자에게 있어 자명할 것이다.
이와 같이 N개의 단어가 추출되면, 비속어 판단부(150)는 N개의 단어 및 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스(160)에 저장된 비속어에 해당되는지 여부를 판단한다. 만일 추출된 N개의 단어 및 탐지 대상 비속어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어에 해당될 경우 비속어 판단부(150)는 탐지 대상 단어를 비속어라고 판단한다.
만일 탐지 대상 단어가 기존 비속어를 변형한 신조 비속어라면 신조 비속어와 기존 비속어가 사용되는 문장에 동시 출연하는 단어들은 유사할 것이며, 이에 기존 비속어와 이를 변형한 신조 비속어는 학습을 통해 유사한 특징 벡터를 가지게 될 것이다. 따라서, 신조 비속어와 유사한 특징 벡터를 가지는 단어 N개를 추출하게 될 경우 기존 비속어가 추출될 가능성이 높으며, 기존 비속어가 추출될 경우 비속어 판단부(150)는 탐지 대상 단어인 신조 비속어를 비속어라고 판단하는 것이다.
한편, 입력된 탐지 대상 단어에 대한 특징 벡터가 특징 벡터 데이터베이스에 저장되어 있지 않을 수도 있다. 이 경우, 임의의 단어 벡터 아이디를 부여하면서 해당 단어에 대한 학습을 단어-특징 벡터 학습부(130)에서 수행할 수 있을 것이며, 특징 벡터 추출부(120)는 임의로 부여된 단어 벡터 아이디를 이용하여 임시적으로 해당 단어에 대한 특징 벡터를 생성할 수 있을 것이다.
도 5는 본 발명의 일 실시예에 따른 학습 기반의 비속어 탐지 방법의 전체적인 흐름을 도시한 순서도이다.
도 5를 참조하면, 우선 사용자가 업로드한 문장이 입력된다(단계 500).
사용자가 업로드한 문장이 입력되면, 문장을 분석하여 탐지 대상 단어를 추출하고, 각 단어에 대한 품사 태깅을 수행한다(단계 502).
탐지 대상 단어가 설정되면, 해당 탐지 대상 단어의 특징 벡터가 특징 벡터 데이터베이스에 존재하는지 여부를 판단한다(단계 504).
탐지 대상 단어의 특징 벡터가 특징 벡터 데이터베이스에 존재하지 않을 경우 임의로 탐지 대상 단어에 대한 단어 아이디 벡터를 부여하고, 학습된 변환 벡터를 이용하여 특징 벡터를 임시적으로 생성하고, 해당 탐지 대상 단어에 대한 학습을 수행한다(단계 506).
탐지 대상 단어의 특징 벡터가 특징 벡터 데이터베이스에 저장되어 있을 경우, 해당 특징 벡터를 추출한다(단계 508).
단계 506 또는 단계 508에서 특징 벡터를 획득하면, 해당 특징 벡터와 유사한 특징 벡터들에 상응하는 N개의 단어를 추출한다(단계 510).
N개의 단어가 추출되면, 추출된 N개의 단어를 이용하여 탐지 대상 단어가 비속어인지 여부를 판단한다(단계 512). 추출된 N개의 단어 및 탐지 대상 단어 중 적어도 하나가 기존의 비속어 데이터베이스에 등록되어 있을 경우 탐지 대상 단어를 비속어라고 판단한다. 그러나, 추출된 N개의 단어 및 탐지 대상 단어 모두 기존의 비속어 데이터베이스에 등록된 단어가 아닐 경우 탐지 대상 단어는 비속어가 아니라고 판단한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (13)

  1. 단어-특징벡터를 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 특징 벡터 추출부;
    상기 특징 벡터 데이터베이스로부터 상기 탐지 대상 단어의 특징 벡터와 유사한 N개의 특징 벡터에 상응하는 N개의 단어를 추출하고 상기 추출된 N개의 단어 및 상기 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어일 경우 상기 탐지 대상 단어를 비속어라고 판단하는 비속어 판단부; 및
    학습 과정에서 입력되는 문장을 이용하여 단어에 대한 특징 벡터를 학습을 통해 설정하는 특징 벡터 학습부를 포함하되,
    상기 특징 벡터 데이터베이스에 저장되는 특징 벡터들은 학습을 통해 설정되며, 상기 학습은 학습되는 문장에서 특정 단어와 동시출연 가능성이 높은 다른 단어들이 유사한 특징 벡터를 가지도록 이루어지고,
    상기 특징 벡터 학습부는 벡터 설정/갱신부 및 에러 함수 피드백 모듈을 포함하고, 초기에는 임의로 각 단어의 단어 아이디 벡터 및 변환 벡터를 설정하고, 상기 에러 함수 피드백 모듈은 특정 단어와 동시 출연하는 단어의 동시 출연 확률과 상기 특정 단어와 상기 동시 출연하는 단어의 특징 벡터의 차이값에 기초한 에러값을 상기 벡터 설정/갱신부에 제공하며, 상기 벡터 설정/갱신부는 상기 에러값에 기초하여 상기 각 단어의 단어 아이디 벡터 및 상기 변환 벡터를 갱신하는 것을 특징으로 하는 학습 기반의 비속어 탐지 장치.
  2. 제1항에 있어서,
    입력되는 문장을 분석하여 탐지 대상 단어를 추출하고, 각 탐지 대상 단어에 대한 품사 태깅을 수행하는 문장 분석부를 더 포함하는 것을 특징으로 하는 학습 기반의 비속어 탐지 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 특징 벡터 학습부는 각 단어에 대한 단어 아이디 벡터와 상기 단어 아이디 벡터를 변환하기 위한 변환 벡터를 학습하는 것을 특징으로 하는 학습 기반의 비속어 탐지 장치.
  5. 삭제
  6. 삭제
  7. 단어-특징벡터를 저장하고 있는 특징 벡터 데이터베이스로부터 탐지 대상 단어의 특징 벡터를 추출하는 단계(a);
    상기 특징 벡터 데이터베이스로부터 상기 탐지 대상 단어의 특징 벡터와 유사한 N개의 특징 벡터에 상응하는 N개의 단어를 추출하고 상기 추출된 N개의 단어 및 상기 탐지 대상 단어 중 적어도 하나가 비속어 데이터베이스에 저장된 비속어일 경우 상기 탐지 대상 단어를 비속어라고 판단하는 단계(b)를 포함하되,
    상기 특징 벡터 데이터베이스에 저장되는 특징 벡터들은 학습을 통해 설정되며, 상기 학습은 학습되는 문장에서 특정 단어와 동시출연 가능성이 높은 다른 단어들이 유사한 특징 벡터를 가지도록 이루어지고,
    상기 특징 벡터를 학습을 통해 설정하는 단계는,
    벡터 설정 및 갱신을 수행하는 단계; 및 에러 함수 피드백 단계를 포함하고,
    상기 벡터 설정 및 갱신을 수행하는 단계는, 초기에는 임의로 각 단어의 단어 아이디 벡터 및 변환 벡터를 설정하며, 상기 에러 함수 피드백 단계는 특정 단어와 동시 출연하는 단어의 동시 출연 확률과 상기 특정 단어와 상기 동시 출연하는 단어의 특징 벡터의 차이값에 기초한 에러값을 피드백하고, 상기 벡터 설정 및 갱신을 수행하는 단계는, 상기 에러값에 기초하여 상기 각 단어의 단어 아이디 벡터 및 상기 변환 벡터를 갱신하는 것을 특징으로 하는 학습 기반의 비속어 탐지 방법.
  8. 제7항에 있어서,
    상기 단계(a)에 선행하여 입력되는 문장을 분석하여 탐지 대상 단어를 추출하고, 각 탐지 대상 단어에 대한 품사 태깅을 수행하는 단계를 더 포함하는 것을 특징으로 하는 학습 기반의 비속어 탐지 방법.
  9. 제7항에 있어서,
    학습 과정에서 입력되는 문장을 이용하여 단어에 대한 특징 벡터를 학습을 통해 설정하는 단계를 더 포함하는 것을 특징으로 하는 학습 기반의 비속어 탐지 방법.
  10. 제9항에 있어서,
    상기 특징 벡터를 학습을 통해 설정하는 단계는, 각 단어에 대한 단어 아이디 벡터와 상기 단어 아이디 벡터를 변환하기 위한 변환 벡터를 학습하는 것을 특징으로 하는 학습 기반의 비속어 탐지 방법.
  11. 삭제
  12. 삭제
  13. 제7항의 방법을 실행하기 위한 프로그램이 유형적으로 기록되어 있으며 컴퓨터에 의한 판독 가능한 프로그램을 기록한 기록매체.
KR1020170082767A 2017-06-29 2017-06-29 학습 기반의 비속어 탐지 장치 및 방법 KR102034346B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170082767A KR102034346B1 (ko) 2017-06-29 2017-06-29 학습 기반의 비속어 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170082767A KR102034346B1 (ko) 2017-06-29 2017-06-29 학습 기반의 비속어 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190002202A KR20190002202A (ko) 2019-01-08
KR102034346B1 true KR102034346B1 (ko) 2019-10-18

Family

ID=65021213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170082767A KR102034346B1 (ko) 2017-06-29 2017-06-29 학습 기반의 비속어 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102034346B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102297620B1 (ko) 2021-04-30 2021-09-02 박효정 게임 내 성희롱 모니터링 시스템
KR20210152645A (ko) * 2020-06-09 2021-12-16 성신여자대학교 연구 산학협력단 악성 텍스트 데이터 인식방법 및 악성 텍스트 데이터 인식장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102225019B1 (ko) * 2019-04-08 2021-03-08 연세대학교 산학협력단 학습 기반 비윤리어 탐지 장치 및 방법
KR102236846B1 (ko) * 2019-04-09 2021-04-06 넷마블 주식회사 욕설 필터링 방법 및 장치
KR102405522B1 (ko) * 2019-11-27 2022-06-03 연세대학교 산학협력단 텍스트의 계층적 특성을 반영한 문맥적 비윤리 탐지 장치 및 방법
KR102531953B1 (ko) * 2021-02-26 2023-05-11 동아대학교 산학협력단 윤리 기반 서비스 제공 장치 및 방법
KR102348748B1 (ko) * 2021-05-27 2022-01-07 주식회사 디어유 개인화 메시징 서비스 관련 부정 메시지 필터링 시스템 및 방법
KR102574337B1 (ko) * 2021-07-30 2023-09-01 광운대학교 산학협력단 Bert 언어 모델을 사용한 한국어 대화 기반 폭력 및 비폭력 상황 인식 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118723A1 (ja) * 2010-03-26 2011-09-29 日本電気株式会社 意味抽出装置、意味抽出方法、および、記録媒体
KR101075838B1 (ko) * 2009-08-24 2011-10-25 부산대학교 산학협력단 변형 비속어 필터링을 위한 비속어 필터링 시스템 및 방법
JP2016161968A (ja) 2015-02-26 2016-09-05 日本電信電話株式会社 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101991486B1 (ko) * 2015-12-18 2019-06-20 한국전자통신연구원 문장 유사도 기반 다의어 데이터베이스 확장장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101075838B1 (ko) * 2009-08-24 2011-10-25 부산대학교 산학협력단 변형 비속어 필터링을 위한 비속어 필터링 시스템 및 방법
WO2011118723A1 (ja) * 2010-03-26 2011-09-29 日本電気株式会社 意味抽出装置、意味抽出方法、および、記録媒体
JP2016161968A (ja) 2015-02-26 2016-09-05 日本電信電話株式会社 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210152645A (ko) * 2020-06-09 2021-12-16 성신여자대학교 연구 산학협력단 악성 텍스트 데이터 인식방법 및 악성 텍스트 데이터 인식장치
KR102366369B1 (ko) 2020-06-09 2022-02-22 성신여자대학교 연구 산학협력단 악성 텍스트 데이터 인식방법 및 악성 텍스트 데이터 인식장치
KR102297620B1 (ko) 2021-04-30 2021-09-02 박효정 게임 내 성희롱 모니터링 시스템

Also Published As

Publication number Publication date
KR20190002202A (ko) 2019-01-08

Similar Documents

Publication Publication Date Title
KR102034346B1 (ko) 학습 기반의 비속어 탐지 장치 및 방법
CN110516067B (zh) 基于话题检测的舆情监控方法、系统及存储介质
Cabrio et al. Five years of argument mining: A data-driven analysis.
CN106649603B (zh) 一种基于网页文本数据情感分类的指定信息推送方法
CN112035669A (zh) 基于传播异质图建模的社交媒体多模态谣言检测方法
CN109862397B (zh) 一种视频分析方法、装置、设备和存储介质
CN105183717B (zh) 一种基于随机森林和用户关系的osn用户情感分析方法
CN111767725A (zh) 一种基于情感极性分析模型的数据处理方法及装置
CN111414735B (zh) 文本数据的生成方法和装置
CN107545505B (zh) 保险理财产品信息的识别方法及系统
CN112257452A (zh) 情感识别模型的训练方法、装置、设备和存储介质
CN112541095A (zh) 视频标题生成方法、装置、电子设备及存储介质
US20220148049A1 (en) Method and system for initiating an interface concurrent with generation of a transitory sentiment community
CN117540023A (zh) 基于模态融合图卷积网络的图像联合文本情感分析方法
CN114065749A (zh) 一种面向文本的粤语识别模型及系统的训练、识别方法
US20150370887A1 (en) Semantic merge of arguments
CN110705257B (zh) 媒体资源的识别方法、装置、存储介质及电子装置
CN111639494A (zh) 案件事理关系确定方法及系统
CN112115362B (zh) 一种基于相似代码识别的编程信息推荐方法及装置
CN112035670B (zh) 基于图像情感倾向的多模态谣言检测方法
CN114817533A (zh) 基于时间特征的弹幕情感分析方法
CN115130453A (zh) 互动信息生成方法和装置
Almonajed et al. Sentiment Analysis on Twitter Data using Big Data
KR20210098135A (ko) 질의 데이터를 분석하는 질의 분석 장치, 방법 및 컴퓨터 프로그램
CN111340329A (zh) 演员评估方法、装置及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant