KR102177741B1 - Apparatus and method for interpreting communication message based on recurrent neural network and fork prediction - Google Patents

Apparatus and method for interpreting communication message based on recurrent neural network and fork prediction Download PDF

Info

Publication number
KR102177741B1
KR102177741B1 KR1020180129185A KR20180129185A KR102177741B1 KR 102177741 B1 KR102177741 B1 KR 102177741B1 KR 1020180129185 A KR1020180129185 A KR 1020180129185A KR 20180129185 A KR20180129185 A KR 20180129185A KR 102177741 B1 KR102177741 B1 KR 102177741B1
Authority
KR
South Korea
Prior art keywords
prediction
prediction result
calculated
result
character
Prior art date
Application number
KR1020180129185A
Other languages
Korean (ko)
Other versions
KR20200047124A (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 KR1020180129185A priority Critical patent/KR102177741B1/en
Priority to PCT/KR2018/014463 priority patent/WO2020085567A1/en
Publication of KR20200047124A publication Critical patent/KR20200047124A/en
Application granted granted Critical
Publication of KR102177741B1 publication Critical patent/KR102177741B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • H04L29/06006
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance

Abstract

본 발명의 기술적 사상에 의한 일 양태에 따른 통신 메시지의 메시지 해석 방법은 전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받는 단계; 상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하는 단계; 상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하는 단계; 상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하는 단계; 상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하는 단계; 및 상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하는 단계를 포함할 수 있다. A message analysis method for a communication message according to an aspect of the present invention includes the steps of receiving a stream including a plurality of input characters included in a transmitted communication message; Calculating a first prediction result that is a result predicted according to the first character of the stream; Comparing the calculated first prediction result with a second character of the stream; Based on the comparison result with the first prediction result, if the calculated first prediction result and the second character are not the same, a second prediction result branching from a point that is not identical is calculated, and the first prediction result is Storing in a first stack; Comparing the calculated second prediction result with the second character; And if the calculated second prediction result and the second character are not the same based on the comparison result with the second prediction result, a third prediction result branching from the non-identical point is calculated, and the second prediction And storing the result as a second stack.

Figure R1020180129185
Figure R1020180129185

Description

순환신경망 및 분기예측에 기반한 통신 메시지 해석 장치 및 그 방법{APPARATUS AND METHOD FOR INTERPRETING COMMUNICATION MESSAGE BASED ON RECURRENT NEURAL NETWORK AND FORK PREDICTION}Communication message interpretation device and method based on circulatory neural network and branch prediction {APPARATUS AND METHOD FOR INTERPRETING COMMUNICATION MESSAGE BASED ON RECURRENT NEURAL NETWORK AND FORK PREDICTION}

본 발명의 기술적 사상은 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법에 관한 것으로, 보다 상세하게는, 다양한 장치들로부터 전송되는 통신 메시지를 해석하는 통신 메시지 해석 장치 및 그 방법에 관한 것이다. The technical idea of the present invention relates to a communication message analysis apparatus and method using a circulatory neural network, and more particularly, to a communication message analysis apparatus and method for interpreting communication messages transmitted from various devices.

IoT(Internet of Things) 환경에서는 다양한 사용자 어플리케이션과 통신 프로토콜이 사용된다. In the Internet of Things (IoT) environment, various user applications and communication protocols are used.

그리고 각각의 사용자 어플리케이션은 프로그램마다 정의된 메시지 구성(structure)를 가져서, 각 어플리케이션이 작성한 메시지는 서로 다른 프로토콜에 의해 전송되고 해석될 수 있다. In addition, each user application has a message structure defined for each program, so that messages created by each application can be transmitted and interpreted by different protocols.

그래서 메시지를 수신하는 수신 측 장치 또는 중앙 서버 시스템은 각 프로토콜마다 작성된 수신부를 갖추고, 수신 측 어플리케이션도 각 프로토콜에 맞는 메시지 해석기를 갖춰야 한다. Therefore, a receiving device or a central server system that receives a message must have a receiving unit created for each protocol, and a receiving application must also have a message interpreter suitable for each protocol.

서로 다른 어플리케이션과 프로토콜을 위해, 개발자는 각 어플리케이션과 프로토콜에서 정의한 규정을 해석해야 하며 해석된 결과를 바탕으로 다양한 수의 수신측 혹은 송신측 소프트웨어 모듈을 제작하여야 한다. 이는 IoT 환경과 같이 매우 다양한 디바이스들이 존재하는 상황에서 매우 큰 부담으로 작용한다. For different applications and protocols, the developer must interpret the rules defined by each application and protocol, and produce various number of receiving or transmitting software modules based on the analyzed results. This acts as a very heavy burden in the presence of a wide variety of devices such as an IoT environment.

한편, IoT에 대한 관심이 증가하면서 IoT 산업의 규모는 점차 커지고 있으며, 실생활에서 IoT가 접목된 제품 또는 센서를 쉽게 찾아볼 수 있게 되었다.On the other hand, as interest in IoT increases, the scale of the IoT industry is gradually increasing, and it is possible to easily find products or sensors incorporating IoT in real life.

그리고 IoT 장치 또는 센서의 수가 증가함에 따라 데이터 해석을 위한 프로세스는 점차 복잡해지고 있으며, 위에서 말한 프로토콜 간 해석 문제는 오히려 증가하고 있다.In addition, as the number of IoT devices or sensors increases, the process for data interpretation is becoming increasingly complex, and the problem of interpretation between protocols mentioned above is rather increasing.

본 발명의 기술적 사상에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법은 순환신경망 모델과 텍스트 마이닝 모델을 결합하여 다양한 프로토콜의 통신 메시지를 해석하는데 목적이 있다.An apparatus and method for analyzing communication messages using a circulatory neural network according to the technical idea of the present invention aims to interpret communication messages of various protocols by combining a cyclic neural network model and a text mining model.

또한, 본 발명은 단어 예측 과정에서 분기 예측(fork prediction)을 이용하여 통신 메시지 해석의 신뢰성을 향상시키는데 목적이 있다.In addition, an object of the present invention is to improve the reliability of communication message interpretation by using fork prediction in a word prediction process.

또한, 본 발명은 메시지 재구성 과정에서, 통신 메시지 내의 잡음을 효과적으로 제거하는데 목적이 있다.In addition, an object of the present invention is to effectively remove noise in a communication message during a message reconfiguration process.

본 발명의 기술적 사상에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법이 이루고자 하는 기술적 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved by the apparatus and method for analyzing a communication message using a circulatory neural network according to the technical idea of the present invention is not limited to the problem(s) mentioned above, and another problem(s) not mentioned is described below. From will be able to be clearly understood by those skilled in the art.

본 발명의 기술적 사상에 의한 일 양태에 따른 통신 메시지의 메시지 해석 방법은 전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받는 단계; 상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하는 단계; 상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하는 단계; 상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하는 단계; 상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하는 단계; 및 상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하는 단계를 포함할 수 있다. A message analysis method for a communication message according to an aspect of the present invention includes the steps of receiving a stream including a plurality of input characters included in a transmitted communication message; Calculating a first prediction result that is a result predicted according to the first character of the stream; Comparing the calculated first prediction result with a second character of the stream; Based on the comparison result with the first prediction result, if the calculated first prediction result and the second character are not the same, a second prediction result branching from a point that is not identical is calculated, and the first prediction result is Storing in a first stack; Comparing the calculated second prediction result with the second character; And if the calculated second prediction result and the second character are not the same based on the comparison result with the second prediction result, a third prediction result branching from the non-identical point is calculated, and the second prediction And storing the result as a second stack.

예시적인 실시예에 따르면, 상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, if the first prediction result or the second prediction result is the same as the plurality of input characters, storing the same prediction result as a completed word may be further included.

예시적인 실시예에 따르면, 상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method may further include deleting the stack of prediction results stored as the completed word.

예시적인 실시예에 따르면, 상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하는 단계를 더 포함할 수 있다. According to an exemplary embodiment, when the number of stacks of a plurality of prediction results branched at the same point exceeds a reference value for the prediction result calculated for the input character, deleting the excess number of stacks. It may further include.

예시적인 실시예에 따르면, 상기 초과된 수의 스택을 삭제하는 단계는 상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하는 단계를 포함할 수 있다.According to an exemplary embodiment, deleting the excess number of stacks may include deleting the excess number of stacks based on a waiting time among stacks of the plurality of prediction results. have.

예시적인 실시예에 따르면, 상기 초과된 수의 스택을 삭제하는 단계는 상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하는 단계를 포함할 수 있다.According to an exemplary embodiment, the deleting of the excess number of stacks may include deleting a stack of the plurality of prediction results in which a comparison result with the input character does not match a predetermined number or more. .

예시적인 실시예에 따르면, 상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하는 단계; 및 상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method includes: calculating a minimum branch prediction level for the number of prediction results branched at one point for a prediction result predicted according to the input character; And calculating a plurality of prediction results, which are results predicted according to the input characters, based on the calculated minimum branch prediction level.

예시적인 실시예에 따르면, 상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하는 단계를 더 포함할 수 있다. According to an exemplary embodiment, using the calculated minimum branch prediction level, the step of adjusting the number of stems, which are consecutive characters used as inputs, may be further included.

본 발명의 기술적 사상에 의한 다른 양태에 따른 메시지 해석 장치는 적어도 하나의 프로세서; 및 상기 프로세서에 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 상기 프로세서가 실행 시에, 전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받고, 상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하고, 상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하고, 상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하고, 상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하고, 상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하도록 하는 인스트럭션들을 저장할 수 있다.According to another aspect of the inventive concept, an apparatus for analyzing a message includes at least one processor; And a memory electrically connected to the processor, wherein the memory receives a stream including a plurality of input characters included in the transmitted communication message when the processor is executed, and according to the first character of the stream A first prediction result which is a predicted result is calculated, the calculated first prediction result is compared with a second character of the stream, and based on the comparison result with the first prediction result, the calculated first prediction result and If the second character is not the same, a second prediction result branching from an unequal point is calculated, the first prediction result is stored as a first stack, and the calculated second prediction result is the second character And, based on the comparison result with the second prediction result, if the calculated second prediction result and the second character are not identical, a third prediction result branching from the non-identical point is calculated, and the Instructions for storing the second prediction result as a second stack may be stored.

예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하도록 하는 인스트럭션들을 저장할 수 있다.According to an exemplary embodiment, when the processor is executed, if the first prediction result or the second prediction result is the same as the plurality of input characters, the memory stores the same prediction result as a completed word. You can save instructions.

예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다.According to an exemplary embodiment, the memory may store instructions for causing the processor to delete a stack of prediction results stored as the completed word when the processor is executed.

예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다.According to an exemplary embodiment, when the processor is executed, the number of stacks of a plurality of prediction results branched at the same point with respect to a prediction result calculated for the input character exceeds a reference value. If so, you can store instructions that cause you to delete an excess number of stacks.

예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다. According to an exemplary embodiment, the memory may store instructions for deleting the excess number of stacks based on a waiting time among stacks of the plurality of prediction results when the processor is executed. have.

예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하도록 하는 인스트럭션들을 저장할 수 있다.According to an exemplary embodiment, when the processor is executed, the memory may store instructions for deleting a stack in which the comparison result with the input character does not match a predetermined number or more among the stacks of the plurality of prediction results. .

예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하고, 상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하도록 하는 인스트럭션들을 저장할 수 있다.According to an exemplary embodiment, when the processor is executed, the memory calculates a minimum branch prediction level for the number of prediction results branched at one point with respect to a prediction result predicted according to the input character, and the Based on the calculated minimum branch prediction level, instructions for calculating a plurality of prediction results, which are results predicted according to the input character, may be stored.

예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하도록 하는 인스트럭션들을 저장할 수 있다. According to an exemplary embodiment, the memory may store instructions for adjusting the number of stems, which are consecutive characters used as inputs, by using the calculated minimum branch prediction level when the processor is executed. have.

본 발명의 기술적 사상에 의한 실시예들에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법은 순환신경망 모델과 텍스트 마이닝 모델을 결합하여 다양한 프로토콜의 통신 메시지를 해석할 수 있다. The apparatus and method for analyzing a communication message using a circulatory neural network according to embodiments of the inventive concept may analyze communication messages of various protocols by combining a cyclic neural network model and a text mining model.

본 발명은 단어 예측 과정에서 분기 예측(fork prediction)을 이용하여 통신 메시지 해석의 신뢰성을 향상시킬 수 있다. The present invention can improve the reliability of communication message interpretation by using fork prediction in the word prediction process.

또한, 본 발명은 메시지 재구성 과정에서, 통신 메시지 내의 잡음을 효과적으로 제거할 수 있다.In addition, the present invention can effectively remove noise in a communication message during a message reconfiguration process.

본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 다양한 실시예에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법에 대한 개념도이다.
도 2는 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 예측된 결과의 적층에 대한 개념도이다.
도 4는 본 발명의 다양한 실시예에 따른 분기 적층 방법에 대한 개념도이다.
도 5는 본 발명의 다양한 실시예에 따른 오래된 예측 값의 삭제에 대한 예시도이다.
도 6은 본 발명의 다양한 실시예에 따른 예측 분기 레벨에 대한 개념도이다.
도 7은 본 발명의 다양한 실시예에 따른 어간 크기 조절에 대한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 예측 정확도에 대한 그래프이다.
In order to more fully understand the drawings cited in the present specification, a brief description of each drawing is provided.
1 is a conceptual diagram of an apparatus and method for analyzing communication messages using a circulatory neural network according to various embodiments of the present invention.
2 is a block diagram showing a configuration of an apparatus for analyzing a communication message according to various embodiments of the present disclosure.
3 is a conceptual diagram of stacking of predicted results according to various embodiments of the present disclosure.
4 is a conceptual diagram of a branch stacking method according to various embodiments of the present disclosure.
5 is an exemplary diagram for deletion of old prediction values according to various embodiments of the present disclosure.
6 is a conceptual diagram of a prediction branch level according to various embodiments of the present disclosure.
7 is an exemplary diagram for adjusting the size of a stem according to various embodiments of the present disclosure.
8 is a graph of prediction accuracy according to an embodiment of the present invention.

본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technical idea of the present invention is that various changes may be made and various embodiments may be provided. Specific embodiments are illustrated in the drawings and will be described in detail through detailed description. However, this is not intended to limit the technical idea of the present invention to a specific embodiment, it should be understood to include all changes, equivalents, and substitutes included in the scope of the technical idea of the present invention.

본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the technical idea of the present invention, when it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, numbers (eg, first, second, etc.) used in the description of the present specification are merely identification symbols for distinguishing one component from another component.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in the present specification, when one component is referred to as "connected" or "connected" to another component, the one component may be directly connected or directly connected to the other component, but specially It should be understood that as long as there is no opposing substrate, it may be connected or may be connected via another component in the middle.

또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processor), 어플리케이션 프로세서(Application Processor), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, terms such as "~ unit", "~ group", "~ character", and "~ module" described in the present specification mean a unit that processes at least one function or operation, which is a processor or microcomputer. Processor (Micro Processor), Application Processor (Application Processor), Micro Controller (Micro Controller), CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerate Processor Unit), DSP (Digital Signal Processor), ASIC ( Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), etc. may be implemented in hardware or software, or a combination of hardware and software.

그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, it is intended to clarify that the division of the constituent parts in the present specification is merely divided by the main function that each constituent part is responsible for. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more according to more subdivided functions. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to its own main function, and some of the main functions of each constituent unit are different. It goes without saying that it may be performed exclusively by.

이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.Hereinafter, embodiments according to the technical idea of the present invention will be sequentially described in detail.

도 1은 본 발명의 다양한 실시예에 따른 순환신경망을 이용한 통신 메시지 해석 장치 및 그 방법에 대한 개념도이다.1 is a conceptual diagram of an apparatus and method for analyzing communication messages using a circulatory neural network according to various embodiments of the present invention.

도 1을 참조하면, 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치(100)는 다양한 프로토콜을 따르는 통신 메시지들을 입력받을 수 있고, 입력된 통신 메시지들을 해석하여 출력할 수 있다. 특히, 본원 발명은 수신되는 통신 메시지에 대한 프로토콜 해석기 없이, 순환신경망 모델과 텍스트 마이닝 요소를 결합한 과정 및 구성을 통해, 수신된 통신 메시지에 대한 예측을 수행할 수 있고 통신 메시지를 해석할 수 있다.Referring to FIG. 1, the apparatus 100 for analyzing a communication message according to various embodiments of the present invention may receive communication messages according to various protocols, and may interpret and output the input communication messages. In particular, the present invention can predict the received communication message and interpret the communication message through the process and configuration of combining the cyclic neural network model and the text mining element without a protocol interpreter for the received communication message.

구체적으로, 통신 메시지 해석 장치(100)는 복수의 기기들, 예를 들면 IoT 기기들로부터 전송되는 통신 메시지에 포함된, 복수의 입력 문자(letter)를 포함하는 스트림을 입력받을 수 있다. 통신 메시지 해석 장치(100)는 입력되는 스트림을 문자 단위로 입력받을 수 있다.Specifically, the communication message analysis apparatus 100 may receive a stream including a plurality of input letters included in a communication message transmitted from a plurality of devices, for example, IoT devices. The communication message analyzing apparatus 100 may receive an input stream in character units.

통신 메시지 해석 장치(100)는 입력 문자에 따라 예측되는 결과를 산출하고, 산출된 결과를 입력되는 스트림에 따른 문자들과 비교할 수 있다. 그리고 통신 메시지 해석 장치(100)는 비교 결과를 기초로 예측 결과와 입력된 문자들이 동일하면 예측 단어를 저장하고, 해석된 결과로 출력할 수 있다.The communication message analysis apparatus 100 may calculate a result predicted according to the input character, and compare the calculated result with characters according to the input stream. In addition, if the prediction result and the input characters are the same based on the comparison result, the communication message analysis apparatus 100 may store the prediction word and output the analyzed result.

통신 메시지 해석 장치(100)는 비교 결과를 기초로, 예측 단어와 입력된 문자들이 동일하지 않으면, 예측 결과는 스택(stack)에 저장하고, 동일하지 않은 지점에서부터 분기되는 새로운 예측 결과를 산출할 수 있다.The communication message analysis apparatus 100 may store the prediction result in a stack, and calculate a new prediction result branching from a point that is not the same, if the prediction word and the input characters are not the same based on the comparison result. have.

통신 메시지 해석 장치(100)는 정의된 분기 예측 수준 내에서 상술한 과정을 반복할 수 있고, 이 과정을 통해 입력된 통신 메시지에 대한 프로토콜 해석기 없이, 통신 메시지를 해석할 수 있다. The communication message analysis apparatus 100 may repeat the above-described process within the defined branch prediction level, and interpret the communication message without a protocol interpreter for the communication message input through this process.

도 2는 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치(100)의 구성을 나타내는 블록도이다.2 is a block diagram showing the configuration of a communication message analysis apparatus 100 according to various embodiments of the present invention.

도 2를 참조하면, 메시지 해석 장치(100)는 프로세서(110) 및 메모리(130)를 포함할 수 있다. Referring to FIG. 2, the message interpretation apparatus 100 may include a processor 110 and a memory 130.

프로세서(110)은 적어도 하나의 프로세서를 포함할 수 있다. The processor 110 may include at least one processor.

프로세서(110)는 입력된 통신 메시지에 포함된 문자들에 대해 예측되는 결과를 산출할 수 있고, 산출된 예측 결과를 입력되는 문자들과 비교할 수 있다. 그리고 프로세서(110)는 예측 결과와 입력되는 문자와의 비교를 통해, 예측되는 결과에 대해, 입력되는 문자와 동일하지 않은 지점에서부터 분기되는 새로운 예측 결과를 산출할 수 있다.The processor 110 may calculate a predicted result for the characters included in the input communication message, and may compare the calculated predicted result with the input characters. Further, the processor 110 may calculate a new prediction result branching from a point that is not the same as the input character for the predicted result by comparing the prediction result with the input character.

프로세서(110)는 예측 결과들을 스택(stack)에 저장할 수 있고, 설정된 기준에 따라 스택에 저장된 예측 결과를 삭제할 수 있다.The processor 110 may store prediction results in a stack, and may delete prediction results stored in the stack according to a set criterion.

프로세서(110)는 상술한 분기 예측의 수준인 최소 분기 예측 수준(minimum prediction fork level), 반복 예측 횟수를 계산하고 적용할 수 있다. The processor 110 may calculate and apply a minimum prediction fork level and a number of repetition predictions, which are levels of the aforementioned branch prediction.

프로세서(110)는 예측된 결과가 입력되는 문자와 일치하면, 일치하는 단어를 출력할 수 있다.When the predicted result matches an input character, the processor 110 may output a matching word.

메모리(130)는 상술한 통신 메시지 해석 장치(100)의 동작과 관련된 다양한 데이터를 저장할 수 있다. The memory 130 may store various data related to the operation of the communication message analyzing apparatus 100 described above.

메모리(130)는 스토리지(storage)를 포함할 수 있다.The memory 130 may include storage.

통신 메시지 해석 장치(100)는 하나의 장치로 구현될 수 있고, 복수의 장치로도 구현될 수 있다. The apparatus 100 for analyzing communication messages may be implemented as one device, or may be implemented as a plurality of devices.

상술한 구성 이외에도, 통신 메시지 해석 장치(100)는 다양한 구성을 포함할 수 있다.In addition to the above-described configuration, the communication message analyzing apparatus 100 may include various configurations.

통신 메시지 해석 장치(100)는 다양한 장치일 수 있다. 예를 들면, 통신 메시지 해석 장치(100)는 다양한 IoT 장치들로부터 데이터를 수신하는 장치일 수 있고, 서버일 수도 있다.The communication message analyzing apparatus 100 may be a variety of devices. For example, the communication message analysis device 100 may be a device that receives data from various IoT devices, or may be a server.

설명의 용이함을 위해, 상술한 통신 메시지 해석 장치(100)에 대해, 이하 장치(100)로 설명하기로 한다. For ease of explanation, the above-described communication message analyzing apparatus 100 will be described as the apparatus 100 below.

이하, 본 발명의 다양한 실시예에 따른 통신 메시지 해석 장치 및 그 방법에 대해 자세히 설명한다.Hereinafter, an apparatus and method for analyzing a communication message according to various embodiments of the present invention will be described in detail.

본 발명의 기본이 되는 모델은 다 대 다(many-to-many) 방식의 순환신경망(Recurrent Neural Network)이다. The basic model of the present invention is a many-to-many recurrent neural network.

본 발명의 다양한 실시예에 따른 장치(100)는 통신 메시지에 대한 메시지순환데이터를 입력 문자(input letters)로 사용하여, 출력 문자(output letters)를 얻을 수 있다. 여기서 입력 문자는 byte나 ASCII와 같은 값을 사용할 수 있다.The apparatus 100 according to various embodiments of the present disclosure may obtain output letters by using message circulation data for a communication message as input letters. Here, the input character can use a value such as byte or ASCII.

장치(100)는 입력 문자에 따라 예측한 결과를 스택(stack)에 저장할 수 있다.The device 100 may store a prediction result according to an input character in a stack.

도 3을 참조하면, 장치(100)는 입력 문자에 따라 예측한 결과인 예측한 문자(letter)를 스택(stack)에 저장할 수 있다. Referring to FIG. 3, the device 100 may store a predicted letter, which is a result of prediction according to an input character, in a stack.

장치(100)는 저장된 예측 문자가 다음 입력 문자와 일치하는지 확인할 수 있다. 그리고 장치(100)는 저장된 예측 문자와 다음 입력 문자가 일치하면, 순차적으로 다음에 입력되는 문자와 일치하는지 확인할 수 있다.The device 100 may check whether the stored prediction character matches the next input character. In addition, when the stored prediction character and the next input character match, the device 100 may check whether the stored prediction character matches the next input character in sequence.

구체적인 일 실시예로, 장치(100)는 첫번째 문자로 예측된 예측 문자의 두번째 문자가, 입력된 두번째 문자와 일치하는지 확인할 수 있다. In a specific embodiment, the device 100 may check whether the second character of the predicted character predicted as the first character matches the input second character.

장치(100)는 예측 문자와 다음 입력 문자가 일치하면, 순환신경망의 학습 과정을 진행할 수 있다.When the predicted character and the next input character match, the device 100 may perform a learning process of the circulatory neural network.

장치(100)는 예측 문자와 다음 입력 문자가 일치하지 않으면, 해당 지점에서 분기를 나누어서 진행할 수 있다.If the predicted character and the next input character do not match, the device 100 may divide the branch at the corresponding point and proceed.

구체적으로, 장치(100)는 예측 문자와 다음 입력 문자가 일치하지 않으면, 해당 예측 문자를 다른 예측 문자로 갱신하거나 덮어쓰지 않고, 일치하지 않은 지점에서 분기를 나누어서 진행할 수 있다.Specifically, if the predicted character and the next input character do not match, the device 100 may not update or overwrite the corresponding predicted character with another predicted character, and may divide and proceed by dividing a branch at a point that does not match.

도 4를 참조하면, 장치(100)는 예측 결과와 입력 문자의 비교를 통해, 동일하지 않으면 해당 분기에서 새로운 예측 결과를 적층할 수 있다.Referring to FIG. 4, the apparatus 100 may stack a new prediction result in a corresponding branch if the prediction result is not the same through comparison between the prediction result and the input character.

예를 들어, 장치(100)는 두번째 입력 문자가 일치하지 않은 경우, 이전에 예측된 예측 문자를 스택에 남겨둔 상태로, 두번째 입력 문자를 통해 예측되는 새로운 예측 문자를 스택에 추가할 수 있다. 그래서 처음 분기가 나누어진 경우에는, 스택에는 총 2개의 예측 문자가 존재할 수 있다. 장치(100)는 분기가 나누어진 상태에서, 세번째 입력 문자를 2개의 예측 문자와 비교할 수 있고, 일치하는지 확인할 수 있다. 장치(100)는 스택에 저장된 예측 문자 중 입력되는 문자와 일치하는 예측 결과를 확인하면, 이에 해당하는 새로운 예측 결과를 만들어서 스택에 저장할 수 있다. 장치(100)는 스택에 저장된 예측 문자 중 입력되는 문자와 일치하는 예측 결과가 없으면, 해당 지점에서 분기를 추가할 수 있다. 장치(100)는 이와 같은 과정을 통해, 문자(letter)를 입력받아 단어(word)를 예측할 수 있다. 그리고 장치(100)는 단어(word)가 완성되면 미리 정의된 기호를 출력할 수 있고, 완성된 단어를 저장하고 스택에서 제거할 수 있다. 그리고 장치(100)는 새로운 예측을 진행할 수 있다.For example, if the second input characters do not match, the apparatus 100 may add a new predicted character predicted through the second input character to the stack while leaving the previously predicted predicted character on the stack. So, if the first branch is divided, there can be a total of two predicted characters in the stack. The device 100 may compare the third input character with the two predicted characters in a state in which the branches are divided, and check whether they match. When the device 100 checks a prediction result that matches the input character among the prediction characters stored in the stack, the apparatus 100 may generate a new prediction result corresponding to the prediction result and store it in the stack. If there is no prediction result that matches the input character among the prediction characters stored in the stack, the device 100 may add a branch at a corresponding point. The device 100 may predict a word by receiving a letter through such a process. In addition, when a word is completed, the device 100 may output a predefined symbol, store the completed word, and remove it from the stack. In addition, the device 100 may perform a new prediction.

일반적인 순환신경망 모델은 예측 결과와 다음 입력 데이터(input data)가 일치하지 않은 경우에는 모델 트레이닝 과정에서 학습이 충분히 이루어지지 않았다고 보거나, 테스트 데이터가 특이치(outlier)인 것으로 해석하였다. In a general circulatory neural network model, if the prediction result and the next input data did not match, it was considered that the training was not sufficiently performed during the model training process, or the test data were interpreted as outliers.

신뢰도가 높은 네트워크인 경우에는 상술한 일반적인 순환신경망 모델에 따른 해석으로도 효과적인 모델을 만들 수 있다. 하지만 IoT 네트워크처럼 신뢰도가 낮은 통신 환경, 다양한 프로토콜이 혼재되어 있는 상황에서 메시지의 구조를 모르는 경우에는 일반적인 순환신경망 모델로는 한계가 존재한다.In the case of a network with high reliability, an effective model can be created even by an analysis according to the general circulatory neural network model described above. However, when the structure of a message is unknown in a low-reliability communication environment such as an IoT network or a situation where various protocols are mixed, there is a limitation with a general cyclic neural network model.

예를 들면, 단어를 구성하는 문자들(letters)은 유사하지만 뜻이 전혀 관련 없는 단어도 잡음에 의해 추측될 수 있고, 프로토콜이 2개 이상인 경우에는 반드시 이를 해석해서 사용해야만 한다는 제약이 있다.For example, a word that has similar letters (letters) but has no meaning at all can be guessed by noise, and if there are two or more protocols, there is a limitation that it must be interpreted and used.

다양한 실시예에 따른 본 발명은, 예측 값이 입력 데이터와 일치하지 않아도, 예측 값을 분기 스택에 저장하여 분기마다 다음 스텝에서 예측을 반복 수행할 수 있고 입력 데이터와 비교할 수 있어서, 신뢰도가 낮은 통신 환경에서 발생하는 잡음이나 불필요한 정보들을 걸러낼 수 있다. According to various embodiments of the present invention, even if the predicted value does not match the input data, the predicted value can be stored in a branch stack to repeat the prediction in the next step for each quarter and compared with the input data. Noise or unnecessary information generated in the environment can be filtered out.

이와 같이, 본 발명은 분기 예측이라는 방법을 통해, 예측 가짓수를 늘릴 수 있고, 이후의 예측 값으로부터 분기 중 유용한 분기를 선택하는 과정을 포함할 수 있다. As described above, the present invention may increase the number of predicted gadgets through a method called branch prediction, and may include a process of selecting a useful branch among branches from a later predicted value.

한편, 본 발명은 순환신경망 모델에서, 스택에 저장되는 예측 결과들을 무한하게 저장하지 않으며, 저장한 예측 결과는 미리 정의된 예측 횟수 내에서 입력 데이터와의 정합성을 검토하고, 예측 횟수 내에서 입력 데이터와의 정합성이 확인되지 않으면 해당 예측 결과를 스택에서 삭제할 수 있다. 이에 따라 본 발명은 잡음으로 인해, 불필요한 예측 결과가 스택에 오래 남아 있는 것을 방지할 수 있다. Meanwhile, the present invention does not infinitely store the prediction results stored in the stack in the circulatory neural network model, and the stored prediction results are reviewed for consistency with input data within a predefined number of predictions, and input data within the number of predictions. If the match is not confirmed, the prediction result can be deleted from the stack. Accordingly, the present invention can prevent unnecessary prediction results from remaining in the stack for a long time due to noise.

구체적으로, 본 발명의 다양한 실시예에 따른 장치(100)는 스택에 저장된 예측 결과가 일정 횟수 이상 일치하지 않는 경우에는 해당 예측 결과를 버릴 수 있다. 예를 들면, 장치(100)는 네트워크의 통신 신뢰도에 따라, 스택에 저장된 예측 결과가 일정 횟수 이상 일치하지 않는 경우에는 해당 예측 결과를 버릴 수 있다. Specifically, the apparatus 100 according to various embodiments of the present disclosure may discard the prediction result if the prediction result stored in the stack does not match more than a predetermined number of times. For example, according to the communication reliability of the network, if the prediction result stored in the stack does not match more than a certain number of times, the device 100 may discard the prediction result.

다른 예로, 도 5에 도시된 것과 같이, 장치(100)는 스택에 저장된 시간, 예를 들면 대기 시간(waiting time)에 따라 예측 결과를 삭제할 수 있다. 이에 따라 장치(100)는 오래된 예측 값을 삭제할 수 있다.As another example, as illustrated in FIG. 5, the device 100 may delete the prediction result according to a time stored in the stack, for example, a waiting time. Accordingly, the device 100 may delete the old prediction value.

본 발명은 상술한 구조를 통해 입력 문자(input letter)가 들어올 때마다 스택에 저장된 예측 결과와 비교하고, 일치하는 결과에 더해가는 방식으로 단어를 만들 수 있다. 그래서 본 발명은 통신 메시지를 전송하는 장치(예를 들면, IoT 장치)의 프로토콜이나 잡음에 상관없이, 사용자가 원하는 정보를 얻을 수 있다. 그리고 본 발명에서 예측되는 각 예측 결과들은 스택에 저장된 다른 예측 결과들에 영향을 미치지 않는 병렬 구조를 가질 수 있다. 그래서 본 발명은 모델 구성 요소를 GRU(Gated Recurrent Unit)이나 LSTM(Long-Short Term Memory)의 형태로 구성하더라도 스택의 형태를 지켜준다면 성능을 보장할 수 있다. 이는 본 발명에 따른 모델의 핵심 구성 요소가 비교적 단순한 메커니즘으로 구성되었기 때문이다.According to the present invention, each time an input letter comes in, a word can be created by comparing the prediction result stored in the stack and adding to the matching result through the above-described structure. Therefore, in the present invention, regardless of the protocol or noise of a device (eg, an IoT device) transmitting a communication message, the user can obtain desired information. In addition, each prediction result predicted in the present invention may have a parallel structure that does not affect other prediction results stored in the stack. Therefore, in the present invention, even if the model component is configured in the form of a GRU (Gated Recurrent Unit) or LSTM (Long-Short Term Memory), performance can be guaranteed if the form of the stack is maintained. This is because the core components of the model according to the present invention are composed of a relatively simple mechanism.

본 발명에 따른 해석 모델에서, 다중 스택이 발생하는 경우는 분기 예측이 일어날 때이다. 통신 메시지에는 다양한 키워드들이 존재할 수 있으며, 예측 값의 다양성을 보장하기 위해서는 분기의 수를 일정 수 이상 보장하여야 한다. 이에 따라 본 발명의 다양한 실시예에 따른 장치(100)는 분기가 일어나는 최소 수준을 정할 수 있다. 이를 최소 분기 예측 수준(minimum prediction fork level)이라고 할 수 있다. 최소 분기 예측 수준은 메시지의 해석을 통해 구축하는 키워드 사전 (keyword dictionary)의 크기와 관련 있을 수 있고, 키워드 사전은 키워드 사전은 본 발명에서 예측의 결과로 얻어낼 수 있는 단어들의 모음을 말한다. 키워드 사전은 본 발명에 따른 해석 모델을 학습시키기 전에 메시지에 잘 나타나고 의미를 가진 높은 키워드로 초기 사전을 구성하며, 학습 중에 발견된 키워드를 추가하여 사전의 크기가 가변적으로 변할 수 있다. 키워드 사전 안의 키워드들 중 전혀 다른 문자들(letters)로 구성된 단어도 있지만, 유사한 문자(letter)의 순서로 구성된 단어도 있을 수 있다. In the analysis model according to the present invention, the occurrence of multiple stacks is when branch prediction occurs. Various keywords can exist in the communication message, and the number of branches must be guaranteed over a certain number to ensure diversity of predicted values. Accordingly, the device 100 according to various embodiments of the present disclosure may determine the minimum level at which branching occurs. This may be referred to as a minimum prediction fork level. The minimum branch prediction level may be related to the size of a keyword dictionary built through the interpretation of a message, and the keyword dictionary refers to a collection of words that can be obtained as a result of prediction in the present invention. The keyword dictionary constitutes an initial dictionary with keywords that appear well in a message and has a high meaning before learning the interpretation model according to the present invention, and the size of the dictionary may change variably by adding keywords found during learning. Some of the keywords in the keyword dictionary are composed of completely different letters, but there may be words composed of a sequence of similar letters.

한편, 순환신경망 모델의 특성상 입력이 전부 동일한 패턴을 가지지만 출력이 전혀 다른 값이 있다면 예측하기 어려운 문제가 있다. On the other hand, due to the characteristics of the circulatory neural network model, if all inputs have the same pattern but outputs have completely different values, it is difficult to predict.

예를 들면, contact', 'convert', 'confirm'과 같은 단어가 있는 경우, con이라는 입력(input)에 따라 예측 결과가 t, v, f로 출력될 수 있다. 이 경우, 장치(100)는 스택에 분기시킬 수 있는 가능성이 3가지가 된다. 그러므로, 장치(100)는 con이 입력되면, 이후 예측 값이 최소 3개의 분기를 가질 수 있도록 허용할 수 있다. 그래서, 상술한 t, v, f의 가능성을 본 발명에 따른 예측 모델이 모두 받아들일 수 있다.For example, when there are words such as contact','convert', and'confirm', prediction results may be output as t, v, and f according to an input of con. In this case, there are three possibilities that the device 100 can branch to the stack. Therefore, when con is input, the device 100 may allow the predicted value to have at least three branches. Thus, the above-described possibilities of t, v, and f can all be accepted by the prediction model according to the present invention.

여기서 최소 분기 예측 수준의 결정은 예측 모델, 즉 본 발명에 따른 장치(100)에 입력되는 입력(input)에 따라 결정될 수 있다. 입력되는 연속 문자가 길수록 최소 분기 예측 수준을 줄어들 수 있고, 연속 문자가 짧을수록 최소 분기 예측 수준이 커질 수 있다. 여기서 최소 분기 예측 수준을 입력으로 사용하는 연속 문자를 어간(stem)이라고 정의할 수 있다.Here, the determination of the minimum branch prediction level may be determined according to a prediction model, that is, an input input to the apparatus 100 according to the present invention. The longer the input continuous character is, the smaller the minimum branch prediction level may be, and the shorter the continuous character is, the higher the minimum branch prediction level may be. Here, a continuous character using the minimum branch prediction level as an input can be defined as a stem.

도 6을 참조하면, 장치(100)는 어간의 사이즈가 2인 경우의 분기 예측을 생성할 수 있다. 예를 들면, 장치(100)는 in을 어간으로 할 경우, 예측 결과가 c, I, d로 출력할 수 있고, 스택에 분기시킬 수 있다.Referring to FIG. 6, the apparatus 100 may generate a branch prediction when the stem size is 2. For example, when in is the stem, the device 100 may output the prediction results as c, I, and d, and may branch to the stack.

장치(100)는 분기 예측 수준으로부터 반복 예측 횟수를 산출할 수 있다. 예를 들면, 장치(100)는 아래 수학식 1을 이용하여, 반복 예측 횟수를 산출할 수 있다. 이를 통해, 장치(100)는 어간을 가지는 키워드를 반복 예측을 통해 충분히 도출할 수 있는 반복 예측 횟수를 계산할 수 있다.The apparatus 100 may calculate the number of repetitive predictions from the branch prediction level. For example, the device 100 may calculate the number of repetition predictions using Equation 1 below. Through this, the apparatus 100 may calculate the number of repetition predictions that can sufficiently derive a keyword having a stem through repetition prediction.

Figure 112018106209999-pat00001
Figure 112018106209999-pat00001

본 발명에 따른 수학식 1은 분기 예측 수준에 따라 키워드 사전에 포함된, 같은 어간을 가지는 키워드들을 90% 이상 얻을 수 있도록 보장할 수 있다. 어간의 크기는 분기 예측 횟수를 결정하는 결정자이다. Equation 1 according to the present invention can ensure that 90% or more of keywords included in the keyword dictionary and having the same stem can be obtained according to the branch prediction level. The stem size is the determinant of the number of branch predictions.

장치(100)는 수학식 1에 의해 분기 예측 수가 많아질 것으로 예상되면, 어간의 크기를 늘려서 적절한 수준의 분기 예측을 유지하도록 할 수 있다. When the number of branch predictions is expected to increase by Equation 1, the apparatus 100 may increase the size of the stem to maintain the branch prediction at an appropriate level.

예를 들어 도 7을 참조하면, 장치(100)는 입력되는 연속 문자의 길이, 어간을 변경할 수 있다. 예를 들면, 장치(100)는 어간의 길이가 2인 경우에서 어간의 길이가 3인 경우로, 또는 반대로 어간 길이를 변경할 수 있다. 그리고 장치(100)는 변경에 따라, 설정된 어간 길이 각각에 대해 분기 예측을 수행할 수 있다. For example, referring to FIG. 7, the device 100 may change the length and stem of input consecutive characters. For example, the device 100 may change the stem length from the case where the stem length is 2 to the case where the stem length is 3, or vice versa. In addition, according to the change, the device 100 may perform branch prediction for each set stem length.

분기 예측 수준을 줄이기 위해, 어간의 크기를 크게 설정하면 잡음에 대해 취약함이 발생할 수 있다. 예를 들면, 불안정한 IoT 통신 환경의 데이터를 수신하면, 어간의 길이보다 세밀하게 노이즈가 포함되어 있을 수 있어서, 본 발명의 예측 정확도가 떨어질 수 있다.In order to reduce the level of branch prediction, if the stem size is set to be large, vulnerability to noise may occur. For example, when data of an unstable IoT communication environment is received, noise may be contained more precisely than the length of a stem, and thus the prediction accuracy of the present invention may be degraded.

한편, 상술한 것과 같이, 장치(100)의 스택에 예측 결과를 유지하는 정도가 중요하다. 본 발명을 적용한 실험에 따르면, 스택에 유지되는 예측 결과는 네트워크(예를 들면, IoT 네트워크)의 통신 신뢰도에 따라 정의하는 것이 바람직하다. 실험 결과로는 1~3 스텝 (1스텝은 입력 문자(input letter) 하나에 예측 값이 한번 발생하는 단위) 사이에서, 스택 유지 수를 정하면 대부분의 잡음을 제거할 수 있었다. 만약 통신이 이루어지는 환경이 간섭이 자주 발생하거나, 동일 주파수 대역을 사용하는 센서나 전자기기가 많이 섞여 있는 경우에는 장치(100)의 스택에 대기하는 시간을 늘려주는 것이 바람직하다. 하지만 스택 유지 정도를 너무 길게 하면, 스택에 많은 예측 결과들이 쌓이게 된다. 이는 메모리적인 손실을 발생시키며, 새로운 입력 문자(input letter)를 매번 비교하도록 해서, 불필요한 컴퓨팅 파워를 소모하게 만든다. 따라서 본 발명의 장치(100)에 입력되는 통신 메시지의 통신 환경 알맞은 스택의 대기 시간을 정의하는 것이 중요할 수 있다.Meanwhile, as described above, the degree to which the prediction result is maintained in the stack of the device 100 is important. According to an experiment to which the present invention is applied, it is preferable to define the prediction result maintained in the stack according to the communication reliability of the network (eg, IoT network). As a result of the experiment, it was possible to remove most of the noise by setting the number of stacks between 1 and 3 steps (1 step is a unit in which a predicted value occurs once per input letter). If interference occurs frequently in the communication environment, or when many sensors or electronic devices using the same frequency band are mixed, it is desirable to increase the waiting time in the stack of the device 100. However, if you keep the stack too long, many prediction results will be accumulated on the stack. This incurs a memory loss and makes it possible to compare new input letters each time, consuming unnecessary computing power. Therefore, it may be important to define a waiting time of a stack suitable for a communication environment of a communication message input to the apparatus 100 of the present invention.

도 8을 참조하면, 본 발명의 장치(100)에 대한 분기 예측 수준에 따른 해석 모델의 예측 정확도에 대한 실험 결과를 확인할 수 있다. 해당 실험은 단어의 숫자를 100개로 정의하였다. 장치(100)의 분기 예측 수준을 1에서 10까지 적용해 볼 수 있도록 키워드 사전을 구성하여 실험한 결과, 분기 예측 수준이 높아져도 90% 이상의 정확도를 가지고 단어를 추출하였다는 결과를 얻을 수 있었다. 이에 따라, 키워드 사전에 분기 예측 수준이 높아지더라도, 본 발명은 효과적으로 통신 메시지의 키워드들을 검출할 수 있다는 것을 확인할 수 있다.Referring to FIG. 8, an experiment result of prediction accuracy of an analysis model according to a branch prediction level for the apparatus 100 of the present invention can be confirmed. This experiment defined the number of words as 100. As a result of experimenting by configuring a keyword dictionary so that the branch prediction level of the device 100 can be applied from 1 to 10, it was possible to obtain a result that words were extracted with an accuracy of 90% or more even when the branch prediction level was increased. Accordingly, it can be confirmed that even if the branch prediction level in the keyword dictionary is increased, the present invention can effectively detect keywords of a communication message.

본 발명은 복수의 프로토콜이 함께 사용되는 경우에도, 각 프로토콜에 대한 메시지 구조를 파악하지 않아도 통신이 가능한 장점이 있다. In the present invention, even when a plurality of protocols are used together, communication is possible without knowing a message structure for each protocol.

또한, 본 발명은 통신 메시지에서 원하는 정보 이외의 다른 정보를 제거할 수 있어서, 불필요한 정보, 불필요한 잡음을 제거할 수 있다. 여기서 불필요한 정보는 프로토콜의 구조가 가지고 있는 헤더 등을 의미할 수 있다. 이러한 불필요한 정보는 사용자가 원하는 결과가 아니며, 통신 메시지를 해석하는 것을 어렵게 할 수 있다. 따라서, 본 발명은 다른 프로토콜을 가지는 센서가 있더라도, 이에 대한 부가적인 해석 없이 필요한 정보를 얻을 수 있다. In addition, since the present invention can remove information other than desired information from a communication message, unnecessary information and unnecessary noise can be removed. In this case, unnecessary information may refer to a header of the protocol structure. Such unnecessary information is not a result desired by the user and may make it difficult to interpret the communication message. Accordingly, in the present invention, even if there is a sensor having a different protocol, necessary information can be obtained without additional interpretation.

이상, 본 발명의 기술적 사상을 다양한 실시 예들을 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시 예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.In the above, the technical idea of the present invention has been described in detail with reference to various embodiments, but the technical idea of the present invention is not limited to the above embodiments, and those of ordinary skill in the art within the scope of the technical idea of the present invention Various modifications and changes are possible by this.

Claims (16)

적어도 하나의 프로세서에 의해 수행되는 통신 메시지 해석 방법에 있어서,
전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받는 단계;
상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하는 단계;
상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하는 단계;
상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하는 단계;
상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하는 단계; 및
상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하는 단계를 포함하는
통신 메시지 해석 방법.
In the communication message interpretation method performed by at least one processor,
Receiving a stream including a plurality of input characters included in the transmitted communication message;
Calculating a first prediction result that is a result predicted according to the first character of the stream;
Comparing the calculated first prediction result with a second character of the stream;
Based on the comparison result with the first prediction result, if the calculated first prediction result and the second character are not the same, a second prediction result branching from a point that is not identical is calculated, and the first prediction result is Storing in a first stack;
Comparing the calculated second prediction result with the second character; And
Based on the comparison result with the second prediction result, if the calculated second prediction result and the second character are not identical, a third prediction result branching from the non-identical point is calculated, and the second prediction result Storing as a second stack
How to interpret communication messages.
제1항에 있어서,
상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하는 단계를 더 포함하는
통신 메시지 해석 방법.
The method of claim 1,
If the first prediction result or the second prediction result is the same as the plurality of input characters, storing the same prediction result as a completed word.
How to interpret communication messages.
제2항에 있어서,
상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하는 단계를 더 포함하는
통신 메시지 해석 방법.
The method of claim 2,
Further comprising the step of deleting the stack of prediction results stored as the completed word
How to interpret communication messages.
제1항에 있어서,
상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하는 단계를 더 포함하는
통신 메시지 해석 방법.
The method of claim 1,
With respect to the prediction result calculated for the input character, if the number of stacks of a plurality of prediction results branched at the same point exceeds a reference value, deleting the excess number of stacks.
How to interpret communication messages.
제4항에 있어서,
상기 초과된 수의 스택을 삭제하는 단계는
상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하는 단계를 포함하는
통신 메시지 해석 방법.
The method of claim 4,
The step of deleting the excess number of stacks
Including the step of deleting the excess number of stacks based on a waiting time (waiting time) of the stacks of the plurality of prediction results
How to interpret communication messages.
제4항에 있어서,
상기 초과된 수의 스택을 삭제하는 단계는
상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하는 단계를 포함하는
통신 메시지 해석 방법.
The method of claim 4,
The step of deleting the excess number of stacks
Including the step of deleting the stack of the plurality of prediction results in which the comparison result with the input character does not match more than a predetermined number of times.
How to interpret communication messages.
제1항에 있어서,
상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하는 단계; 및
상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하는 단계를 더 포함하는
통신 메시지 해석 방법.
The method of claim 1,
Calculating a minimum branch prediction level for the number of prediction results branched at one point with respect to the prediction result predicted according to the input character; And
Based on the calculated minimum branch prediction level, the step of calculating a plurality of prediction results that are results predicted according to the input character
How to interpret communication messages.
제7항에 있어서,
상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하는 단계를 더 포함하는
통신 메시지 해석 방법.
The method of claim 7,
Using the calculated minimum branch prediction level, the step of adjusting the number of stems, which are consecutive characters used as inputs, is further included.
How to interpret communication messages.
적어도 하나의 프로세서; 및
상기 프로세서에 전기적으로 연결된 메모리를 포함하고,
상기 메모리는, 상기 프로세서가 실행 시에,
전송된 통신 메시지에 포함된, 복수의 입력 문자를 포함하는 스트림을 입력받고,
상기 스트림의 첫번째 문자에 따라 예측되는 결과인 제1 예측 결과를 산출하고,
상기 산출된 제1 예측 결과를 상기 스트림의 두번째 문자와 비교하고,
상기 제1 예측 결과와의 비교 결과를 기초로, 상기 산출된 제1 예측 결과와 상기 두번째 문자가 동일하지 않으면, 동일하지 않은 지점에서부터 분기되는 제2 예측 결과를 산출하고, 상기 제1 예측 결과를 제1 스택(stack)으로 저장하고,
상기 산출된 제2 예측 결과를 상기 두번째 문자와 비교하고,
상기 제2 예측 결과와의 비교 결과를 기초로, 상기 산출된 제2 예측 결과와 상기 두번째 문자가 동일하지 않으면, 상기 동일하지 않은 지점에서부터 분기되는 제3 예측 결과를 산출하고, 상기 제2 예측 결과를 제2 스택으로 저장하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
At least one processor; And
Comprising a memory electrically connected to the processor,
The memory, when the processor is executed,
Receives a stream including a plurality of input characters included in the transmitted communication message,
Calculate a first prediction result that is a result predicted according to the first character of the stream,
Compare the calculated first prediction result with a second character of the stream,
Based on the comparison result with the first prediction result, if the calculated first prediction result and the second character are not the same, a second prediction result branching from a point that is not identical is calculated, and the first prediction result is Save as the first stack,
Comparing the calculated second prediction result with the second character,
Based on the comparison result with the second prediction result, if the calculated second prediction result and the second character are not identical, a third prediction result branching from the non-identical point is calculated, and the second prediction result To store instructions that cause it to be stored as a second stack
Message interpretation device.
제9항에 있어서,
상기 메모리는, 상기 프로세서가 실행 시에,
상기 제1 예측 결과 또는 상기 제2 예측 결과가 상기 복수의 입력 문자와 동일하면, 동일한 예측 결과를 완성된 단어로 저장하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
The method of claim 9,
The memory, when the processor is executed,
If the first prediction result or the second prediction result is the same as the plurality of input characters, storing instructions for storing the same prediction result as a completed word
Message interpretation device.
제10항에 있어서,
상기 메모리는, 상기 프로세서가 실행 시에,
상기 완성된 단어로 저장된 예측 결과의 스택을 삭제하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
The method of claim 10,
The memory, when the processor is executed,
Storing instructions for deleting the stack of prediction results stored in the completed word
Message interpretation device.
제9항에 있어서,
상기 메모리는, 상기 프로세서가 실행 시에,
상기 입력 문자에 대해 산출되는 예측 결과에 대해, 동일한 지점에서 분기된, 복수의 예측 결과의 스택(stack) 수가 기준 값을 초과하면, 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
The method of claim 9,
The memory, when the processor is executed,
For the prediction result calculated for the input character, if the number of stacks of a plurality of prediction results branched at the same point exceeds a reference value, storing instructions for deleting the excess number of stacks
Message interpretation device.
제12항에 있어서,
상기 메모리는, 상기 프로세서가 실행 시에,
상기 복수의 예측 결과의 스택 중 대기 시간(waiting time)을 기준으로, 상기 초과된 수의 스택을 삭제하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
The method of claim 12,
The memory, when the processor is executed,
Storing instructions for deleting the excess number of stacks based on a waiting time among the stacks of the plurality of prediction results
Message interpretation device.
제12항에 있어서,
상기 메모리는, 상기 프로세서가 실행 시에,
상기 복수의 예측 결과의 스택 중 상기 입력 문자와의 비교 결과가 일정 횟수 이상 일치하지 않는 스택을 삭제하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
The method of claim 12,
The memory, when the processor is executed,
Storing instructions for deleting a stack in which the comparison result with the input character does not match more than a predetermined number of stacks of the plurality of prediction results
Message interpretation device.
제9항에 있어서,
상기 메모리는, 상기 프로세서가 실행 시에,
상기 입력 문자에 따라 예측되는 예측 결과에 대해 하나의 지점에서 분기되는 예측 결과의 수에 대한 최소 분기 예측 레벨을 산출하고,
상기 산출된 최소 분기 예측 레벨을 기초로, 상기 입력되는 문자에 따라 예측되는 결과인 복수의 예측 결과를 산출하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
The method of claim 9,
The memory, when the processor is executed,
For the prediction result predicted according to the input character, a minimum branch prediction level is calculated for the number of prediction results branched at one point,
Storing instructions for calculating a plurality of prediction results, which are results predicted according to the input character, based on the calculated minimum branch prediction level.
Message interpretation device.
제15항에 있어서,
상기 메모리는, 상기 프로세서가 실행 시에,
상기 산출된 최소 분기 예측 레벨을 이용하여, 입력으로 사용하는 연속 문자인 어간(stem)의 수를 조절하도록 하는 인스트럭션들을 저장하는
메시지 해석 장치.
The method of claim 15,
The memory, when the processor is executed,
Using the calculated minimum branch prediction level, storing instructions for adjusting the number of stems that are consecutive characters used as inputs
Message interpretation device.
KR1020180129185A 2018-10-26 2018-10-26 Apparatus and method for interpreting communication message based on recurrent neural network and fork prediction KR102177741B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180129185A KR102177741B1 (en) 2018-10-26 2018-10-26 Apparatus and method for interpreting communication message based on recurrent neural network and fork prediction
PCT/KR2018/014463 WO2020085567A1 (en) 2018-10-26 2018-11-22 Apparatus for understanding communication message by using recurrent neural network, and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180129185A KR102177741B1 (en) 2018-10-26 2018-10-26 Apparatus and method for interpreting communication message based on recurrent neural network and fork prediction

Publications (2)

Publication Number Publication Date
KR20200047124A KR20200047124A (en) 2020-05-07
KR102177741B1 true KR102177741B1 (en) 2020-11-11

Family

ID=70330627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180129185A KR102177741B1 (en) 2018-10-26 2018-10-26 Apparatus and method for interpreting communication message based on recurrent neural network and fork prediction

Country Status (2)

Country Link
KR (1) KR102177741B1 (en)
WO (1) WO2020085567A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006181173A (en) 2004-12-28 2006-07-13 Konica Minolta Medical & Graphic Inc Patient information sorting device and program
US20080275837A1 (en) 2007-05-01 2008-11-06 Lambov Branimir Z Method and system for approximate string matching
KR100891358B1 (en) 2005-10-20 2009-04-01 (주)트루시스템 System and its method for inputting character by predicting character sequence of user's next input

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4215418B2 (en) * 2001-08-24 2009-01-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Word prediction method, speech recognition method, speech recognition apparatus and program using the method
CN102027534B (en) * 2008-05-16 2013-07-31 日本电气株式会社 Language model score lookahead value imparting device and method for the same
US9298274B2 (en) * 2012-07-20 2016-03-29 Microsoft Technology Licensing, Llc String predictions from buffer
KR101922795B1 (en) * 2017-02-17 2019-02-20 박상준 Apparatus and method for providing of IoT service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006181173A (en) 2004-12-28 2006-07-13 Konica Minolta Medical & Graphic Inc Patient information sorting device and program
KR100891358B1 (en) 2005-10-20 2009-04-01 (주)트루시스템 System and its method for inputting character by predicting character sequence of user's next input
US20080275837A1 (en) 2007-05-01 2008-11-06 Lambov Branimir Z Method and system for approximate string matching

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
방성혁 외, 순환신경망 기반의 사용자 의도 예측 모델, 정보과학회논문지 V.45 no.4 pp.360-369 (2018.04)

Also Published As

Publication number Publication date
WO2020085567A1 (en) 2020-04-30
KR20200047124A (en) 2020-05-07

Similar Documents

Publication Publication Date Title
CN109754105B (en) Prediction method, terminal and server
US10496924B1 (en) Dictionary DGA detector model
EP3534283A1 (en) Classification of source data by neural network processing
EP3534284A1 (en) Classification of source data by neural network processing
US10268679B2 (en) Joint language understanding and dialogue management using binary classification based on forward and backward recurrent neural network
US10846611B2 (en) Data processing
US11694094B2 (en) Inferring digital twins from captured data
US11379723B2 (en) Method and apparatus for compressing neural network
US9177253B2 (en) System and method for DFA-NFA splitting
CN112491643B (en) Deep packet inspection method, device, equipment and storage medium
US10977313B2 (en) Search method, computer-readable recording medium, and search device
CN112154420B (en) Automatic intelligent cloud service testing tool
WO2019199769A1 (en) Cyber chaff using spatial voting
CN112765324B (en) Concept drift detection method and device
KR20210118073A (en) Techniques for updating files
CN113726545B (en) Network traffic generation method and device for generating countermeasure network based on knowledge enhancement
KR102177741B1 (en) Apparatus and method for interpreting communication message based on recurrent neural network and fork prediction
WO2018135515A1 (en) Information processing device, neural network design method, and recording medium
CN110601909A (en) Network maintenance method and device, computer equipment and storage medium
US9197243B2 (en) Compression ratio for a compression engine
CN114742035B (en) Text processing method and network model training method based on attention mechanism optimization
CN114726823B (en) Domain name generation method, device and equipment based on generation countermeasure network
US20190349390A1 (en) Packet format inference apparatus and computer readable medium
US20220272125A1 (en) Systems and methods for malicious url pattern detection
CN113792804A (en) Training method of image recognition model, image recognition method, device and equipment

Legal Events

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