KR20180036074A - Device and method to filter text - Google Patents

Device and method to filter text Download PDF

Info

Publication number
KR20180036074A
KR20180036074A KR1020160126188A KR20160126188A KR20180036074A KR 20180036074 A KR20180036074 A KR 20180036074A KR 1020160126188 A KR1020160126188 A KR 1020160126188A KR 20160126188 A KR20160126188 A KR 20160126188A KR 20180036074 A KR20180036074 A KR 20180036074A
Authority
KR
South Korea
Prior art keywords
character
string
profanity
similarity
input
Prior art date
Application number
KR1020160126188A
Other languages
Korean (ko)
Other versions
KR102618483B1 (en
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 KR1020160126188A priority Critical patent/KR102618483B1/en
Publication of KR20180036074A publication Critical patent/KR20180036074A/en
Application granted granted Critical
Publication of KR102618483B1 publication Critical patent/KR102618483B1/en

Links

Images

Classifications

    • G06F17/27
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • H04L51/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A text filtering device and a method thereof are provided. According to an embodiment of the present invention, the text filtering device acquires an input character string, responses to the detection of a character to be converted from the input character string, and converts the detected character to consonants and vowels. The device then combines the above-mentioned consonants and vowels to generate a combination string from the input string, so as to retrieve a profanity from the combination string.

Description

텍스트 필터링 장치 및 방법{DEVICE AND METHOD TO FILTER TEXT}TECHNICAL FIELD [0001] The present invention relates to a text filtering apparatus and method,

이하, 텍스트를 필터링하는 장치 및 방법이 제공된다.An apparatus and method for filtering text are provided below.

온라인 게임(on-line game)은 각종 네트워크로 하는 게임으로서, 인터넷의 발달로 인해 급속도로 성장해 왔다. 하드 디스크 드라이브에 프로그램을 설치해 두고 인터넷 서버에 접속해 즐길 수 있는 흔히 머드(MUD:Multiple User Dialogue 혹은 Multiple User Dungeon)게임, 머그(MUG:Multiple User Graphic)게임, 브라우저만으로 게임을 할 수 있는 웹 기반의 게임, 휴대 전화나 휴대용 게임기를 이용하는 모바일 게임 등이 이에 속한다. 컴퓨터, 핸드폰, 휴대용 게임기 등 다양한 기기에서 각자 다양한 장르의 온라인 게임을 지원하나, 일반적으로는 인터넷을 통해 컴퓨터로 하는 유선 온라인 게임을 지칭한다.On-line game is a network game, and has grown rapidly due to the development of the Internet. MUD (Multiple User Dungeon) games, MUG (Multiple User Graphic) games, and web-based games that can be played only by browsers, which can be installed on a hard disk drive and connected to an Internet server, , And mobile games using mobile phones or portable game machines. It supports online games of various genres in various devices such as computers, mobile phones, and portable game machines, but generally refers to a wired online game which is made by a computer through the Internet.

온라인 게임 내에서 사용자들 간의 채팅에서 나타나는 비속어들을 효율적으로 정확하게 필터링하는 기술이 요구된다.There is a need for a technique for efficiently and accurately filtering the profane words appearing in chatting between users in an online game.

일 실시예에 따른 텍스트 필터링 장치는 입력 문자열을 한글 자소로 변형 및 분리하였다가 재조합한 조합 문자열로부터 비속어를 검색할 수 있다.The text filtering apparatus according to an exemplary embodiment may transform and separate an input character string into a Korean character string and search for a profanity word from the recombined character string.

일 실시예에 따른 텍스트 필터링 장치는 조합 문자열로부터 음절 단위로 비속어를 검색할 수 있다.The text filtering apparatus according to an exemplary embodiment may search for a profanity word in a syllable unit from a combination string.

일 실시예에 따른 텍스트 필터링 장치는 입력 문자열을 전처리할 수 있다.The text filtering device according to an exemplary embodiment may preprocess an input character string.

일 실시예에 따른 텍스트 필터링 장치는 조합 문자열을 후처리한 후 비속어를 검색할 수 있다.The text filtering apparatus according to an exemplary embodiment may search for a profanity after processing the combination string.

일 실시예에 따른 텍스트 필터링 장치는 자소 유사도에 기초하여 입력 문자열에 포함된 비속어를 검색할 수 있다.The text filtering apparatus according to the embodiment can search for the profanity included in the input character string based on the similarity degree.

일 실싱예에 따른 텍스트 필터링 장치에 의해 수행되는 방법은, 입력 문자열을 획득하는 단계; 상기 입력 문자열로부터 변환 대상 문자가 검출되는 경우에 응답하여, 상기 검출된 변환 대상 문자를 자소로 변환하는 단계; 상기 자소를 조합하여 상기 입력 문자열로부터 조합 문자열을 생성하는 단계; 및 상기 조합 문자열로부터 비속어를 검색하는 단계를 포함할 수 있다.A method performed by a text filtering device according to the present invention includes: obtaining an input character string; Converting the detected converted character into a character in response to detection of a character to be converted from the input character string; Generating a combination string from the input string by combining the letters; And retrieving the profanity from the combination string.

상기 자소로 변환하는 단계는, 상기 검출된 변환 대상 문자를 한글 자소 또는 한글 문자로 변환하는 단계를 포함할 수 있다.The converting step may include a step of converting the detected conversion target character into a Korean character or a Korean character.

상기 검출된 변환 대상 문자를 자소로 변환하는 단계는, 상기 입력 문자열로부터 한글이 검출되는 경우에 응답하여, 상기 문자열 중 상기 검출된 한글을 한글 자소로 분리하는 단계; 및 상기 입력 문자열 중 나머지 문자를 한글 자소로 변환하는 단계를 포함할 수 있다.Wherein the step of converting the detected conversion target character to a character character comprises the steps of: separating the detected Korean character among the character strings into Korean characters in response to detection of a Korean character from the input character string; And converting the remaining characters of the input character string into a Korean character.

상기 입력 문자열을 획득하는 단계는, 상기 입력 문자열로부터 공백, 전처리 대상 특수 문자, 불용어(stop word), 중복 문자, 및 정상 단어 중 적어도 하나를 제거함으로써 입력 문자열을 전처리하는 단계를 포함하고, 상기 검출된 변환 대상 문자를 자소로 변환하는 단계는, 상기 전처리된 입력 문자열로부터 상기 변환 대상 문자를 검색하는 단계를 포함하며, 상기 조합 문자열을 생성하는 단계는, 상기 전처리된 입력 문자열에 기초하여 상기 조합 문자열을 생성하는 단계를 포함할 수 있다.Wherein the step of obtaining the input character string comprises preprocessing the input character string by removing at least one of a blank, a special character to be preprocessed, a stop word, a redundant character, and a normal word from the input character string, Wherein the step of converting the converted character to a character comprises retrieving the character to be converted from the preprocessed input character string, wherein the step of generating the combined character string comprises: For example,

상기 검출된 변환 대상 문자를 자소로 변환하는 단계는, 상기 검출된 변환 대상 문자가 외국 문자로 식별되는 경우에 응답하여, 상기 변환 대상 문자를 상기 외국 문자의 한국어 발음에 대응하는 한글 자소 및 상기 외국 문자와 유사한 형태의 한글 자소 중 하나로 변환하는 단계를 포함할 수 있다.Wherein the step of converting the detected conversion target character into a character is a step of converting the conversion target character into a Korean character corresponding to the Korean pronunciation of the foreign character and the foreign character corresponding to the Korean character corresponding to the Korean pronunciation of the foreign character, Into one of the Hangul characters in a form similar to a character.

상기 검출된 변환 대상 문자를 자소로 변환하는 단계는, 상기 검출된 변환 대상 문자가 기 등록된 특수 문자로 식별되는 경우에 응답하여, 상기 변환 대상 문자를 상기 특수 문자에 대응하는 한글 자소로 변환하는 단계를 포함할 수 있다.Wherein the step of converting the detected conversion target character into a character character is a conversion of the character to be converted into a Korean character character corresponding to the special character in response to the detected character to be converted being identified as a special character previously registered Step < / RTI >

상기 변환 대상 문자를 상기 특수 문자에 대응하는 한글 자소로 변환하는 단계는, 상기 변환 대상 문자를, 상기 특수 문자와 유사한 형태를 가지는 한글 자소로 변환하는 단계를 포함할 수 있다.The step of converting the character to be converted into a Korean character corresponding to the special character may include converting the character to be converted into a Korean character having a form similar to the special character.

상기 비속어를 검색하는 단계는, 상기 조합 문자열로부터 공백, 전처리 대상 특수 문자, 불용어(stop word), 중복 문자, 및 정상 단어 중 적어도 하나를 제거함으로써 후처리된 조합 문자열을 후처리하는 단계; 및 상기 후처리된 조합 문자열로부터 상기 비속어를 검색하는 단계를 포함할 수 있다.The step of searching for the profanity may include post-processing the post-processed combination string by removing at least one of a space, a special character to be preprocessed, a stop word, a redundant character, and a normal word from the combination string; And retrieving the profanity from the post-processed combination string.

상기 비속어를 검색하는 단계는, 상기 조합 문자열로부터 비속어를 검출하는 단계를 포함하고, 상기 검색된 비속어를 상기 입력 문자열로부터 필터링하는 단계를 포함할 수 있다.The step of searching for the profanity may include the step of detecting a profanity from the combined character string, and filtering the searched profanity from the input character string.

상기 비속어를 검색하는 단계는, 상기 조합 문자열의 각각의 한글을 한글 자소로 분리하는 단계; 상기 분리된 한글 자소의 각각과 필터링 단어(filtering word)에 대응하는 한글 자소 간의 유사도를 산출하는 단계; 및 상기 유사도에 기초하여 필터링할 문자를 결정하는 단계를 포함할 수 있다.The step of searching for the profanity may include: separating each Korean character of the combined character string into Korean characters; Calculating a degree of similarity between each of the separated Hangul characters and Hangul characters corresponding to a filtering word; And determining a character to be filtered based on the similarity.

상기 비속어를 검색하는 단계는, 상기 조합 문자열에서 필터링 단어에 대응하는 대상 문자열 및 상기 필터링 단어 간의 유사도를 산출하는 단계; 및 상기 산출된 유사도가 임계값을 초과하는 경우에 응답하여, 상기 대상 문자열을 비속어로 결정하는 단계를 포함할 수 있다.The step of searching for the profanity may include calculating a similarity between the target character string corresponding to the filtered word and the filtered word in the combined character string, And determining the target character string as a profanity in response to the calculated degree of similarity exceeding a threshold value.

상기 비속어를 검색하는 단계는, 상기 조합 문자열의 각 음절 및 상기 필터링 단어의 각 음절 간의 음절 유사도를 산출하는 단계; 및 상기 음절 유사도에 기초하여, 상기 조합 문자열로부터 상기 필터링 단어를 검색하는 단계를 포함할 수 있다.The step of searching for the profanity may include calculating syllable similarity between each syllable of the combined string and each syllable of the filtered word; And retrieving the filtered word from the combined string based on the syllable similarity.

상기 비속어를 검색하는 단계는, 상기 조합 문자열의 적어도 일부 자소 및 상기 필터링 단어에서 그에 대응하는 자소 간의 자소 유사도를 산출하는 단계; 상기 자소 유사도에 기초하여 상기 조합 문자열 및 상기 필터링 단어 간의 유사도를 산출하는 단계; 및 상기 유사도에 기초하여 상기 조합 문자열로부터 상기 필터링 단어를 검색하는 단계를 포함할 수 있다.The step of searching for the profanity may include: calculating a degree of similarity between at least a portion of the combination string and a corresponding portion of the filtering word; Calculating a similarity between the combination string and the filtered word based on the similarity degree; And retrieving the filtered word from the combined string based on the similarity.

상기 비속어를 검색하는 단계는, 상기 조합 문자열로부터 필터링 단어의 음절 갯수에 기초하여 대상 문자열을 선택하는 단계; 및 상기 대상 문자열과 상기 필터링 단어 간의 유사도를 산출하는 단계를 포함할 수 있다.The searching of the profanity may include: selecting a target character string based on the number of syllables of the filtered word from the combined character string; And calculating a degree of similarity between the target character string and the filtered word.

상기 비속어를 검색하는 단계는, 상기 조합 문자열로부터 복수의 대상 문자열을 순차적으로 선택하는 단계; 상기 복수의 대상 문자열의 각각과 상기 필터링 단어 간의 유사도를 산출하는 단계; 및 상기 복수의 대상 문자열 중 상기 유사도가 임계값을 초과하는 대상 문자열을 비속어로 결정하는 단계를 포함할 수 있다.The step of searching for the profanity may include sequentially selecting a plurality of target strings from the combination string; Calculating a degree of similarity between each of the plurality of object strings and the filtered word; And determining an object string whose similarity exceeds the threshold value among the plurality of object strings as a profanity.

텍스트 필터링 방법은 상기 입력 문자열을 입력한 사용자 단말과 연관된 다른 사용자 단말로부터 상기 입력 문자열에 포함된 비속어 정보를 수신하는 단계; 및 상기 수신된 비속어 정보에 대응하는 비속어가 상기 입력 문자열에서 필터링되지 않은 경우에 응답하여 필터링 목록을 업데이트하는 단계를 더 포함할 수 있다.The method of filtering text includes receiving profanity information included in the input string from another user terminal associated with the user terminal that has input the input string; And updating the filtering list in response to the case where the profanity word corresponding to the received profanity information is not filtered in the input character string.

텍스트 필터링 방법은 상기 입력 문자열을 입력한 사용자 단말과 연관된 다른 사용자 단말로부터 상기 입력 문자열에 포함된 비속어 정보를 수신하는 단계; 및 상기 수신된 비속어 정보에 대응하는 비속어의 각 문자에 대응하는 자소 및 상기 입력 문자열에서 상기 비속어에 대응하는 대상 문자열의 각 자소 간의 자소 유사도를 업데이트하는 단계를 더 포함할 수 있다.The method of filtering text includes receiving profanity information included in the input string from another user terminal associated with the user terminal that has input the input string; And updating the similarity degree between the corresponding character of each of the characters of the profanity corresponding to the received profanity information and the corresponding character of the target character string corresponding to the profanity in the input character string.

일 실시예에 따른 텍스트 필터링 장치는, 입력 문자열을 획득하고, 상기 입력 문자열로부터 변환 대상 문자가 검출되는 경우에 응답하여, 상기 검출된 변환 대상 문자를 자소로 변환하며, 상기 자소를 조합하여 상기 입력 문자열로부터 조합 문자열을 생성하고, 상기 조합 문자열로부터 비속어를 검색하는 처리부를 포함할 수 있다.A text filtering apparatus according to an embodiment obtains an input character string and converts the detected character to be converted into a character in response to detection of a character to be converted from the input character string, And a processing unit for generating a combination string from the string and searching for the profane word from the combination string.

일 실시예에 따른 텍스트 필터링 장치는 조합 문자열로부터 비속어를 검색함으로써, 별도의 필터링 단어 추가 없이도 사용자에 의해 유사한 형태 또는 유사한 발음으로 변형되어 표기된 비속어도 검색할 수 있다.The text filtering apparatus according to the embodiment can search for the profanity expressed by the user in a form similar to or similar to the pronunciation by searching the profanity word from the combination string without adding additional filtering words.

일 실시예에 따른 텍스트 필터링 장치는 조합 문자열로부터 음절 단위로 비속어를 검색함으로써, 자소간 유사도의 계산량을 절감하고, 검색 속도를 개선할 수 있다.The text filtering apparatus according to an exemplary embodiment of the present invention can reduce the amount of calculation of the degree of similarity between characters and improve the retrieval speed by retrieving the profanity from the combined character string in units of syllables.

일 실시예에 따른 텍스트 필터링 장치는 입력 문자열을 전처리함으로써 필터링의 정확도를 개선할 수 있다.The text filtering device according to one embodiment can improve the accuracy of the filtering by preprocessing the input character string.

일 실시예에 따른 텍스트 필터링 장치는 조합 문자열을 후처리함으로써, 필터링의 정확도를 보다 개선할 수 있다.The text filtering apparatus according to one embodiment can further improve the accuracy of filtering by post processing the combination string.

일 실시예에 따른 텍스트 필터링 장치는 자소 유사도에 기초하여 비속어를 검색하면서, 유사도 비교의 기준이 되는 임계값의 설정을 통해 비속어 검색율을 조절할 수 있다.The text filtering apparatus according to an exemplary embodiment may adjust the asian language search rate through setting a threshold value serving as a reference for comparing the similarity, while searching the profanity based on the similarity degree.

도 1은 일 실시예에 따른 텍스트 필터링 시스템의 구성을 도시한다.
도 2는 일 실시예에 따른 텍스트 필터링 단말의 구성을 도시한 블럭도이다.
도 3은 일 실시예에 따른 텍스트 필터링 서버의 구성을 도시한 블럭도이다.
도 4는 일 실시예에 따른 텍스트 필터링 방법을 도시한 흐름도이다.
도 5는 일 실시예에 따른 텍스트 전처리 과정을 도시한 도면이다.
도 6은 일 실시예에 따른 텍스트 변환 과정을 도시한 도면이다.
도 7은 일 실시예에 따른 텍스트 변환 맵을 도시한 도면이다.
도 8은 일 실시예에 따른 텍스트 후처리 과정을 도시한 도면이다.
도 9는 일 실시예에 따른 필터링 목록을 이용한 필터링의 예시를 도시한 도면이다.
도 10은 일 실시예에 따른 텍스트 필터링을 위한 유사도 산출의 예시를 도시한 도면이다.
도 11은 일 실시예에 따른 음절 유사도 설정의 예시를 도시한 도면이다.
도 12 및 도 13은 일 실시예에 따른 조합 문자열 및 필터링 단어 간의 유사도 산출 과정을 설명하는 도면이다.
도 14는 일 실시예에 따라 필터링이 완료된 출력 문자열의 예시를 설명하는 도면이다.
1 shows a configuration of a text filtering system according to an embodiment.
2 is a block diagram illustrating a configuration of a text filtering terminal according to an exemplary embodiment.
3 is a block diagram illustrating a configuration of a text filtering server according to an exemplary embodiment of the present invention.
4 is a flow chart illustrating a text filtering method according to one embodiment.
FIG. 5 is a diagram illustrating a text preprocessing process according to an embodiment.
6 is a diagram illustrating a text conversion process according to an exemplary embodiment of the present invention.
7 is a diagram showing a text transformation map according to an embodiment.
FIG. 8 is a diagram illustrating a text post-processing process according to an embodiment.
9 is a diagram illustrating an example of filtering using a filtering list according to an embodiment.
10 is a diagram illustrating an example of the calculation of the degree of similarity for text filtering according to an embodiment.
11 is a diagram illustrating an example of the syllable similarity setting according to an embodiment.
12 and 13 are diagrams for explaining a process of calculating the similarity between a combination character string and a filtering word according to an embodiment.
14 is a diagram illustrating an example of an output string that has been filtered according to an embodiment.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It is to be understood that the embodiments described below are not intended to limit the embodiments, but include all modifications, equivalents, and alternatives to them.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수 개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

도 1은 일 실시예에 따른 텍스트 필터링 시스템의 구성을 도시한다.1 shows a configuration of a text filtering system according to an embodiment.

텍스트 필터링 시스템(100)은 사용자 단말(110) 및 서버(120)를 포함한다. 일 실시예에 따르면, 사용자 단말(110) 및 서버(120) 중 적어도 하나가 텍스트 필터링 장치로서 동작할 수 있다. 예를 들어, 사용자 단말(110)만이 텍스트 필터링을 수행하거나, 서버(120)가 텍스트 필터링을 수행할 수 있고, 더 나아가 사용자 단말(110) 및 서버(120)가 모두 텍스트 필터링을 상호보완적으로 수행할 수도 있다.The text filtering system 100 includes a user terminal 110 and a server 120. According to one embodiment, at least one of the user terminal 110 and the server 120 may operate as a text filtering device. For example, if only the user terminal 110 performs text filtering, or the server 120 can perform text filtering, and further, both the user terminal 110 and the server 120 can perform text filtering in a complementary manner .

사용자 단말(110)은 텍스트를 필터링하는 장치로서, 예를 들어, 데스크톱 PC, 노트북 PC, 태블릿 PC, 및 모바일 폰 등일 수 있다. 일 실시예에 따르면, 사용자 단말(110)은 사용자 단말(110)의 사용자로부터 입력된 문자열로부터 비속어를 필터링할 수 있다. 예를 들어, 사용자 단말(110)은 사용자 조작에 응답하여 어플리케이션을 실행할 수 있고, 어플리케이션을 통해 획득되는 문자열로부터 비속어를 필터링할 수 있다. 다른 예를 들어, 사용자 단말(110)은 어플리케이션을 통해 획득되는 문자열을 서버(120)로 송신할 수 있고, 서버(120)에 의해 비속어가 필터링된 문자열을 수신할 수 있다.The user terminal 110 may be a device for filtering text, for example, a desktop PC, a notebook PC, a tablet PC, and a mobile phone. According to one embodiment, the user terminal 110 may filter the profanity word from a character string input from a user of the user terminal 110. For example, the user terminal 110 may execute the application in response to a user operation and may filter the profanity from the string obtained through the application. In another example, the user terminal 110 may send a string obtained through the application to the server 120 and may receive the profanity filtered string by the server 120.

다른 일 실시예에 따르면, 사용자 단말(110)은 다른 사용자 단말의 사용자로부터 입력된 문자열을 수신하여 필터링할 수 있다. 예를 들어, 사용자 단말(110)은 다른 사용자 단말로부터 어플리케이션을 통해 수신된 문자열의 비속어를 자체적으로 필터링할 수 있다. 다른 예를 들어, 서버(120)가 다른 사용자 단말로부터 어플리케이션을 통해 문자열을 수신하여 필터링하고, 사용자 단말(110)은 필터링된 문자열을 서버(120)로부터 수신할 수 있다.According to another embodiment, the user terminal 110 may receive and filter the input character string from the user of another user terminal. For example, the user terminal 110 may filter the profanity of the string received through the application from another user terminal. As another example, the server 120 may receive and filter the string from an application from another user terminal, and the user terminal 110 may receive the filtered string from the server 120.

본 명세서에서 어플리케이션은 사용자 단말(110)에 설치되는 프로그램으로서, 예를 들어, 사용자 단말(110)로부터 문자열을 획득하는 동작, 다른 사용자로 단말 또는 서버(120)부터 문자열을 수신하는 동작, 문자열로부터 비속어를 필터링하는 동작, 비속어가 필터링된 문자열을 생성하는 동작, 비속어가 필터링된 문자열을 수신하는 동작, 및 비속어가 필터링된 문자열을 디스플레이로 출력하는 동작 중 적어도 하나를 수행하는 명령어를 포함할 수 있다. 일 실시예에 따르면, 어플리케이션은 사용자에게 게임 서비스를 제공하는 게임 어플리케이션일 수 있으나, 이로 한정하는 것은 아니며, 채팅 기능을 제공하는 모든 어플리케이션일 수 있다.As used herein, an application is a program installed in a user terminal 110, for example, an operation for obtaining a character string from a user terminal 110, an operation for receiving a character string from a terminal or server 120 to another user, An operation for filtering the profanity, an operation for generating a filtered character string, an operation for receiving the filtered character string, and an operation for outputting the filtered character string to the display of the profanity word may be included . According to one embodiment, the application may be a game application providing a game service to a user, but not limited thereto, and may be any application providing a chat function.

본 명세서에서 문자열(string)은 일련의 문자의 집합을 나타낼 수 있다. 문자(character)는 일정한 체계의 부호로서, 예를 들어, 한글, 알파벳, 한자, 숫자 및 기호 등을 포함할 수 있다. 예를 들어, 문자가 한글인 경우, 문자열에서 각 문자는 음절 단위로 구분될 수 있고, 하나의 문자는 하나 이상의 자소로 구성될 수 있다. 자소는 문자를 구성하는 요소로서, 예를 들어, 한글에서는 자음 또는 모음을 나타낼 수 있다.In this specification, a string can represent a set of characters. A character is a code of a certain system, and may include, for example, Korean characters, alphabets, Chinese characters, numbers, symbols, and the like. For example, if the character is Hangul, each character in the string can be separated by a syllable unit, and one character can be composed of more than one character. A suffix is an element constituting a character, for example, a suffix or a vowel can be represented in the Korean alphabet.

비속어는 사용자에 대한 제공이 제한되는 것으로 등록된 단어(word)를 나타낼 수 있다. 예를 들어, 비속어는 욕설과 관련된 단어 및 인격을 비하하는 단어 등으로서, 필터링되어야 하는 단어를 나타낼 수 있다. 단어는 단일 문자이거나, 문자열로 구성될 수 있다.The profanity can represent a word that is registered as being restricted to the user. For example, a profanity word may indicate a word to be filtered, such as a word related to profanity, or a word that depreciates a personality. A word can be either a single character or a string.

사용자 단말(110) 및 다른 사용자 단말에 설치되는 어플리케이션은 서로 동일한 어플리케이션일 수 있으나, 이로 한정하는 것은 아니다. 예를 들어, 사용자 단말(110)에 설치되는 어플리케이션 및 다른 사용자 단말에 설치되는 어플리케이션은 서버(120)를 통해 상호 간 통신을 수립하면서, 채팅 기능이 연동되지만 서로 구분되는 어플리케이션일 수 있다. 사용자 단말(110)에는 게임 어플리케이션이 설치될 수 있고, 다른 사용자 단말에는 상술한 게임 어플리케이션과 연동되는 채팅 기능을 수행하는 게임 보조 어플리케이션이 설치될 수 있다.The applications installed in the user terminal 110 and other user terminals may be the same application, but are not limited thereto. For example, an application installed in the user terminal 110 and an application installed in another user terminal may be an application in which chat functions are interlocked but separated from each other while establishing mutual communication through the server 120. A game application may be installed in the user terminal 110 and a game assistant application that performs a chat function to be interlocked with the above game application may be installed in another user terminal.

사용자 단말(110)의 구체적인 구성은 하기 도 2에서 상세히 설명한다.The specific configuration of the user terminal 110 will be described in detail in Fig.

서버(120)는 사용자 단말(110)로부터 수신한 텍스트를 필터링할 수 있다. 또한, 서버(120)는 사용자에 의해 사용자 단말(110)에서 실행되는 어플리케이션에 대한 서비스를 제공할 수 있다. 서버(120)는 예를 들어, 사용자 단말(110)에 게임 서비스를 제공할 수 있다. 일 실시예에 따르면, 서버(120)는 사용자 단말(110)로부터 문자열을 수신할 수 있고, 수신된 문자열로부터 비속어를 필터링할 수 있으며, 비속어가 필터링된 문자열을 사용자 단말(110)로 송신할 수 있다.The server 120 may filter the text received from the user terminal 110. In addition, the server 120 may provide a service for an application executed in the user terminal 110 by a user. The server 120 may, for example, provide a game service to the user terminal 110. According to one embodiment, the server 120 may receive a string from the user terminal 110, filter out the profanity from the received string, and send the filtered string to the user terminal 110 have.

서버(120)의 구체적인 구성은 하기 도 2에서 상세히 설명한다.The specific configuration of the server 120 will be described in detail below with reference to FIG.

도 2는 일 실시예에 따른 텍스트 필터링 단말의 구성을 도시한 블럭도이다.2 is a block diagram illustrating a configuration of a text filtering terminal according to an exemplary embodiment.

도 2은 텍스트 필터링 단말(110)(이하, 사용자 단말)의 세부적인 구성을 예로 들어 설명한다. 사용자 단말(110)은 통신부(210), 디스플레이(220), 입력수신부(230), 처리부(240), 및 저장부(250)를 포함할 수 있다.2 illustrates the detailed configuration of the text filtering terminal 110 (hereinafter referred to as a user terminal). The user terminal 110 may include a communication unit 210, a display 220, an input receiving unit 230, a processing unit 240, and a storage unit 250.

통신부(210)는 서버와 통신할 수 있다. 예를 들어, 통신부(210)는 무선 통신 및 유선 통신 중 적어도 하나를 이용하여 서버와 통신할 수 있다. 일 실시예에 따르면 통신부(210)는 게임 서비스의 제공을 위해 필요한 게임과 연관된 정보를 서버로 송신하거나 서버로부터 수신할 수 있다. 예를 들어, 통신부(210)는 서버로 사용자로부터 획득된 입력 문자열을 송신하거나, 입력 문자열로부터 비속어가 필터링된 출력 문자열을 송신할 수 있다. 다른 예를 들어, 통신부(210)는 서버로부터 비속어가 필터링된 문자열을 수신할 수도 있다.The communication unit 210 can communicate with the server. For example, the communication unit 210 can communicate with the server using at least one of wireless communication and wired communication. According to one embodiment, the communication unit 210 may transmit or receive information related to a game required for providing a game service to or from a server. For example, the communication unit 210 may transmit an input string obtained from a user to a server, or may transmit an output string in which a profanity word is filtered from an input string. As another example, the communication unit 210 may receive a text string of the profanity from the server.

본 명세서에서 입력 문자열은 텍스트 필터링 장치가 획득하는 문자열로서, 예를 들어, 비속어를 필터링하는 동작이 적용되지 않은 문자열을 나타낼 수 있다. 출력 문자열은 텍스트 필터링 장치가 출력하는 문자열로서, 예를 들어, 비속어를 필터링하는 동작이 적용된 문자열을 나타낼 수 있다.In this specification, an input string is a string obtained by the text filtering apparatus, for example, a string to which an operation of filtering the profanity is not applied. The output string may be a string output by the text filtering device, for example, a string to which the action of filtering the profanity is applied.

디스플레이(220)는 비속어가 필터링된 텍스트를 사용자에게 표시할 수 있다. 또한, 디스플레이(220)는 다른 사용자 단말로부터 수신된 비속어가 필터링된 텍스트를 표시할 수 있다. 디스플레이(220)는 처리부(240)의 제어에 응답하여, 사용자에게 어플리케이션과 연관된 정보에 기초한 화면을 표시할 수 있다.The display 220 may display the filtered text to the user. Also, the display 220 may display the filtered text of the profanity received from another user terminal. The display 220, in response to the control of the processing unit 240, may display a screen based on information associated with the application to the user.

입력수신부(230)는 사용자로부터 사용자 조작을 수신할 수 있다. 일 실시예에 따르면, 입력수신부(230)는 입력 문자열에 대응하는 일련의 사용자 조작을 수신할 수 있다. 예를 들어, 입력수신부(230)는 입력 문자열을 구성하는 각 문자 또는 자소에 대응하는 사용자 조작을 시계열적으로 수신할 수 있다.The input receiving unit 230 may receive a user operation from the user. According to one embodiment, the input receiving unit 230 may receive a series of user operations corresponding to input strings. For example, the input receiving unit 230 may receive a user operation corresponding to each character or character constituting the input character string in a time series manner.

처리부(240)는 텍스트 필터링을 수행하기 위한 처리를 수행할 수 있다. 예를 들어, 처리부(240)는 획득된 입력 문자열로부터 비속어를 필터링하여 출력 문자열을 생성하도록 통신부(210), 디스플레이(220), 입력수신부(230), 및 저장부(250) 중 적어도 하나를 제어할 수 있다. 일 실시예에 따르면, 처리부(240)는 통신부(210)를 통해 수신한 입력 문자열로부터 비속어를 필터링할 수 있다. 다른 일 실시예에 따르면 처리부(240)는 입력 수신부(230)를 통해 수신된 일련의 사용자 조작에 응답하여 입력 문자열을 생성할 수 있고, 생성된 입력 문자열로부터 비속어를 필터링할 수 있다. 또한, 처리부(240)는 사용자 단말(110)의 동작에 필요한 처리를 수행할 수 있다. 여기서, 처리의 수행은 저장부(250) 내에 저장된 프로그램 코드를 실행하는 것을 나타낼 수 있다.The processing unit 240 may perform processing for performing text filtering. For example, the processing unit 240 may control at least one of the communication unit 210, the display 220, the input receiving unit 230, and the storage unit 250 so as to generate an output character string by filtering the profanity word from the acquired input character string can do. According to one embodiment, the processing unit 240 may filter the profanity word from the input character string received through the communication unit 210. According to another embodiment, the processing unit 240 may generate an input character string in response to a series of user operations received via the input receiving unit 230, and may filter the profanity word from the generated input character string. In addition, the processing unit 240 may perform processing necessary for the operation of the user terminal 110. [ Here, the execution of the processing may indicate execution of the program code stored in the storage unit 250. [

일 실시예에 따르면, 처리부(240)는 입력 문자열을 획득하고, 입력 문자열로부터 변환 대상 문자가 검출되는 경우에 응답하여, 검출된 변환 대상 문자를 자소로 변환하며, 자소를 조합하여 입력 문자열로부터 조합 문자열을 생성하고, 조합 문자열로부터 비속어를 검색하고, 검색된 비속어를 입력 문자열로부터 필터링하여 출력 문자열을 생성할 수 있다. 이러한 처리부(240)의 구체적인 동작은 하기 도 4 내지 도 14에서 상세히 설명한다.According to one embodiment, the processing unit 240 obtains an input character string, and in response to detection of a character to be converted from the input character string, converts the detected character to be converted into a character, combines the characters, It is possible to generate a string, retrieve the profanity from the combination string, and filter the searched profanity from the input string to generate an output string. The specific operation of the processing unit 240 will be described in detail with reference to FIG. 4 to FIG.

저장부(250)는 사용자 단말(110)을 동작시키기 위한 명령어들을 포함하는 프로그램을 저장할 수 있다. 저장부(250)에 저장된 프로그램은 상술한 처리부(240)에 의해 실행될 수 있다. 예를 들어, 저장부(250)는 게임 프로그램을 저장할 수 있다. 또한, 저장부(250)는 비속어 목록을 저장할 수도 있다. 비속어 목록은 적어도 하나의 비속어를 포함할 수 있고, 서비스 제공자에 의해 비속어 목록에 포함되는 단어가 결정될 수 있다. 다만, 이로 한정하는 것은 아니고, 각 사용자 단말로부터 수집되는 비속어 정보에 기초하여, 새로운 단어가 비속어 목록에 비속어로서 추가될 수 있다.The storage unit 250 may store a program including instructions for operating the user terminal 110. The program stored in the storage unit 250 can be executed by the processing unit 240 described above. For example, the storage unit 250 may store a game program. Also, the storage unit 250 may store a list of profanity words. The profanity word list may include at least one profanity word, and words included in the profanity word list may be determined by the service provider. However, the present invention is not limited to this, and new words may be added as a profanity word to the profanity list based on the profanity information collected from each user terminal.

도 3은 일 실시예에 따른 텍스트 필터링 서버의 구성을 도시한 블럭도이다.3 is a block diagram illustrating a configuration of a text filtering server according to an exemplary embodiment of the present invention.

텍스트 필터링 서버(120)(이하, 서버)는 통신부(310), 처리부(320), 및 저장부(330)를 포함한다.The text filtering server 120 (hereinafter referred to as a server) includes a communication unit 310, a processing unit 320, and a storage unit 330.

통신부(310)는 사용자 단말과 통신할 수 있다. 예를 들어, 통신부(310)는 무선 통신 및 유선 통신 중 적어도 하나를 이용하여 사용자 단말과 통신할 수 있다. 일 실시예에 따르면 통신부(310)는 사용자 단말로부터 입력 문자열을 획득하기 위해 통신할 수 있다. 또한, 통신부(310)는 입력 문자열로부터 비속어를 필터링하여 생성된 출력 문자열을 사용자 단말로 제공하기 위해 해당 사용자 단말과 통신할 수도 있다.The communication unit 310 can communicate with the user terminal. For example, the communication unit 310 can communicate with a user terminal using at least one of wireless communication and wired communication. According to one embodiment, the communication unit 310 may communicate with the user terminal to obtain an input character string. Also, the communication unit 310 may communicate with the corresponding user terminal to provide the generated output character string to the user terminal by filtering the profanity word from the input character string.

예를 들어, 통신부(310)는 네트워크 인터페이스 카드(network interface card), 네트워크 인터페이스 칩(network interface chip) 및 네트워킹 인터페이스 포트(network interface port) 등과 같은 하드웨어 모듈(hardware module)일 수 있고, 네트워크 디바이스 드라이버(network device driver) 또는 네트워킹 프로그램(networking program)과 같은 소프트웨어 모듈(software module)일 수 있다.For example, the communication unit 310 may be a hardware module such as a network interface card, a network interface chip, and a network interface port, or a software module such as a network device driver or a networking program.

처리부(320)는 게임 서비스를 제공하기 위한 처리를 수행할 수 있다. 예를 들어, 처리부(320)는 게임 서비스를 제공하기 위해 필요한 게임과 연관된 정보를 생성할 수 있다. 예를 들어, 처리부(320)는 게임과 연관된 정보로서, 게임의 리소스 등을 생성할 수 있다. 또한, 처리부(320)는 게임 서버(120)의 동작에 필요한 처리를 수행할 수 있다. 여기서, 처리의 수행은 게임 서버(120) 내에 저장된 프로그램 코드(program code)를 실행하는 것을 나타낼 수 있다. 예를 들어, 처리부(320)는 적어도 하나의 프로세서(processor) 또는 프로세서 내의 적어도 하나의 코어(core)를 포함할 수 있다.The processing unit 320 may perform processing for providing a game service. For example, the processing unit 320 may generate information associated with a game required to provide a game service. For example, the processing unit 320 can generate a game resource or the like as information associated with the game. In addition, the processing unit 320 can perform processing necessary for the operation of the game server 120. [ Here, the execution of the processing may indicate execution of the program code stored in the game server 120. [ For example, the processing unit 320 may include at least one processor or at least one core within the processor.

일 실시예에 따르면 처리부(320)는 텍스트 필터링을 수행하기 위한 처리를 수행할 수 있다. 예를 들어, 처리부(320)는 획득된 입력 문자열로부터 비속어를 필터링하여 출력 문자열을 생성하도록 통신부(310) 및 저장부(330) 중 적어도 하나를 제어할 수 있다. 일 실시예에 따르면, 처리부(320)는 통신부(310)를 통해 수신한 입력 문자열로부터 비속어를 필터링할 수 있다. 또한, 처리부(320)는 서버(120)의 동작에 필요한 처리를 수행할 수 있다. 여기서, 처리의 수행은 저장부(330) 내에 저장된 프로그램 코드를 실행하는 것을 나타낼 수 있다. 처리부(320)는 도 2의 처리부(240)와 유사한 동작을 수행할 수 있다. 이러한 처리부(320)의 구체적인 동작은 하기 도 4 내지 도 14에서 상세히 설명한다.According to one embodiment, the processing unit 320 may perform processing for performing text filtering. For example, the processing unit 320 may control at least one of the communication unit 310 and the storage unit 330 so as to generate an output character string by filtering the profanity word from the obtained input character string. According to one embodiment, the processing unit 320 may filter the profanity word from the input character string received through the communication unit 310. In addition, the processing unit 320 may perform processing necessary for the operation of the server 120. [ Here, the execution of the processing may indicate execution of the program code stored in the storage unit 330. [ The processing unit 320 may perform an operation similar to the processing unit 240 of FIG. The specific operation of this processing unit 320 will be described in detail in Figs. 4 to 14 below.

저장부(330)는 필터링 목록을 저장할 수 있다. 저장부(330)는 서버(120)를 동작시키기 위한 명령어들을 포함하는 프로그램을 저장할 수 있다. 저장부(330)에 저장된 프로그램은 상술한 처리부(320)에 의해 실행될 수 있다.The storage unit 330 may store the filtering list. The storage unit 330 may store a program including instructions for operating the server 120. [ The program stored in the storage unit 330 may be executed by the processing unit 320 described above.

이하, 도 2의 사용자 단말(110) 및 도 3의 서버(120)는 텍스트 필터링 장치라고 나타낼 수 있다.Hereinafter, the user terminal 110 of FIG. 2 and the server 120 of FIG. 3 may be referred to as a text filtering device.

도 4는 일 실시예에 따른 텍스트 필터링 방법을 도시한 흐름도이다.4 is a flow chart illustrating a text filtering method according to one embodiment.

우선, 단계(410)에서 텍스트 필터링 장치는 입력 문자열을 획득할 수 있다. 예를 들어, 텍스트 필터링 장치는 사용자로부터 사용자 조작의 수신에 응답하여 입력 문자열을 획득하거나, 외부 장치(예를 들어, 다른 사용자 단말 등)로부터 입력 문자열을 수신할 수 있다. 여기서, 텍스트 필터링 장치는 입력 문자열을 전처리할 수 있다. 전처리를 통해, 텍스트 필터링 장치는 보다 정확하게 비속어를 검색해낼 수 있다. 입력 문자열의 전처리는 하기 도 5에서 상세히 설명한다.First, in step 410, the text filtering device may obtain an input string. For example, the text filtering device may obtain an input string in response to receipt of a user operation from a user, or may receive an input string from an external device (e.g., another user terminal, etc.). Here, the text filtering device can preprocess the input character string. Through the preprocessing, the text filtering device can search the profanity word more accurately. The preprocessing of the input string is described in detail in FIG.

그리고 단계(420)에서 텍스트 필터링 장치는 입력 문자열로부터 변환 대상 문자가 검출되는 경우에 응답하여, 검출된 변환 대상 문자를 자소로 변환할 수 있다. 여기서, 변환 대상 문자는 해당 문자에 대응하는 자소로 변환 가능한 문자를 나타낼 수 있다. 예를 들어, 변환 대상 문자가 한글인 경우 해당 문자를 구성하는 자소로 분리될 수 있다. 다른 예를 들어, 변환 대상 문자가 특수 문자 또는 영문 알파벳인 경우 해당 문자에 대응하는 자소로 변환될 수 있다. 다만, 모든 문자가 변환 가능한 것은 아니고, 텍스트 필터링 장치는 변환 가능한 것으로 등록된 문자만을 변환 대상 문자로 검색할 수 있다.Then, in step 420, the text filtering apparatus can convert the detected conversion target character into a character in response to detection of the conversion target character from the input character string. Here, the character to be converted may represent a character that can be converted into a character corresponding to the character. For example, if the character to be converted is Hangul, it can be separated into the constituent characters of the character. As another example, if the character to be converted is a special character or an alphabetical character, it can be converted into a character corresponding to the character. However, not all characters are convertible, and the text filtering device can search only the characters registered as convertible by the character to be converted.

일 실시예에 따르면 텍스트 필터링 장치는 검출된 변환 대상 문자를 한글 자소 또는 한글 문자로 변환할 수 있다. 예를 들어, 텍스트 필터링 장치는 입력 문자열로부터 한글이 검출되는 경우에 응답하여, 문자열 중 검출된 한글을 한글 자소로 분리할 수 있다. 텍스트 필터링 장치는 입력 문자열 중 나머지 문자를 한글 자소로 변환할 수 있다. 나머지 문자는 입력 문자열에서 한글을 제외한 문자를 나타낼 수 있고, 텍스트 필터링 장치는 나머지 문자 중 변환 대상 문자를 검색하여 변환할 수 있다.According to an embodiment, the text filtering apparatus may convert the detected conversion target character into a Korean character or a Korean character. For example, the text filtering apparatus can divide the detected Hangul into a Hangul character in response to detection of Hangul from the input string. The text filtering device can convert the remaining characters of the input string to a single character. The remaining characters can represent characters except Hangul in the input string, and the text filtering device can search for and convert the characters to be converted among the remaining characters.

예를 들어, 텍스트 필터링 장치는 검출된 변환 대상 문자가 외국 문자로 식별되는 경우에 응답하여, 변환 대상 문자를 외국 문자의 한국어 발음에 대응하는 한글 자소 및 상기 외국 문자와 유사한 형태의 한글 자소 중 하나로 변환할 수 있다. 외국 문자는 한국 이외에서 사용되는 언어를 표현하는 문자를 나타낼 수 있다. 다른 예를 들어, 텍스트 필터링 장치는 검출된 변환 대상 문자가 기 등록된 특수 문자로 식별되는 경우에 응답하여, 변환 대상 문자를 특수 문자에 대응하는 한글 자소로 변환할 수 있다. 구체적으로, 텍스트 필터링 장치는 변환 대상 문자를, 특수 문자와 유사한 형태를 가지는 한글 자소로 변환할 수 있다. 상술한 변환 대상 문자를 자소를 변환하는 과정은 하기 도 6에서 상세히 설명한다.For example, in response to detection of the detected conversion target character as a foreign character, the text filtering apparatus converts the conversion target character into one of a Korean character corresponding to the Korean pronunciation of the foreign character and a Korean character having a similar form to the foreign character Can be converted. A foreign character may represent a character representing a language used outside of Korea. In another example, the text filtering apparatus may convert the character to be converted into a Korean character corresponding to a special character in response to the detected character to be converted being identified by a pre-registered special character. Specifically, the text filtering apparatus can convert a character to be converted into a Korean character having a form similar to a special character. The process of converting the characters to be converted into characters described above will be described in detail with reference to FIG.

이어서 단계(430)에서 텍스트 필터링 장치는 자소를 조합하여 입력 문자열로부터 조합 문자열을 생성할 수 있다. 예를 들어, 텍스트 필터링 장치는 전처리된 입력 문자열에 기초하여 조합 문자열을 생성할 수 있다. 본 명세서에서 조합 문자열은 상술한 단계(420)에서 생성된 자소들을 조합한 문자들의 집합을 나타낼 수 있다. 조합 문자열의 생성은 하기 도 6에서 상세히 설명한다.Then, in step 430, the text filtering device may combine the pointers to generate a combination string from the input string. For example, the text filtering device may generate a combination string based on the preprocessed input string. A combination string may refer to a set of characters that combine the pointers generated in step 420 described above. The generation of the combination string is described in detail in FIG.

일 실시예에 따르면, 텍스트 필터링 장치는 외국 문자 및 특수 문자를 한글 자소로 변환하면서, 한글도 한글 자소로 분리한 후에 모두 조합할 수 있으나, 이로 한정하는 것은 아니다. 텍스트 필터링 장치는 한글은 유지하고, 외국 문자 및 특수 문자 등만 한글 자소로 변환한 후에 한글로 조합할 수 있다.According to one embodiment, the text filtering apparatus can combine foreign characters and special characters into Korean characters while separating Korean characters into Korean characters, but the present invention is not limited thereto. The text filtering device can maintain Hangul, and can convert Hangul into Hangul with only foreign characters and special characters.

그리고 단계(440)에서 텍스트 필터링 장치는 조합 문자열로부터 비속어를 검색하고, 검색된 비속어를 입력 문자열로부터 필터링하여 출력 문자열을 생성할 수 있다. 예를 들어, 텍스트 필터링 장치는 조합 문자열로부터 비속어를 검출할 수 있다. 텍스트 필터링 장치는 검출된 비속어에 대응하는 한글을 필터링 문자로 교체(replace)하여 출력 문자열을 생성할 수 있다. 비속어 검출은 하기 도 12 및 도 13에서 상세히 설명하고, 출력 문자열 생성은 하기 도 14에서 상세히 설명한다.In step 440, the text filtering device may search for a profanity word from the combination string and filter the retrieved profanity word from the input string to generate an output string. For example, the text filtering device may detect a profanity from a combination string. The text filtering apparatus can generate an output character string by replacing the Korean character corresponding to the detected profanity with a filtering character. The profanity detection will be described in detail in FIGS. 12 and 13, and the output string generation will be described in detail in FIG. 14 below.

도 5는 일 실시예에 따른 텍스트 전처리 과정을 도시한 도면이다.FIG. 5 is a diagram illustrating a text preprocessing process according to an embodiment.

일 실시예에 따르면 텍스트 필터링 장치는 입력 문자열(501)로부터 공백, 전처리 대상 특수 문자, 불용어(stop word), 중복 문자, 및 정상 단어 중 적어도 하나를 제거함으로써 입력 문자열(501)을 전처리할 수 있다. 도 5는 상술한 전처리 과정의 예시를 설명하는 도면으로서, 전처리의 각 단계의 순서가 도시된 바로 한정되는 것은 아니고, 또한 도 5에 도시된 단계의 일부만이 적용될 수도 있다.According to one embodiment, the text filtering device may preprocess the input character string 501 by removing at least one of blank, preprocessed special characters, stop words, redundant characters, and normal words from the input character string 501 . 5 is a diagram for explaining an example of the above-described preprocessing process. The order of the steps of the preprocessing is not limited to the illustrated one, and only a part of the steps shown in Fig. 5 may be applied.

우선, 텍스트 필터링 장치는 입력 문자열(501)로부터 공백을 제거(510)할 수 있다. 도 5에서 텍스트 필터링 장치는 "C/발 캣ㅅhㄲ!가 처음부터 조오오오온나 bogi말라고 g!1iiii랄"를 입력 문자열(501)로서 획득할 수 있고, 해당 입력 문자열(501)로부터 공백을 제거할 수 있다.First, the text filtering device may remove 510 from the input string 501. In FIG. 5, the text filtering apparatus can obtain "c / o cognition" from the beginning as "cognate" or "cognate" as an input string 501, Can be removed.

그리고 텍스트 필터링 장치는 전처리 대상 특수 문자를 제거(520)할 수 있다. 전처리 대상 특수 문자는 비속어 필터링에서 제외되는 것으로 등록된 특수 문자로서, 예를 들어, 비속어로 사용되지 않은 특수 문자일 수 있다. 전처리 대상 특수 문자는 서비스 제공자가 운영하는 서버에 의해 등록될 수 있으나, 이로 한정하는 것은 아니고, 사용자 단말에 의해 등록될 수도 있다. 도 5에서는, 텍스트 필터링 장치는 "/", "?"를 전처리 대상 특수 문자로서 제거(520)할 수 있다. 다만, 전처리 대상 특수 문자를 상술한 바로 한정하는 것은 아니고, "1", "~", "!", "@", "#And the text filtering device may remove (520) the preprocessing special character. The special character to be preprocessed is a special character registered as being excluded from profanity filtering. For example, it may be a special character not used as a profanity word. The special character to be preprocessed may be registered by the server operated by the service provider, but not limited thereto, and may be registered by the user terminal. In Fig. 5, the text filtering device may remove (520) "/" and "?" As preprocessing special characters. However, the special characters to be preprocessed are not limited to the above-described ones, and the characters "1", "~", "!", "@"

, "$", "%", "^", "&", "*", "(", ")", "+", "`", "[", 및 "]" 등을 포함할 수 있다., "$", "%", "^", "&", "*", "(", ")", "+", " have.

이어서 텍스트 필터링 장치는 중복 문자를 제거(530)할 수 있다. 중복 문자는 서로 인접한 음절 또는 자소가 서로 동일한 문자를 나타낼 수 있다. 도 5에서는, 텍스트 필터링 장치는 "오오" 및 "iii"를 중복 문자로서 제거(530)할 수 있다. 예를 들어, 중복 문자의 제거(530)는 중복 자소의 제거를 포함할 수 있다. 다른 예를 들어, 텍스트 필터링 장치는 "개에에에에에새에에에에에끼이이이"에서 중복 문자를 제거하여 "개새끼"를 생성하거나, "개개개개새새새새새끼끼끼"로부터 중복 문자를 제거하여 "개새끼"를 생성하거나, "fuuuuuuuuuuuuuuuuuuuuck"로부터 중복 문자를 제거하여 "fuck"을 생성할 수 있다.The text filtering device may then remove 530 the redundant characters. Duplicate characters can represent the same character that are adjacent to each other. In Fig. 5, the text filtering device may remove (530) "oo" and "iii" as redundant characters. For example, removal of duplicate characters 530 may include removal of duplicate characters. For another example, a text filtering device may generate "sons" by removing the duplicate characters from "on the dogs to the eats on the eats to the dogs" or the duplicate characters from the "dogs" You can create "fucks" by removing them, or "fuck" by removing duplicate characters from "fuuuuuuuuuuuuuuuuuuuuck".

그리고 텍스트 필터링 장치는 불용어(stop word)를 제거(540)할 수 있다. 불용어는 비속어 필터링에서 불필요한 것으로 등록된 단어로서, 예를 들어, 의미를 가지지 않는 단어일 수 있다. 불용어는 서비스 제공자의 서버에 의해 등록될 수 있으나, 이로 한정하는 것은 아니고, 사용자 단말에 의해 등록될 수도 있다. 도 5에서 텍스트 필터링 장치는 "가", 및 "부터"와 같은 조사를 불용어로서 제거(540)할 수 있다. 다만, 불용어를 상술한 바로 한정하는 것은 아니고, "에게", "께서", "께옵서", "으로", "와", 및 "으로" 등을 포함할 수 있다.The text filtering device may then remove 540 the stop word. An abbreviation is a word registered as unnecessary in profanity filtering, for example, it may be a word having no meaning. An abbreviation can be registered by a server of a service provider, but is not limited thereto, and may be registered by a user terminal. In Fig. 5, the text filtering device may remove 540 the search as an abbreviation such as "a" and "to ". However, it should be understood that the term "abbreviation" is not limited to the above, and may include "a", "a", "a", "a", "," and "and" as "

이어서 텍스트 필터링 장치는 정상 단어를 제거(550)할 수 있다. 정상 단어는 비속어 필터링에서 제외되는 것으로 등록된 정상적인 단어로서, 예를 들어, 비속어가 아닌 단어일 수 있다. 정상 단어는 서비스 제공자의 서버에 의해 등록될 수 있으나, 이로 한정하는 것은 아니고, 사용자 단말에 의해 등록될 수도 있다. 도 5에서 텍스트 필터링 장치는 "처음"을 정상 단어로서 제거(550)할 수 있다. 정상 단어는 화이트리스트(White List)로 등록된 단어를 나타낼 수 있다.The text filtering device may then remove (550) the normal word. The normal word is a normal word registered as being excluded from profanity filtering, for example, it may be a word that is not a profanity word. The normal word may be registered by the server of the service provider, but not limited thereto, and may be registered by the user terminal. In FIG. 5, the text filtering device may remove (550) the "beginning" as a normal word. The normal word can represent a word registered as a white list.

상술한 전처리 과정을 통해 텍스트 필터링 장치는 전처리된 입력 문자열(502)로서, " C발캣ㅅhㄲ!조오온나bogi말라고g!1i랄"을 생성할 수 있다.Through the above-described preprocessing process, the text filtering apparatus can generate a pre-processed input character string 502 as "C", "C", or "bogi".

이후, 텍스트 필터링 장치는 전처리된 입력 문자열(502)로부터 변환 대상 문자를 검색하고, 조합 문자열을 생성할 수 있다.Thereafter, the text filtering device may retrieve the character to be converted from the preprocessed input character string 502 and generate a combined character string.

도 6은 일 실시예에 따른 텍스트 변환 과정을 도시한 도면이다.6 is a diagram illustrating a text conversion process according to an exemplary embodiment of the present invention.

텍스트 필터링 장치는, 도 4의 단계(420)에서 설명한 바와 같이 입력 문자열의 한글 및 특수 문자 등을 한글 자소로 변환할 수 있고, 도 4의 단계(430)에서 설명한 바와 같이 자소들을 조합하여 조합 문자열(603)을 생성할 수 있다. 도 6은 텍스트 필터링 장치가 도 5에서 생성된 전처리된 문자열로부터 조합 문자열(603)을 생성하는 과정을 예시적으로 설명한다.The text filtering apparatus may convert the Korean characters and special characters of the input character string to Korean characters as described in step 420 of FIG. 4, and may combine the characters as described in step 430 of FIG. 4, (603). Fig. 6 exemplarily illustrates a process in which the text filtering apparatus generates a combination string 603 from the preprocessed character string generated in Fig.

우선, 텍스트 필터링 장치는 전처리된 입력 문자열(502)로부터 외국 문자 및 특수 문자를 한글 자소로 변환(610)할 수 있다. 예를 들어, 도 6에서 텍스트 필터링 장치는 외국 문자를 그에 대응하는 한국어 발음을 가지는 한글 자소로 변환할 수 있는 바, "C"는 "씨"로, "b"는 "ㅂ"로, "o"는 "ㅗ"로, "g"는 "ㅈ"로, "i"는 "ㅣ"로 변환할 수 있다. 또한, 텍스트 필터링 장치는 특수 문자를 그에 대응하는 형태를 가지는 한글 자소로 변환할 수 있는 바, "h"는 "ㅐ"로, "!"는 "ㅣ"로, "1"은 "ㅣ"로 변환할 수 있다.First, the text filtering apparatus can convert (610) foreign characters and special characters from the preprocessed input character string 502 into Korean characters. For example, in FIG. 6, the text filtering apparatus can convert a foreign character into a Korean character having a Korean pronunciation corresponding to it, "C" for "seed", "b" for " "Can be converted to" ㅗ "," g "to" i ", and" i "to" ㅣ ". In addition, the text filtering device can convert special characters into Korean characters having a corresponding form, where "h" is "ㅐ", "!" Is "ㅣ" and "1" is "ㅣ" Can be converted.

그리고 텍스트 필터링 장치는 입력 문자열 중 한글 문자를 한글 자소들로 분리(620)할 수 있다. 예를 들어, 도 6에서 텍스트 필터링 장치는 "씨발캣"을 " ㅆㅣㅂㅏㄹㅋㅐㅅ"으로, "조오온나"를 "ㅈㅗㅇㅗㅇㅗㄴㄴㅏ"로, "말라고"를 "ㅁㅏㄹㄹㅏㄱㅗ"로, "랄"을 "ㄹㅏㄹ"로 변환할 수 있다.Then, the text filtering apparatus can separate (620) the Hangul characters among the input strings into Hangul characters. For example, in FIG. 6, the text filtering device reads "Fuck Cat" as "Fucked", "Joe Onna" as "Fucked", "Do not" as "Fucked" , And "lal" to "r".

이어서 텍스트 필터링 장치는 외국 문자 및 특수 문자로부터 변환된 자소 및 한글로부터 분리된 자소를 조합하여 입력 문자열로부터 조합 문자열(603)을 생성할 수 있다. 예를 들어, 도 6에서 텍스트 필터링 장치는 "ㅆㅣㅂㅏㄹㅋㅐㅅㅅㅐㄲㅣㅈㅗㅇㅗㅇㅗㄴㄴㅏㅂㅗㅈㅣㅁㅏㄹㄹㅏㄱㅗㅈㅣㅣㅣㄹㅏㄹ"을 조합하여, "씨발캣새끼조오온나보지말라고지ㅣㅣ랄"을 조합 문자열(603)로서 생성할 수 있다.Subsequently, the text filtering apparatus can generate a combined character string 603 from an input character string by combining the converted character from the foreign character and the special character and the character separated from the Korean character. For example, in FIG. 6, the text filtering device is combined with "Do not look at the fucking kitten Joeon, " by combining" ㅆ ㅅ ㅅ ㅐ ㅐ ㅐ ㄲ ㅗ ㅗ ㄴ ㄴ ㅂ ㅂ ㅏ ㅏ ㅏ ㅏ ㅏ ㅏ Quot; notification " and " notification " can be generated as the combination string 603.

다른 예를 들어, 텍스트 필터링 장치는 "야 KㅐSㅐㄲl야"를 입력 문자열로 수신한 경우에 응답하여, "야 개새끼야"를 조합 문자열로서 생성할 수 있다. 텍스트 필터링 장치는 도 6에 도시된 텍스트 변환 과정을 통해, "Sibal"은 "시발"로, "nimi"는 "니미"로, "giral"은 "지랄"로, "yadong"은 "야동"으로, "씨bal"은 "씨발"로 변환 및 조합할 수 있다.As another example, the text filtering device may generate a combination string of "Night Pussy" in response to receiving the input string "Night Shift. 6, the text filtering apparatus converts the text data into text data of "Sibal" as "start", "nimi" as "nimi", "giral" as "zigzag" and "yadong" as " , "Seed bal" can be converted and combined into "fuck".

일 실시예에 따르면, 텍스트 필터링 장치는 자소들로부터 직접 비속어를 필터링하는 대신, 자소들로부터 조합 문자열을 생성하여 조합 문자열로부터 비속어를 필터링함으로써, 필터링의 정확도 및 속도를 개선할 수 있다.According to one embodiment, the text filtering device may improve the accuracy and speed of filtering by filtering the profanity from the combination string by generating a combination string from the spots instead of filtering the profanity directly from the spots.

도 7은 일 실시예에 따른 텍스트 변환 맵을 도시한 도면이다.7 is a diagram showing a text transformation map according to an embodiment.

텍스트 필터링 장치는 텍스트 변환 맵에 기초하여, 외국 문자 및 특수 문자를 한글 자소로 변환할 수 있다. 텍스트 변환 맵은 임의의 문자에 대해 해당 문자가 변환되는 한글 자소 또는 한글 문자가 매핑된 정보를 나타낼 수 있다. 예를 들어, 텍스트 변환 맵은 유사 자소 맵(710) 및 유사 한글 맵(720) 등을 포함할 수 있다.The text filtering device can convert foreign characters and special characters into Korean characters based on the text conversion map. The text conversion map may represent information in which a Korean character or a Korean character to which the character is converted is mapped to an arbitrary character. For example, the text transformation map may include a similarity map 710 and a similar Hangul map 720 and the like.

유사 자소 맵(710)은 외국 문자 및 특수 문자에 대해 해당 문자가 변환되어야 하는 한글 자소가 매핑된 정보를 나타낼 수 있다. 예를 들어, 유사 자소 맵(710)에서 "n"에 대해 "ㄴ"이 매핑되고, "A"에 대해 "ㅏ"가 매핑될 수 있다.The similarity map 710 may represent information in which Korean characters are mapped to foreign characters and special characters. For example, "a" may be mapped to "n " in the similarity map 710, and" a "

유사 한글 맵(720)은 외국 문자 및 특수 문자에 대해 해당 문자가 변환되어야 하는 한글 문자가 매핑된 정보를 나타낼 수 있다. 예를 들어, 유사 한글 맵(720)에서 Z에 대해 "지"가 매핑되고, "T"에 대해 "티"가 매핑될 수 있다.The similar Hangul map 720 may represent information in which Hangul characters to which the corresponding characters are to be converted are mapped to foreign characters and special characters. For example, "Zi" may be mapped to Z in similar Hangul map 720, and "T" may be mapped to "T ".

다만, 도 7에 도시된 유사 자소 맵(710) 및 유사 한글 맵(720)은 단순 예시로서, 설계에 따라 변경될 수 있다. 또한, 텍스트 변환 맵의 매핑 관계는 서비스 제공 중에도 서비스 제공자 또는 사용자 단말에 의해 변경될 수 있다. 매핑 관계는 문자 대 자소 간의 매핑 관계 또는 문자 대 문자 간의 매핑 관계 등을 포함할 수 있다.However, the similarity map 710 and the similarity map 720 shown in FIG. 7 are simple examples and can be changed according to the design. In addition, the mapping relationship of the text conversion map can be changed by the service provider or the user terminal even during service provision. A mapping relationship may include a mapping relationship between characters to characters or a mapping relationship between characters to characters.

도 8은 일 실시예에 따른 텍스트 후처리 과정을 도시한 도면이다.FIG. 8 is a diagram illustrating a text post-processing process according to an embodiment.

텍스트 필터링 장치는 조합 문자열(603)로부터 공백, 전처리 대상 특수 문자, 불용어(stop word), 중복 문자, 및 정상 단어 중 적어도 하나를 제거함으로써 후처리된 조합 문자열(804)을 후처리할 수 있다.The text filtering device may post-process the post-processed combination string 804 by removing at least one of blank, preprocessed special characters, stop words, redundant characters, and normal words from the combination string 603.

우선, 텍스트 필터링 장치는 조합 문자열(603)로부터 정상 단어를 제거(810)할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 텍스트 필터링 장치는 "보지말라고"를 정상 단어로서 제거(810)할 수 있다.First, the text filtering device may remove (810) normal words from the combination string 603. For example, as shown in FIG. 8, the text filtering device may remove 810 the word "Do not look" as a normal word.

그리고 텍스트 필터링 장치는 조합 문자열(603)로부터 중복 문자를 제거(820)할 수 있다. 예를 들어, 텍스트 필터링 장치는 도 8에서 "지ㅣㅣ"로부터 "ㅣㅣ"를 중복 문자로서 제거(820)할 수 있다.And the text filtering device may remove 820 the redundant characters from the combination string 603. [ For example, the text filtering device may remove 820 as " ll "from" ll "

도 8에서는 정상 단어 제거(810) 및 중복 문자 제거(820)만을 도시하였으나, 이로 한정하는 것은 아니고, 텍스트 필터링 장치는 다른 후처리 동작들도 수행할 수 있다. 또한, 후처리 동작의 순서를 도 8에 도시된 바로 한정하는 것도 아니다.Although only normal word removal 810 and redundant character removal 820 are shown in FIG. 8, the present invention is not limited thereto, and the text filtering apparatus can perform other post-processing operations. In addition, the order of the post-processing operation is not limited to that shown in Fig.

이후, 텍스트 필터링 장치는 후처리된 조합 문자열(804)로부터 비속어를 검색할 수 있다. 도 8에서 상술한 바와 같이, 텍스트 필터링 장치는 조합 문자열(603)을 후처리함으로써, 필터링의 정확도를 개선할 수 있다. 조합되기 전의 자소로부터 직접 비속어를 필터링할 경우, 도 8에 도시된 예시에서는 비속어가 아닌 "보지말라고"에서 "ㅂㅗㅈㅣ"가 필터링되는 오류가 발생할 수 있고, "지ㅣㅣ랄"에서 "지랄"이 필터링에서 누락되는 오류가 발생할 수 있다. 일 실시예에 따른 텍스트 필터링 장치는 조합 문자열(603)의 후처리를 통해 불필요한 필터링을 감소시키고, 비속어의 필터링 누락 가능성을 감소시킬 수 있다.Thereafter, the text filtering device may retrieve the profanity from the post-processed combination string 804. As described above in Fig. 8, the text filtering device can improve the accuracy of the filtering by postprocessing the combination string 603. In the example shown in Fig. 8, when the profanity is filtered directly from the pre-combination poem, an error may occur that the "do not look" "Missing errors in this filtering can occur. The text filtering apparatus according to an embodiment may reduce unnecessary filtering and reduce the possibility of omission of filtering of the profanity through post processing of the combination string 603. [

비속어 검색은 하기 도 9 내지 도 14에서 상세히 설명한다.The profanity search is described in detail in Figs. 9 to 14 below.

도 9는 일 실시예에 따른 필터링 목록을 이용한 필터링의 예시를 도시한 도면이다.9 is a diagram illustrating an example of filtering using a filtering list according to an embodiment.

텍스트 필터링 장치는 필터링 목록(910)에 기초하여 후처리된 조합 문자열(804)로부터 비속어를 필터링할 수 있다. 필터링 목록(910)은 복수의 비속어들(911, 912, 913)을 포함할 수 있다.The text filtering device may filter the profanity word from the post-processed combination string 804 based on the filtering list 910. [ The filtering list 910 may include a plurality of profanity words 911, 912, and 913.

일 실시예에 따르면, 텍스트 필터링 장치는 필터링 목록(910)에 포함되는 비속어들(911, 912, 913)을 순차적으로 후처리된 조합 문자열(804)로부터 검색할 수 있다. 예를 들어, 텍스트 필터링 장치는 도 9에 도시된 예시에서, "씨발"(911), "개새끼"(912), "지랄"(913)을 후처리된 조합 문자열(804)로부터 검색하여 필터링할 수 있다.According to one embodiment, the text filtering device can sequentially retrieve the profanity words 911, 912, and 913 included in the filtering list 910 from the post-processed combination string 804. For example, in the example shown in FIG. 9, the text filtering device may retrieve and filter "Fuck" 911, "Fuck" 912, and "Fuck" 913 from the post-processed combination string 804 .

일 실시예에 따르면 텍스트 필터링 장치는 입력 문자열을 입력한 사용자 단말과 연관된 다른 사용자 단말로부터 입력 문자열에 포함된 비속어 정보를 수신할 수 있다. 비속어 정보는 사용자 단말에 의해 입력된 입력 문자열이 비속어를 포함하고 있다고 다른 사용자 단말이 신고한 정보를 나타낼 수 있다. 텍스트 필터링 장치는 수신된 비속어 정보에 대응하는 비속어가 입력 문자열에서 필터링되지 않은 경우에 응답하여 필터링 목록(910)을 업데이트할 수 있다. 따라서, 텍스트 필터링 장치는 서비스 제공자의 수동적인 추가 없이도, 사용자 단말들로부터 정보를 수집하여 필터링 목록(910)을 업데이트할 수 있다.According to an embodiment, the text filtering apparatus may receive the profanity information included in the input string from another user terminal associated with the user terminal that has input the input string. The profanity information may indicate information that is reported by another user terminal that the input string input by the user terminal includes a profanity. The text filtering device may update the filtering list 910 in response to a case where the profanity corresponding to the received profanity information is not filtered in the input string. Thus, the text filtering device can collect information from user terminals and update the filtering list 910 without manual addition of the service provider.

도 10은 일 실시예에 따른 텍스트 필터링을 위한 유사도 산출의 예시를 도시한 도면이다.10 is a diagram illustrating an example of the calculation of the degree of similarity for text filtering according to an embodiment.

일 실시예에 따르면 텍스트 필터링 장치는 조합 문자열(1021)에서 필터링 단어(1011)에 대응하는 대상 문자열 및 필터링 단어(1011) 간의 유사도를 산출할 수 있다. 텍스트 필터링 장치는 산출된 유사도가 임계값을 초과하는 경우에 응답하여, 대상 문자열을 비속어로 결정할 수 있다.According to one embodiment, the text filtering apparatus may calculate the similarity between the target character string corresponding to the filtering word 1011 and the filtering word 1011 in the combination string 1021. [ The text filtering device may determine the subject string as a profanity in response to the case where the calculated similarity exceeds the threshold value.

예를 들어, 텍스트 필터링 장치는 조합 문자열(1021)의 적어도 일부 자소 및 필터링 단어(1011)에서 그에 대응하는 자소 간의 자소 유사도(1032)를 산출할 수 있다. 구체적으로 텍스트 필터링 장치는 조합 문자열(1021)의 각각의 한글을 한글 자소(1022)로 분리할 수 있다. 텍스트 필터링 장치는 분리된 한글 자소(1022)의 각각과 필터링 단어(filtering word) (1011)에 대응하는 한글 자소(1012) 간의 유사도를 산출할 수 있다. 예를 들어, 텍스트 필터링 장치는 자소 유사도(1032)에 기초하여 조합 문자열(1021) 및 필터링 단어(1011) 간의 유사도를 산출할 수 있다. 텍스트 필터링 장치는 유사도에 기초하여 필터링할 문자를 검색하여 결정할 수 있다.For example, the text filtering device may calculate the proxy similarity 1032 between at least some of the characters in the combination string 1021 and the corresponding characters in the filtered word 1011. Specifically, the text filtering apparatus can separate each Hangul of the combination string 1021 into a Hangul character 1022. The text filtering apparatus can calculate the similarity between each of the separated Korean characters 1022 and the Korean character 1012 corresponding to the filtering word 1011. [ For example, the text filtering device may calculate the similarity between the combination string 1021 and the filtered word 1011 based on the similarity degree 1032. The text filtering device can determine and search for characters to be filtered based on the similarity.

도 10에 도시된 예시에서, 텍스트 필터링 장치는 필터링 목록에 포함된 비속어로서 "개새끼"를 조합 문자열(1021)의 대상 문자열인 "개식끼"와의 유사도를 산출할 수 있다. 텍스트 필터링 장치는 대상 문자열의 각각의 한글을 " ㄱ ㅐ ㅅ ㅣ ㄱ ㄲ ㅣ"로 분리할 수 있고, 필터링 단어(1011)를 " ㄱ ㅐ ㅅ ㅐ ㄲ ㅣ"로 분리할 수 있다. 예를 들어, 텍스트 필터링 장치는 조합 문자열(1021)의 자소 "ㄱ" 및 필터링 단어(1011)의 자소 "ㄱ" 간의 자소 유사도를 1, 조합 문자열(1021)의 자소 "ㅐ" 및 필터링 단어(1011)의 자소 "ㅐ" 간의 자소 유사도를 1, 조합 문자열(1021)의 자소 "ㅅ" 및 필터링 단어(1011)의 자소 "ㅅ" 간의 자소 유사도를 1, 조합 문자열(1021)의 자소 "ㅐ" 및 필터링 단어(1011)의 자소 "ㅣ" 간의 자소 유사도를 0.8, 조합 문자열(1021)의 자소 "ㄲ" 및 필터링 단어(1011)의 자소 "ㄲ" 간의 자소 유사도를 1, 조합 문자열(1021)의 자소 "ㅣ" 및 필터링 단어(1011)의 자소 "ㅣ" 간의 자소 유사도를 1로 산출할 수 있다.In the example shown in Fig. 10, the text filtering device can calculate the similarity with the "open pit" which is the target string of the combination string 1021 as the profanity word included in the filtering list. The text filtering device can separate each Hangul of the target string into "ㅐ ㅐ ㄲ ㄲ ㄲ", and can separate the filtered word (1011) into "ㅐ ㅐ ㅐ ㅐ ㅐ ㄲ". For example, the text filtering apparatus may set the similarity degree between the letter "a" of the combination string 1021 and the letter "a" of the filtering word 1011 to 1, the letter "z" of the combination string 1021 and the filtering word 1011 Quot; of the combination string 1021 is 1, the similarity degree between the lowercase "sh" of the combination string 1021 and the lowercase " The similarity degree between the lower case "" "of the filtering word 1011 is 0.8, the lower case similarity between the lower case" ㄲ "of the combination string 1021 and the lower case" ㄲ "of the filtering word 1011 is 1, The similarity degree between the "?" And the quotient "?" Of the filtered word 1011 can be calculated as 1. [

또한, 조합 문자열(1021)의 한 음절 및 필터링 단어(1011)에서 그에 대응하는 음절 중 하나에 종성이 존재하지 않는 경우(예를 들어, 한쪽에 받침이 없는 경우), 텍스트 필터링 장치는 자소 유사도를 0으로 산출할 수 있다. 다만, 조합 문자열(1021) 및 필터링 단어(1011) 중 어느 하나에 종성이 없는 경우의 자소 유사도를 상술한 바로 한정하는 것은 아니고, 텍스트 필터링 장치는 0.5와 같이 다른 수치로 한쪽에 받침이 없는 경우의 자소 유사도를 설정할 수도 있다.In addition, if there is no longitudinalness in one of the syllables in the combination string 1021 and in one of the syllables corresponding thereto in the filtering word 1011 (for example, if there is no backing on one side) 0 < / RTI > It is to be noted that the character filter similarity in the case where any of the combination string 1021 and the filtering word 1011 does not exist is not limited to the above description, You can also set the proxy similarity.

도 10에 도시된 예시에서, 필터링 단어(1011) "개새끼"와 조합 문자열(1021) "개식끼" 간의 유사도는 자소 유사도(1032)의 합인 5.8로 산출될 수 있다. 다만, 유사도를 이로 한정하는 것은 아니고, 텍스트 필터링 장치는 필터링 단어(1011) 및 조합 문자열(1021) 중 적어도 하나의 자소 갯수 및 각 자소의 자소 유사도(1032)에 기초하여 필터링 단어(1011) 및 조합 문자열(1021) 간의 유사도를 산출할 수도 있다. 예를 들어, 텍스트 필터링 장치는 조합 문자열(1021) "개식끼"의 총 자소 개수가 7이므로, 5.8/7*100=83%로 유사도를 산출할 수도 있다. 일 실시예에 따르면, 임계값이 80%로 설정된 경우, 도 10에 도시된 예시는 임계값을 초과하므로 텍스트 필터링 장치는 조합 문자열이 비속어인 것으로 판단할 수 있다.In the example shown in Fig. 10, the similarity degree between the filtering word 1011 "bastard" and the combination string 1021 "overhanging" can be calculated to be 5.8, which is the sum of the similarity degree 1032. However, the text filtering apparatus does not limit the similarity to the filtering word 1011 and the combination word 1011 based on the number of the bases of at least one of the filtering word 1011 and the combination string 1021 and the similarity degree 1032 of each of the bases. The degree of similarity between the strings 1021 can be calculated. For example, the text filtering apparatus may calculate the similarity degree by 5.8 / 7 * 100 = 83%, since the total number of collation of the combination string 1021 " According to one embodiment, when the threshold is set to 80%, the example shown in Fig. 10 exceeds the threshold value, so that the text filtering device can determine that the combination string is a profanity.

다른 예를 들어, 조합 문자열이 "캐새끼"인 경우, ㅋ≒ㄱ, ㅐ=ㅐ, ㅅ=ㅅ, ㄲ=ㄲ, ㅣ=ㅣ이므로, 텍스트 필터링 장치는 필터링 단어(1011) "개새끼"와의 유사도를 96.67%로 산출할 수 있다. 조합 문자열이 "개시끼"인 경우, 텍스트 필터링 장치는 ㄱ=ㄱ, ㅐ=ㅐ, ㅅ=ㅅ, ㅣ≠ㅐ, ㄲ=ㄲ, ㅣ=ㅣ이므로, 필터링 단어(1011) "개새끼"와의 유사도를 83.33%로 산출할 수 있다. 조합 문자열이 "걔색기"인 경우, 텍스트 필터링 장치는 ㄱ=ㄱ, ㅒ≒ㅐ, ㅅ=ㅅ, ㅐ=ㅐ, ㄱ≠(받침없음), ㄱ≒ㄲ, ㅣ=ㅣ이므로, 필터링 단어(1011) "개새끼"와의 유사도를 80.00%로 산출할 수 있다.For example, if the combination string is "Cassiope ", the text filtering apparatus searches for the similarity with the filtering word 1011" Can be calculated as 96.67%. If the combination string is a "start-of-speech", the text filtering device is similar to the filtering word (1011) "bastard" because it is a = a, b = ㅐ, = ㅅ, ㅐ, ㄲ = 83.33%. If the combination string is "puzzle color ", the text filtering device is a filtering word (1011) since it is a = a, b = ) It is possible to calculate the similarity with "sons" to 80.00%.

도 11은 일 실시예에 따른 음절 유사도 설정의 예시를 도시한 도면이다.11 is a diagram illustrating an example of the syllable similarity setting according to an embodiment.

일 실시예에 따르면 텍스트 필터링 장치는 조합 문자열의 각 음절 및 필터링 단어의 각 음절 간의 음절 유사도를 산출할 수 있다. 텍스트 필터링 장치는 음절 유사도에 기초하여, 조합 문자열로부터 필터링 단어를 검색할 수 있다. 텍스트 필터링 장치는 자소 간의 유사도를 정의하는 자소 유사도 맵에 기초하여 자소 유사도를 산출할 수 있고, 각 음절을 구성하는 자소들의 자소 유사도를 합산하여 음절 유사도를 산출할 수 있다. 자소 유사도 맵은 초성 유사도 맵(1110), 중성 유사도 맵(1120), 및 종성 유사도 맵(1130)을 포함할 수 있다.According to one embodiment, the text filtering apparatus can calculate the syllable similarity between each syllable of the combination string and each syllable of the filtering word. The text filtering device may retrieve the filtered word from the combined string based on the syllable similarity. The text filtering apparatus can calculate the similarity degree based on the similarity degree map defining the similarity degree between the adjacent terms and calculate the syllable similarity degree by summing the similarity degrees of the corresponding ones of the respective syllables. The star similarity map may include a star similarity map 1110, a neutral similarity map 1120, and a longitudinal similarity map 1130.

예를 들어, 텍스트 필터링 장치는 초성 유사도 맵(1110), 중성 유사도 맵(1120), 및 종성 유사도 맵(1130)에 기초하여 음절 유사도를 산출할 수 있다. 초성 유사도 맵(1110)은 조합 문자열의 각 음절의 초성 및 필터링 단어의 각 음절의 초성 간의 유사도를 정의하는 맵을 나타낼 수 있다. 중성 유사도 맵(1120)은 조합 문자열의 각 음절의 중성 및 필터링 단어의 각 음절의 중성 간의 유사도를 정의하는 맵을 나타낼 수 있다. 종성 유사도 맵(1130)은 조합 문자열의 각 음절의 종성 및 필터링 단어의 각 음절의 종성 간의 유사도를 정의하는 맵을 나타낼 수 있다. 텍스트 필터링 장치는 초성 유사도 맵(1110)에 기초하여 조합 문자열 및 필터링 단어 간의 초성 유사도, 중성 유사도 맵(1120)에 기초하여 조합 문자열 및 필터링 단어 간의 중성 유사도, 및 종성 유사도 맵(1130)에 기초하여 조합 문자열 및 필터링 단어 간의 종성 유사도를 산출할 수 있고, 초성 유사도, 중성 유사도, 및 종성 유사도를 합산하여 음절 유사도를 산출할 수 있다.For example, the text filtering apparatus may calculate the syllable similarity based on the initial similarity map 1110, the neutral similarity map 1120, and the longitudinal similarity map 1130. The initial similarity map 1110 may represent a map defining the similarity between the beginning of each syllable of the combination string and the beginning of each syllable of the filtered word. The neutral similarity map 1120 may represent a map defining the similarity between the neutrality of each syllable in the combined string and the neutrality of each syllable in the filtered word. The longitudinal similarity map 1130 may represent a map defining the degree of similarity between each syllable of the syllable of the filtered word and the longitudinalness of each syllable of the combined string. The text filtering device is further configured to generate a temporal similarity map based on the temporal similarity between the combined character string and the filtered word based on the temporal similarity map 1110, the neutral similarity between the combined character string and the filtered word based on the neutral similarity map 1120, It is possible to calculate the longitudinal similarity between the combination string and the filtering word, and calculate the syllable similarity by summing the initial similarity, neutral similarity, and longitudinal similarity.

예를 들어, 텍스트 필터링 장치는, 자소간 유사도로서, ㄱ ≒ ( ㄲ, ㅋ )의 관계에 대해 0.8, ㄷ ≒ ( ㄸ, ㅌ, ㄾ )의 관계에 대해 0.9를 설정할 수 있다. 자소가 동일한 경우, 텍스트 필터링 장치는 자소 간 유사도를 1로 설정할 수 있다.For example, the text filtering apparatus can set 0.9 for the relationship of a ≒ (ㄲ, ㅋ) and 0.8 for the relation of (ㄸ, ㅌ, ㄾ) If the suffixes are the same, the text filtering device can set the similarity degree between points to one.

텍스트 필터링 장치는 입력 문자열을 입력한 사용자 단말과 연관된 다른 사용자 단말로부터 입력 문자열에 포함된 비속어 정보를 수신할 수 있다. 텍스트 필터링 장치는 수신된 비속어 정보에 대응하는 비속어의 각 문자에 대응하는 자소 및 입력 문자열에서 비속어에 대응하는 대상 문자열의 각 자소 간의 자소 유사도를 업데이트할 수 있다. 따라서, 텍스트 필터링 장치는 다른 사용자 단말의 신고에 의해 수집되는 비속어 정보를 이용하여, 자소 유사도를 업데이트할 수 있다. 예를 들어, 특정 비속어에 대한 비속어 정보의 수집이 누적되는 경우에 응답하여, 텍스트 필터링 장치는 해당 비속어 정보가 누적된 횟수에 비례하여 비속어 정보에 대응하는 비속어의 각 문자에 대응하는 자소 및 입력 문자열에서 비속어에 대응하는 대상 문자열의 각 자소 간의 자소 유사도를 증가시킬 수 있다.The text filtering device may receive the profanity information included in the input string from another user terminal associated with the user terminal that has input the input string. The text filtering apparatus may update the similarity degree between the corresponding character of each of the characters of the profanity corresponding to the received profanity information and the corresponding character of the target character string corresponding to the profanity of the input character string. Thus, the text filtering apparatus can update the proxy similarity using the profanity information collected by the notification of another user terminal. For example, in response to accumulation of the profanity information for a specific profanity, the text filtering apparatus displays, in proportion to the accumulated number of times of the profanity information, a character corresponding to each character of the profanity corresponding to the profanity information, It is possible to increase the degree of similarity between the respective positions of the target character strings corresponding to the profane words.

도 12 및 도 13은 일 실시예에 따른 조합 문자열 및 필터링 단어 간의 유사도 산출 과정을 설명하는 도면이다.12 and 13 are diagrams for explaining a process of calculating the similarity between a combination character string and a filtering word according to an embodiment.

도 12에 도시된 바와 같이, 텍스트 필터링 장치는 조합 문자열(1210)로부터 복수의 대상 문자열을 순차적으로 선택할 수 있다. 예를 들어, 조합 문자열(1210)로부터 필터링 단어(1220)의 음절 갯수에 기초하여 대상 문자열을 선택할 수 있다. 텍스트 필터링 장치는 도 12에서 필터링 단어(1220) "ㄱㅐㅅㅐㄲㅣ"에 대응하는 대상 문자열을 "ㅆㅣㅂㅏㄹㅋㅐㅅ", "ㅂㅏㄹㅋㅐㅅㅅㅐ", "ㅋㅐㅅㅅㅐㄲㅣ", 및 "ㅅㅐㄲㅣㅈㅗㄴ" 등과 같이 순차적으로 선택할 수 있다. 텍스트 필터링 장치는 일방향(1290)으로 조합 문자열(1210)로부터 대상 문자열을 순차적으로 선택할 수 있으나, 방향으로 도 12에 도시된 바로 한정하는 것은 아니다. 예를 들어, 도 12에서는 텍스트 필터링 장치가 조합 문자열(1210)의 시작 지점부터 종료 지점을 향하는 방향(1290)으로 대상 문자열을 순차적으로 선택하는데, 반대로 종료 지점부터 시작 지점을 향하는 방향으로 대상 문자열을 순차적으로 선택할 수도 있다.As shown in FIG. 12, the text filtering apparatus can sequentially select a plurality of target strings from the combination string 1210. For example, the target string may be selected based on the number of syllables in the filtered word 1220 from the combination string 1210. [ The text filtering device may include a target string corresponding to the filtering word 1220 "ㅐ ㅐ ㅐ ㅐ ㄲ ㄲ" "" "" ㅆ ㅆ ㅆ ㅆ ㅆ ㅋ ㅋ ㅐ ㅐ ㅐ ㅐ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ, Quot ;, " ", and "" The text filtering device may sequentially select the target character string from the combination string 1210 in one direction 1290, but is not limited to the one shown in Fig. 12 in the direction. For example, in FIG. 12, the text filtering device sequentially selects the target character string in the direction 1290 from the start point to the end point of the combined character string 1210. In contrast, in the direction from the end point to the start point, It can also be selected sequentially.

텍스트 필터링 장치는 복수의 대상 문자열의 각각과 필터링 단어(1220) 간의 유사도를 산출할 수 있다. 텍스트 필터링 장치는 복수의 대상 문자열 중 유사도가 임계값을 초과하는 대상 문자열을 비속어로 결정할 수 있다.The text filtering device may calculate the degree of similarity between each of the plurality of subject strings and the filtering words 1220. The text filtering apparatus may determine a subject string whose similarity among a plurality of subject strings exceeds a threshold value as a profanity.

도 13에 도시된 바와 같이 텍스트 필터링 장치는 음절 단위로 필터링 단어 및 조합 문자열(1210) 간의 유사도를 계산할 수 있다. 예를 들어, 텍스트 필터링 장치는 필터링 단어의 각각의 음절(1301, 1302, 1303)의 자소와 조합 문자열(1210)의 각각의 음절의 자소 간의 유사도를 산출할 수 있다.As shown in FIG. 13, the text filtering apparatus can calculate the similarity between the filtering words and the combination strings 1210 in syllable units. For example, the text filtering device may calculate the similarity between the suffixes of the respective syllables 1301, 1302, and 1303 of the filtered word and the suffixes of the respective syllables of the combination string 1210. [

일 실시예에 따른 텍스트 필터링 장치는 자소로부터 직접 유사도를 산출하는 대신, 조합 문자열(1210)을 생성하여 음절 단위로 음절 유사도를 산출하여 총 유사도를 산출하므로, 필터링 속도가 개선될 수 있다.The text filtering apparatus according to an exemplary embodiment may generate the combination string 1210 instead of calculating the similarity directly from the cursor, calculate the syllable similarity by syllable unit, and thus calculate the total similarity, so that the filtering speed can be improved.

예를 들어, 도 13에 도시된 예시에서 자소로부터 직접 유사도를 산출할 경우에는, 필터링 단어의 자소 "ㄱ"을 조합 문자열(1210)의 22개의 자소에 대해 모두 유사도를 계산하고, 필터링 단어의 자소 "ㅐ"을 다시 22개의 자소에 대해 모두 유사도를 계산하여야 하므로 총 44회의 자소 유사도 계산이 수행될 수 있다. 이와 달리, 일 실시예에 따른 텍스트 필터링 장치는 필터링 단어의 음절 "ㄱㅐ"(1301)와 조합 문자열(1210)의 음절 "ㅆㅣ", 음절 "ㅂㅏㄹ", 음절 "ㅋㅐㅅ", 음절 "ㅅㅐ", 음절 "ㄲㅣ", 음절 "ㅈㅗㄴ", 음절 "ㄴㅏ", 음절 "ㅈㅣ", 및 음절 "ㄹㅏㄹ" 간의 음절 유사도를 산출할 수 있다. 따라서, 일 실시예에 따른 텍스트 필터링 장치는 필터링 단어의 음절 "ㄱㅐ"(1301)에 대해 18회만 자소 유사도 계산을 수행하면 되므로, 유사도 계산에 소요되는 시간 및 연산량 등이 감소될 수 있다.For example, in the example shown in FIG. 13, when the degree of similarity is directly calculated from the ruling, the degree of similarity is calculated for all 22 characters of the combination string 1210, Since the similarity degree is calculated again for all 22 characters of "ㅐ", a total of 44 times similarity degree calculations can be performed. Alternatively, the text filtering apparatus according to an embodiment may include a syllable "ㅐ ㅐ" 1301 of a filtering word and a syllable "ㅆ ㅣ", a syllable "ㅂ", a syllable "ㅋ ㅐ ㅅ", a syllable " Syllable "," syllable "," syllable "," syllable "and" syllable ". Accordingly, since the text filtering apparatus according to the embodiment needs to calculate the similarity degree only 18 times with respect to the syllable "A" 1301 of the filtered word, the time and calculation amount required for the similarity calculation can be reduced.

텍스트 필터링 장치는 도 10에서 설명한 바와 유사한 방식으로 자소 유사도를 산출하여 각 음절에 대한 음절 유사도를 산출할 수 있다. 텍스트 필터링 장치는 조합 문자열(1210)로부터 선택된 대상 문자열의 각 음절에 대응하는 음절 유사도를 합산하여, 선택된 대상 문자열 및 필터링 단어 간의 유사도(1390)를 산출할 수 있다. 일 실시예에 따르면 텍스트 필터링 장치는 임계값(예를 들어, 80%로 설정된 것을 가정)을 초과하는 유사도를 가지는 대상 문자열을 필터링 단어인 것으로 결정할 수 있고, 도 13에서는 대상 문자열 "ㅋㅐㅅㅅㅐㄲㅣ"와 필터링 단어 "개새끼" 간의 유사도(1391)가 83%이므로 텍스트 필터링 장치는 대상 문자열 "캣새끼"를 필터링 단어로 검색할 수 있다.The text filtering apparatus can calculate the similarity degree of syllables for each syllable by calculating the similarity degree of the syllables in a manner similar to that described in Fig. The text filtering device may calculate the similarity 1390 between the selected target character string and the filtered word by summing the syllable similarity corresponding to each syllable of the selected character string from the combination string 1210. [ According to one embodiment, the text filtering device may determine that the target character string has a similarity exceeding a threshold value (e.g., assuming it is set to 80%) as a filtering word, and in FIG. 13, the target character string " And the similarity (1391) between the search word " ㄲ ㅣ "and the filtering word" fishbird "is 83%, the text filtering device can search the target character string"

도 14는 일 실시예에 따라 필터링이 완료된 출력 문자열의 예시를 설명하는 도면이다.14 is a diagram illustrating an example of an output string that has been filtered according to an embodiment.

텍스트 필터링 장치는 조합 문자열로부터 비속어를 검출할 수 있다. 예를 들어, 텍스트 필터링 장치는 검출된 비속어에 대응하는 한글을 필터링 문자로 교체(replace)하여 출력 문자열(1405)을 생성(1410)할 수 있다. 필터링 문자는 비속어를 교체하기 위해 지정된 문자로서, 서비스 제공자 또는 사용자 단말에 의해 지정될 수 있고, 도 14에서는 "*"인 것으로 설명한다.The text filtering device may detect the profanity from the combination string. For example, the text filtering device may generate 1410 an output string 1405 by replacing Hangul corresponding to the detected profanity with a filtering character. The filtering character may be designated by the service provider or the user terminal as a character designated for replacing the profanity, and is described as "*" in Fig.

예를 들어, 도 14에 도시된 입력 문자열(501)(501) "C/발? 캣ㅅhㄲ!가 처음부터 조오오오온나 bogi말라고 g!1iiii랄"에서 "씨발", "개새끼", "존나", 및 "지랄" 등이 비속어로서 검색될 수 있고, 텍스트 필터링 장치는 검색된 비속어들을 필터링 문자 "*"로 대체하여 출력 문자열(1405)을 생성할 수 있다.For example, the input character string 501 (501) shown in FIG. 14 is displayed in the form of "Fuck", "Sgt", " Quot; can be searched as a profanity, and the text filtering device can generate the output character string 1405 by replacing the searched profanity with the filtering character "* ".

일 실시예에 따르면, 텍스트 필터링 장치가 사용자 단말인 경우, 사용자 단말은 생성된 출력 문자열(1405)을 디스플레이를 통해 표시할 수 있다. 다른 일 실시예에 따라 텍스트 필터링 장치가 서버인 경우, 서버는 생성된 출력 문자열(1405)을 서버에 접속한 사용자 단말로 송신할 수 있다.According to one embodiment, if the text filtering device is a user terminal, the user terminal may display the generated output string 1405 through the display. If the text filtering device is a server according to another embodiment, the server may send the generated output string 1405 to the user terminal connected to the server.

일 실시예에 따른 텍스트 필터링 장치는, 사용자가 외국 문자 및 특수 문자 등을 조합하여 비속어에 정확하게 일치하지 않는 형태의 문자열을 입력하더라도, 정확하고 효율적으로 비속어를 검출하여 필터링할 수 있다. 예를 들어, 텍스트 필터링 장치는 필터링 목록에 추가된 필터링 단어와 유사한 발음 내지는 유사한 형태를 가지는 문자열을 별도로 추가하지 않더라도, 비속어로서 검출할 수 있다.The text filtering apparatus according to the embodiment can accurately and efficiently detect and filter the profanity even if the user inputs a character string of a form that does not exactly match the profanity word by combining foreign characters and special characters. For example, the text filtering apparatus can be detected as a profanity word even if a character string having a pronunciation or similar form similar to the filtering word added to the filtering list is not separately added.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute one or more software applications that are executed on an operating system (OS) and an operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

100: 텍스트 필터링 시스템
110: 사용자 단말
120: 서버
100: Text filtering system
110: User terminal
120: Server

Claims (19)

텍스트 필터링 장치에 의해 수행되는 방법으로서,
입력 문자열을 획득하는 단계;
상기 입력 문자열로부터 변환 대상 문자가 검출되는 경우에 응답하여, 상기 검출된 변환 대상 문자를 자소로 변환하는 단계;
상기 자소를 조합하여 상기 입력 문자열로부터 조합 문자열을 생성하는 단계; 및
상기 조합 문자열로부터 비속어를 검색하는 단계
를 포함하는 텍스트 필터링 방법.
A method performed by a text filtering device,
Obtaining an input string;
Converting the detected converted character into a character in response to detection of a character to be converted from the input character string;
Generating a combination string from the input string by combining the letters; And
Retrieving a profanity from the combination string
/ RTI >
제1항에 있어서,
상기 자소로 변환하는 단계는,
상기 검출된 변환 대상 문자를 한글 자소 또는 한글 문자로 변환하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The method of claim 1,
Converting the detected conversion target character into a Korean character or a Korean character
/ RTI >
제1항에 있어서,
상기 검출된 변환 대상 문자를 자소로 변환하는 단계는,
상기 입력 문자열로부터 한글이 검출되는 경우에 응답하여, 상기 문자열 중 상기 검출된 한글을 한글 자소로 분리하는 단계; 및
상기 입력 문자열 중 나머지 문자를 한글 자소로 변환하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
Converting the detected conversion target character into a character,
Separating the detected Hangul into Hangul characters in response to detection of Hangul from the input string; And
Converting the remaining characters of the input character string into a Korean character
/ RTI >
제1항에 있어서,
상기 입력 문자열을 획득하는 단계는,
상기 입력 문자열로부터 공백, 전처리 대상 특수 문자, 불용어(stop word), 중복 문자, 및 정상 단어 중 적어도 하나를 제거함으로써 입력 문자열을 전처리하는 단계
를 포함하고,
상기 검출된 변환 대상 문자를 자소로 변환하는 단계는,
상기 전처리된 입력 문자열로부터 상기 변환 대상 문자를 검색하는 단계
를 포함하며,
상기 조합 문자열을 생성하는 단계는,
상기 전처리된 입력 문자열에 기초하여 상기 조합 문자열을 생성하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
Wherein the step of obtaining the input character string comprises:
Preprocessing the input character string by removing at least one of blank, preprocessed special character, stop word, duplicate character, and normal word from the input character string
Lt; / RTI >
Converting the detected conversion target character into a character,
Retrieving the character to be converted from the preprocessed input character string
/ RTI >
The generating of the combination string may include:
Generating the combination string based on the preprocessed input string
/ RTI >
제1항에 있어서,
상기 검출된 변환 대상 문자를 자소로 변환하는 단계는,
상기 검출된 변환 대상 문자가 외국 문자로 식별되는 경우에 응답하여, 상기 변환 대상 문자를 상기 외국 문자의 한국어 발음에 대응하는 한글 자소 및 상기 외국 문자와 유사한 형태의 한글 자소 중 하나로 변환하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
Converting the detected conversion target character into a character,
Converting the character to be converted into one of a Korean character corresponding to the Korean pronunciation of the foreign character and a Korean character having a similar form to the foreign character in response to the detected character to be converted being identified as a foreign character
/ RTI >
제1항에 있어서,
상기 검출된 변환 대상 문자를 자소로 변환하는 단계는,
상기 검출된 변환 대상 문자가 기 등록된 특수 문자로 식별되는 경우에 응답하여, 상기 변환 대상 문자를 상기 특수 문자에 대응하는 한글 자소로 변환하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
Converting the detected conversion target character into a character,
Converting the character to be converted into a Korean character corresponding to the special character in response to the detected character to be converted being identified by a pre-registered special character
/ RTI >
제6항에 있어서,
상기 변환 대상 문자를 상기 특수 문자에 대응하는 한글 자소로 변환하는 단계는,
상기 변환 대상 문자를, 상기 특수 문자와 유사한 형태를 가지는 한글 자소로 변환하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 6,
Converting the character to be converted into a Korean character corresponding to the special character,
Converting the character to be converted into a Korean character having a form similar to the special character
/ RTI >
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열로부터 공백, 전처리 대상 특수 문자, 불용어(stop word), 중복 문자, 및 정상 단어 중 적어도 하나를 제거함으로써 후처리된 조합 문자열을 후처리하는 단계; 및
상기 후처리된 조합 문자열로부터 상기 비속어를 검색하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Processing the post-processed combination string by removing at least one of a blank, a special character to be preprocessed, a stop word, a redundant character, and a normal word from the combination string; And
Retrieving the profanity from the post-processed combination string
/ RTI >
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열로부터 비속어를 검출하는 단계
를 포함하고,
상기 검색된 비속어를 상기 입력 문자열로부터 필터링하는 단계
를 더 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Detecting a profanity from the combination string
Lt; / RTI >
Filtering the retrieved profanity from the input character string
Further comprising the steps of:
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열의 각각의 한글을 한글 자소로 분리하는 단계;
상기 분리된 한글 자소의 각각과 필터링 단어(filtering word)에 대응하는 한글 자소 간의 유사도를 산출하는 단계; 및
상기 유사도에 기초하여 필터링할 문자를 결정하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Separating each Hangul character of the combination string into Hangul characters;
Calculating a degree of similarity between each of the separated Hangul characters and Hangul characters corresponding to a filtering word; And
Determining a character to be filtered based on the degree of similarity
/ RTI >
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열에서 필터링 단어에 대응하는 대상 문자열 및 상기 필터링 단어 간의 유사도를 산출하는 단계; 및
상기 산출된 유사도가 임계값을 초과하는 경우에 응답하여, 상기 대상 문자열을 비속어로 결정하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Calculating a similarity between the target character string corresponding to the filtered word and the filtered word in the combined character string; And
Determining the target character string as a profanity in response to the calculated degree of similarity exceeding a threshold value
/ RTI >
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열의 각 음절 및 상기 필터링 단어의 각 음절 간의 음절 유사도를 산출하는 단계; 및
상기 음절 유사도에 기초하여, 상기 조합 문자열로부터 상기 필터링 단어를 검색하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Calculating syllable similarity between each syllable of the combined string and each syllable of the filtered word; And
Retrieving the filtered word from the combined string based on the syllable similarity,
/ RTI >
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열의 적어도 일부 자소 및 상기 필터링 단어에서 그에 대응하는 자소 간의 자소 유사도를 산출하는 단계;
상기 자소 유사도에 기초하여 상기 조합 문자열 및 상기 필터링 단어 간의 유사도를 산출하는 단계; 및
상기 유사도에 기초하여 상기 조합 문자열로부터 상기 필터링 단어를 검색하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Calculating a degree of similarity between at least some of the characters of the combination string and corresponding ones of the filtering words;
Calculating a similarity between the combination string and the filtered word based on the similarity degree; And
Retrieving the filtered word from the combination string based on the degree of similarity
/ RTI >
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열로부터 필터링 단어의 음절 갯수에 기초하여 대상 문자열을 선택하는 단계; 및
상기 대상 문자열과 상기 필터링 단어 간의 유사도를 산출하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Selecting a target string based on the number of syllables of the filtered word from the combination string; And
Calculating a degree of similarity between the target character string and the filtered word word;
/ RTI >
제1항에 있어서,
상기 비속어를 검색하는 단계는,
상기 조합 문자열로부터 복수의 대상 문자열을 순차적으로 선택하는 단계;
상기 복수의 대상 문자열의 각각과 상기 필터링 단어 간의 유사도를 산출하는 단계; 및
상기 복수의 대상 문자열 중 상기 유사도가 임계값을 초과하는 대상 문자열을 비속어로 결정하는 단계
를 포함하는 텍스트 필터링 방법.
The method according to claim 1,
The step of searching for the profanity may include:
Sequentially selecting a plurality of target strings from the combination string;
Calculating a degree of similarity between each of the plurality of object strings and the filtered word; And
Determining a subject string whose similarity exceeds the threshold value among the plurality of subject strings as a profanity
/ RTI >
제1항에 있어서,
상기 입력 문자열을 입력한 사용자 단말과 연관된 다른 사용자 단말로부터 상기 입력 문자열에 포함된 비속어 정보를 수신하는 단계; 및
상기 수신된 비속어 정보에 대응하는 비속어가 상기 입력 문자열에서 필터링되지 않은 경우에 응답하여 필터링 목록을 업데이트하는 단계
를 더 포함하는 텍스트 필터링 방법.
The method according to claim 1,
Receiving, from another user terminal associated with the user terminal that has input the input character string, profanity information included in the input character string; And
Updating the filtering list in response to the case where the profanity corresponding to the received profanity information is not filtered in the input string
Further comprising the steps of:
제1항에 있어서,
상기 입력 문자열을 입력한 사용자 단말과 연관된 다른 사용자 단말로부터 상기 입력 문자열에 포함된 비속어 정보를 수신하는 단계; 및
상기 수신된 비속어 정보에 대응하는 비속어의 각 문자에 대응하는 자소 및 상기 입력 문자열에서 상기 비속어에 대응하는 대상 문자열의 각 자소 간의 자소 유사도를 업데이트하는 단계
를 더 포함하는 텍스트 필터링 방법.
The method according to claim 1,
Receiving, from another user terminal associated with the user terminal that has input the input character string, profanity information included in the input character string; And
Updating the similarity degree between the corresponding character of each of the characters of the profanity corresponding to the received profanity information and the corresponding character of the target character string corresponding to the profanity of the input character string
Further comprising the steps of:
하드웨어와 결합되어 제1항 내지 제17항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.17. A computer program stored in a medium for executing the method of any one of claims 1 to 17 in combination with hardware. 텍스트 필터링 장치에 있어서,
입력 문자열을 획득하고, 상기 입력 문자열로부터 변환 대상 문자가 검출되는 경우에 응답하여, 상기 검출된 변환 대상 문자를 자소로 변환하며, 상기 자소를 조합하여 상기 입력 문자열로부터 조합 문자열을 생성하고, 상기 조합 문자열로부터 비속어를 검색하는 처리부
를 포함하는 텍스트 필터링 장치.
A text filtering apparatus comprising:
Converting the detected character to be converted into a character in response to a case where a character to be converted is detected from the input character string, combining the characters to generate a combination character string from the input character string, A processing unit for retrieving an improper language from a character string
/ RTI >
KR1020160126188A 2016-09-30 2016-09-30 Device and method to filter text KR102618483B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160126188A KR102618483B1 (en) 2016-09-30 2016-09-30 Device and method to filter text

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160126188A KR102618483B1 (en) 2016-09-30 2016-09-30 Device and method to filter text

Publications (2)

Publication Number Publication Date
KR20180036074A true KR20180036074A (en) 2018-04-09
KR102618483B1 KR102618483B1 (en) 2023-12-27

Family

ID=61978057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160126188A KR102618483B1 (en) 2016-09-30 2016-09-30 Device and method to filter text

Country Status (1)

Country Link
KR (1) KR102618483B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200102095A (en) * 2019-02-21 2020-08-31 주식회사 와이즈넛 Feature extraction and learning method for summarizing text documents
KR20200119103A (en) * 2019-04-09 2020-10-19 넷마블 주식회사 Method and apparatus for filtering swearword
KR102244982B1 (en) * 2019-12-31 2021-04-27 성균관대학교산학협력단 Text filtering method and device using the image learning
KR20210112955A (en) * 2020-03-06 2021-09-15 아주대학교산학협력단 Swearwords detection system based on hangul jamo similarity and method of detecting the swearwords

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100129033A (en) * 2009-05-29 2010-12-08 (주)엠더블유스토리 Analyzing method for reputation of reply
KR20100129032A (en) * 2009-05-29 2010-12-08 (주)엠더블유스토리 Method for slang filtering for korean language
KR20110020649A (en) * 2009-08-24 2011-03-03 부산대학교 산학협력단 Profanity filter and method for filtering coined profanity
KR20160053426A (en) * 2014-11-04 2016-05-13 주식회사 케이티 Method for autocomplete candidate word and apparatus thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100129033A (en) * 2009-05-29 2010-12-08 (주)엠더블유스토리 Analyzing method for reputation of reply
KR20100129032A (en) * 2009-05-29 2010-12-08 (주)엠더블유스토리 Method for slang filtering for korean language
KR20110020649A (en) * 2009-08-24 2011-03-03 부산대학교 산학협력단 Profanity filter and method for filtering coined profanity
KR20160053426A (en) * 2014-11-04 2016-05-13 주식회사 케이티 Method for autocomplete candidate word and apparatus thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200102095A (en) * 2019-02-21 2020-08-31 주식회사 와이즈넛 Feature extraction and learning method for summarizing text documents
KR20200119103A (en) * 2019-04-09 2020-10-19 넷마블 주식회사 Method and apparatus for filtering swearword
KR102244982B1 (en) * 2019-12-31 2021-04-27 성균관대학교산학협력단 Text filtering method and device using the image learning
KR20210112955A (en) * 2020-03-06 2021-09-15 아주대학교산학협력단 Swearwords detection system based on hangul jamo similarity and method of detecting the swearwords

Also Published As

Publication number Publication date
KR102618483B1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
US10019436B2 (en) Input method and system
US10678824B2 (en) Method of searching for relevant node, and computer therefor and computer program
US20130185054A1 (en) Techniques for inserting diacritical marks to text input via a user device
KR101935585B1 (en) Game command recognition method and game command recognition apparatus
KR20180036074A (en) Device and method to filter text
CN111582454A (en) Method and device for generating neural network model
WO2021237227A1 (en) Method and system for multi-language text recognition model with autonomous language classification
JP2018088101A (en) Synonymous expression extraction device, synonymous expression extraction method and synonymous expression extraction program
JP2023002690A (en) Semantics recognition method, apparatus, electronic device, and storage medium
CN111832396A (en) Document layout analysis method and device, electronic equipment and storage medium
US20160154785A1 (en) Optimizing generation of a regular expression
US11086600B2 (en) Back-end application code stub generation from a front-end application wireframe
US10956778B2 (en) Multi-level deep feature and multi-matcher fusion for improved image recognition
CN111968624A (en) Data construction method and device, electronic equipment and storage medium
US10386935B2 (en) Input method editor for inputting names of geographic locations
CN113268246B (en) Regular expression generation method and device and computer equipment
KR102476208B1 (en) Word cloud system based on korean noun extraction tokenizer
JP6551026B2 (en) Candidate word evaluation device, candidate word evaluation system, program, and candidate word evaluation method
KR102236846B1 (en) Method and apparatus for filtering swearword
KR102052606B1 (en) Method and system for interative visualization and manipulation of attention-based neural machine translation
JP6612505B2 (en) Splicing processing system, program, and splicing processing method
CN110970030A (en) Voice recognition conversion method and system
JP2016153975A (en) Information processor, infringement detection device, information processing method, and program
US9910846B2 (en) Conversion device and conversion method
US20230230577A1 (en) Dynamic adjustment of content descriptions for visual components

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant