KR102370729B1 - Sentence writing system - Google Patents
Sentence writing system Download PDFInfo
- Publication number
- KR102370729B1 KR102370729B1 KR1020210072362A KR20210072362A KR102370729B1 KR 102370729 B1 KR102370729 B1 KR 102370729B1 KR 1020210072362 A KR1020210072362 A KR 1020210072362A KR 20210072362 A KR20210072362 A KR 20210072362A KR 102370729 B1 KR102370729 B1 KR 102370729B1
- Authority
- KR
- South Korea
- Prior art keywords
- sentence
- input
- user terminal
- sentences
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47B—TABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
- A47B2200/00—General construction of tables or desks
- A47B2200/008—Tables or desks having means for applying electronic or electric devices
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47B—TABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
- A47B2200/00—General construction of tables or desks
- A47B2200/0084—Accessories for tables or desks
Abstract
Description
본 발명은 문장 작성 시스템에 관한 것으로, 보다 상세하게는 저작권이 만료된 자료를 이용하여 사용자의 문장력을 개선시켜줄 수 있는 문장을 제시하여 주는 문장 작성 시스템에 관한 것이다.The present invention relates to a sentence writing system, and more particularly, to a sentence writing system for presenting sentences that can improve a user's writing ability using data whose copyright has expired.
대부분의 서비스되는 작문 시스템은 번역에 관한 것으로, 예를 들어 한글과 같은 하나의 언어는 습득한 사람이 타 언어를 익히고자 할 때 유용한 시스템이 주를 이룬다.Most of the serviced writing systems are related to translation, and for example, when a person who has acquired one language such as Hangul wants to learn another language, the system is mainly useful.
그러나, 표현하고자 하는 단어는 알고 있더라도 그 쓰임새에 따라 달라지는 형태를 보다 쉽게 이해할 수 있도록 다양한 문장, 단어를 제시하는 보조적 수단이 필요하며, 또한 사용자 수준에 맞는 예시 문장을 제시하는 방식도 필요하다.However, even if you know the word you want to express, you need an auxiliary means of presenting various sentences and words so that you can more easily understand the form that changes depending on the usage, and also a method of presenting example sentences suitable for the user's level.
한편, 유사한 문장들을 식별하기 위한 다양한 방법들이 제시되었다. Meanwhile, various methods for identifying similar sentences have been proposed.
(특허문헌 1)에 따르면 기계 번역 기법을 이용한 유사문장 식별 방법을 제시하고 있으며, (특허문헌 2)에 따르면 인공지능을 사용하여 문장을 분석하는 방법을 제시하고 있다.According to (Patent Document 1), a method for identifying similar sentences using a machine translation technique is presented, and according to (Patent Document 2), a method for analyzing a sentence using artificial intelligence is presented.
이러한 유사문장 식별을 통해 사용자가 입력하는 문장과 유사한 문장을 제시할 수 있는 작문 시스템이 개발될 필요가 있다.There is a need to develop a writing system capable of presenting a sentence similar to a sentence input by a user through such similar sentence identification.
본 발명의 일측면은 저작권이 만료된 자료를 저장한 데이터베이스를 구축하고, 데이터베이스에서 사용자 입력 문장과 유사한 문장을 추출하여 사용자 단말로 출력하는 문장 작성 시스템을 개시한다.One aspect of the present invention discloses a sentence writing system that constructs a database storing data whose copyright has expired, extracts a sentence similar to a user input sentence from the database, and outputs it to a user terminal.
본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
본 발명의 일 실시예에 따른 문장 작성 시스템은 사용자 단말; 및 저작권이 만료된 자료를 저장한 데이터베이스를 구축하고, 상기 사용자 단말로부터 사용자가 입력하는 문장인 입력 문장을 획득하고, 상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하여 상기 사용자 단말에서 출력하는 문장 작성 장치;를 포함한다.Sentence writing system according to an embodiment of the present invention is a user terminal; and constructing a database storing data whose copyright has expired, obtaining an input sentence that is a sentence input by the user from the user terminal, extracting a sentence similar to the input sentence from the database as an example sentence, and outputting it from the user terminal It includes a sentence writing device.
한편, 상기 문장 작성 장치는, 상기 데이터베이스에 저장된 문장들을 Word2Vec 알고리즘에 따라 학습하여 입력 문장에 대한 문맥 정보를 나타내는 벡터값을 추출하는 신경망을 구축하고, 상기 사용자 단말로부터 획득하는 입력 문장을 상기 신경망에 입력하여 상기 입력 문장에 대한 문맥 정보를 나타내는 입력 문장 벡터값을 산출하고, 상기 데이터베이스에 저장된 문장들 각각의 문맥 정보를 나타내는 예시 문장 벡터값들과 상기 입력 문장 벡터값 간의 유사도를 산출하고, 상기 데이터베이스에 저장된 문장들 중 상기 입력 문장 벡터값과 유사도가 가장 높은 예시 문장 벡터값을 갖는 문장을 상기 예시 문장으로 추출하여 상기 사용자 단말로 전송하고,On the other hand, the sentence writing apparatus learns the sentences stored in the database according to the Word2Vec algorithm, builds a neural network that extracts a vector value representing context information for the input sentence, and sends the input sentence obtained from the user terminal to the neural network. input, calculating an input sentence vector value indicating context information for the input sentence, calculating a similarity between example sentence vector values indicating context information of each sentence stored in the database and the input sentence vector value, and the database Extracting a sentence having an example sentence vector value having the highest similarity with the input sentence vector value among the sentences stored in the as the example sentence and transmitting it to the user terminal,
상기 사용자 단말과 무선 통신 방식으로 연결되어 상기 사용자 단말에서 상기 문장 작성 장치로부터 수신하는 상기 예시 문장을 수신하여 출력하는 보조 출력 장치; 및 상기 사용자 단말이 설치되는 테이블 상에 상기 보조 출력 장치를 설치하는 설치 모듈;을 더 포함하고,an auxiliary output device connected to the user terminal through a wireless communication method to receive and output the example sentence received from the sentence writing device in the user terminal; and an installation module for installing the auxiliary output device on a table on which the user terminal is installed;
상기 설치 모듈은, 직육면체의 기중 형태로 구비되는 설치 바아; 상기 설치 바아의 일단부에 소정 두께의 판 형태로 형성되되, 하단 부분에 상기 보조 출력 장치가 삽입 설치되는 안착홈을 형성하는 안착부; 및 상기 설치 바아의 타단에 상기 설치 바아의 회동이 가능하도록 설치되는 설치 브라켓;을 포함하고,The installation module, the installation bar provided in the form of a rectangular parallelepiped; a seating part formed in the form of a plate of a predetermined thickness at one end of the installation bar, and forming a seating groove in the lower part of the auxiliary output device to be inserted and installed; and an installation bracket installed at the other end of the installation bar to enable rotation of the installation bar;
상기 설치 브라켓은, 바닥면; 상기 바닥면의 양단으로부터 상방으로 형성되고, 상단 부분이 반원 형태로 형성되는 한 쌍의 벽면; 및 상기 한 쌍의 벽면 각각의 테두리 부분에 내측으로 요입되어 형성되되, 내측에 걸림 홈을 형성한 나선 형태로 형성되는 복수의 삽입 홈;을 포함하고,The installation bracket, the bottom surface; a pair of wall surfaces formed upwardly from both ends of the bottom surface and having an upper end formed in a semicircular shape; and a plurality of insertion grooves concave inwardly on the edge of each of the pair of wall surfaces and formed in a spiral shape with a locking groove formed therein;
상기 설치 바아는, 타단부에 장홀을 형성하고, 상기 한 쌍의 벽면의 외측면으로부터 상기 장홀을 관통하는 회동 핀을 통해 상기 한 쌍의 벽면 사이에 회동 가능하게 설치되고, 타단부에 상기 삽입 홈에 삽입될 수 있도록 구비되는 삽입 돌기를 형성할 수 있다.The installation bar, forming a long hole at the other end, is rotatably installed between the pair of wall surfaces through a rotation pin penetrating the long hole from the outer surface of the pair of wall surfaces, the insertion groove at the other end It is possible to form an insertion protrusion that is provided to be inserted into the.
또한, 상기 사용자 단말은, 상기 문장 작성 장치에서 운영하는 문장 작성 어플리케이션이 탑재되어 실행될 수 있다.In addition, the user terminal, a sentence writing application operated by the sentence writing device may be loaded and executed.
또한, 상기 사용자 단말은, 사용자로부터 문장을 입력 받기 위한 입력 영역과 상기 예시 문장을 출력하기 위한 출력 영역이 나란히 배치된 인터페이스를 갖는 문장 작성 어플리케이션이 탑재되어 실행될 수 있다.In addition, the user terminal may be loaded with a sentence writing application having an interface in which an input region for receiving a sentence from a user and an output region for outputting the example sentence are arranged side by side and may be executed.
또한, 상기 문장 작성 장치는, 상기 사용자 단말로부터 상기 입력 문장을 수신하는 입력부;를 포함할 수 있다.Also, the sentence writing apparatus may include an input unit configured to receive the input sentence from the user terminal.
또한, 상기 문장 작성 장치는, 저작권이 만료된 자료를 이용할 수 있도록 구비된 웹 사이트에 접속하여 상기 저작권이 만료된 자료를 수집하는 DB 구축부;를 포함할 수 있다.In addition, the sentence writing apparatus may include a DB construction unit for accessing a web site provided to use the copyrighted material for which the copyright has expired and collecting the copyrighted material.
또한, 상기 문장 작성 장치는, 상기 저작권이 만료된 자료들을 수집하여 문장들을 추출하고, 추출한 문장들을 상기 데이터베이스에 저장하는 DB 구축부;를 포함할 수 있다.Also, the sentence writing apparatus may include a DB construction unit that collects the data whose copyright has expired, extracts the sentences, and stores the extracted sentences in the database.
또한, 상기 문장 작성 장치는, 상기 저작권이 만료된 자료들을 수집하는 DB 구축부;를 포함하고, 상기 DB 구축부는, 상기 저작권이 만료된 자료들 간의 유사문장 관계를 식별하는 유사문장 처리시스템;을 포함하고, 상기 유사문장 처리시스템은, 복수의 다큐먼트를 액세스하는 단계; 상기 복수의 다큐먼트로부터, 공통 주제에 관해 서로 다른 작성자들에 의해 작성된 관련 텍스트들의 클러스터(cluster)를 식별하는 단계; 상기 관련 텍스트들의 클러스터를 수신하는 단계; 상기 클러스터로부터 텍스트 분절들(text segments)의 세트(set)를 선택하는 단계; 및 텍스트 정렬(textual alignment)을 이용하여 상기 관련 텍스트 분절들의 세트 내에 포함된 텍스트 분절들 내의 텍스트들 간의 유사문장 관계를 식별하는 단계를 포함할 수 있다.In addition, the sentence writing apparatus includes a DB construction unit that collects the data whose copyright has expired, and the DB construction unit, a similar sentence processing system for identifying a similar sentence relationship between the copyrighted materials; and, the similar sentence processing system comprising: accessing a plurality of documents; identifying, from the plurality of documents, a cluster of related texts written by different authors on a common subject; receiving the cluster of related texts; selecting a set of text segments from the cluster; and identifying sentence-like relationships between texts in text segments included in the set of related text segments using textual alignment.
또한, 상기 문장 작성 장치는, 상기 저작권이 만료된 자료들을 수집하는 DB 구축부;를 포함하고, 상기 DB 구축부는, 상기 저작권이 만료된 자료들 각각의 사상(事象)을 식별하는 사상 예측 시스템;을 포함하고, 상기 사상 예측 시스템은, m개(m은 2 이상의 임의의 정수)의 문장을 해석하고, 상기 m개의 문장으로부터 n개(n은 2 이상의 임의의 정수)의 단어를 추출하는 단어 추출부; 상기 m개의 문장을 각각 소정의 룰에 따라서 q차원(q는 2 이상의 임의의 정수)으로 벡터화함으로써, q개의 축 성분으로 이루어지는 m개의 문장 벡터를 산출하는 문장 벡터 산출부; 상기 n개의 단어를 각각 소정의 룰에 따라서 q차원으로 벡터화함으로써, q개의 축 성분으로 이루어지는 n개의 단어 벡터를 산출하는 단어 벡터 산출부; 상기 m개의 문장 벡터와 상기 n개의 단어 벡터의 내적을 각각 취함으로써, 상기 m개의 문장 및 상기 n개의 단어 간의 관계성을 반영한 m×n개의 유사성 지표값을 산출하는 지표값 산출부; 상기 지표값 산출부에 의해 산출된 상기 m×n개의 유사성 지표값을 이용하여, 1개의 문장에 대하여 n개의 유사성 지표값으로 이루어지는 문장 지표값군을 기초로, 상기 m개의 문장을 복수의 사상으로 분류하기 위한 분류 모델을 생성하는 분류 모델 생성부; 예측 대상으로 하는 1개 이상의 문장을 예측용 데이터로서 입력하는 예측용 데이터 입력부; 및 상기 예측용 데이터 입력부에 의해 입력된 상기 예측용 데이터에 대하여 상기 단어 추출부, 상기 문장 벡터 산출부, 상기 단어 벡터 산출부 및 상기 지표값 산출부의 처리를 실행함으로써 얻어지는 유사성 지표값을, 상기 분류 모델 생성부에 의해 생성된 상기 분류 모델에 적용하는 것에 의해, 상기 예측 대상 데이터로부터 상기 복수의 사상 중 어느 하나를 예측하는 사상 예측부;를 포함할 수 있다.In addition, the sentence writing apparatus includes a DB construction unit that collects the data whose copyright has expired; , wherein the mapping prediction system interprets m sentences (m is an arbitrary integer greater than or equal to 2) and extracts n words (n is an arbitrary integer greater than or equal to 2) from the m sentences. wealth; a sentence vector calculation unit for calculating m sentence vectors comprising q axis components by vectorizing the m sentences in q dimensions (q is an arbitrary integer greater than or equal to 2) according to a predetermined rule; a word vector calculating unit for calculating n word vectors comprising q axis components by vectorizing the n words in q dimensions according to a predetermined rule; an index value calculating unit calculating m × n similarity index values reflecting the relationship between the m sentences and the n words by taking the dot product of the m sentence vectors and the n word vectors, respectively; Classifying the m sentences into a plurality of maps based on a sentence indicator value group including n similarity indicator values for one sentence using the m×n similarity indicator values calculated by the indicator value calculating unit. a classification model generation unit generating a classification model for a prediction data input unit for inputting one or more sentences as prediction data as prediction data; and a similarity index value obtained by executing the processing of the word extraction unit, the sentence vector calculation unit, the word vector calculation unit, and the index value calculation unit on the prediction data input by the prediction data input unit, the classification and an event prediction unit that predicts any one of the plurality of events from the prediction target data by applying to the classification model generated by the model generation unit.
또한, 상기 문장 작성 장치는, 상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하는 문장 시현부;를 더 포함하고, 상기 문장 시현부는, 상기 데이터베이스에 저장된 문장들을 나타내는 벡터값과 상기 입력 문장을 나타내는 벡터값 간의 유클리디안 거리(Euclidean distance) 산출을 통해 상기 예시 문장을 추출할 수 있다.In addition, the sentence writing apparatus further includes a sentence display unit that extracts a sentence similar to the input sentence from the database as an example sentence, wherein the sentence display unit includes a vector value representing the sentences stored in the database and the input sentence The example sentence may be extracted by calculating a Euclidean distance between vector values representing .
또한, 상기 문장 작성 장치는, 상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하는 문장 시현부;를 더 포함하고, 상기 문장 시현부는, 상기 데이터베이스에 저장된 문장들을 나타내는 벡터값과 상기 입력 문장을 나타내는 벡터값 간의 코사인 유사도(Cosine similarity) 산출을 통해 상기 예시 문장을 추출할 수 있다.In addition, the sentence writing apparatus further includes a sentence display unit that extracts a sentence similar to the input sentence from the database as an example sentence, wherein the sentence display unit includes a vector value representing the sentences stored in the database and the input sentence The example sentence may be extracted by calculating cosine similarity between vector values representing .
또한, 상기 문장 작성 장치는, 상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하는 문장 시현부;를 더 포함하고, 상기 문장 시현부는, 상기 데이터베이스에 저장된 문장들을 나타내는 벡터값과 상기 입력 문장을 나타내는 벡터값 간의 타니모토 계수(Tanimoto coeffieient) 산출을 통해 상기 예시 문장을 추출할 수 있다.In addition, the sentence writing apparatus further includes a sentence display unit that extracts a sentence similar to the input sentence from the database as an example sentence, wherein the sentence display unit includes a vector value representing the sentences stored in the database and the input sentence The example sentence may be extracted by calculating a Tanimoto coeffieient between vector values representing .
또한, 상기 사용자 단말과 상기 문장 작성 장치를 연결하는 유선통신망으로 구비되는 네트워크;를 더 포함할 수 있다.In addition, the network provided as a wired communication network for connecting the user terminal and the sentence writing device; may further include.
또한, 상기 사용자 단말과 상기 문장 작성 장치를 연결하는 이동통신망으로 구비되는 네트워크;를 더 포함할 수 있다.In addition, the network provided as a mobile communication network connecting the user terminal and the sentence writing device; may further include.
또한, 상기 사용자 단말과 상기 문장 작성 장치를 연결하는 Wibro(Wireless Broadband)망으로 구비되는 네트워크;를 더 포함할 수 있다.In addition, a network provided as a Wibro (Wireless Broadband) network for connecting the user terminal and the sentence writing apparatus; may further include.
또한, 상기 사용자 단말과 상기 문장 작성 장치를 연결하는 HSDPA(High Speed Downlink Packet Access)망으로 구비되는 네트워크;를 더 포함할 수 있다.In addition, a network provided as a High Speed Downlink Packet Access (HSDPA) network for connecting the user terminal and the sentence writing apparatus may be further included.
또한, 상기 사용자 단말과 상기 문장 작성 장치를 연결하는 위성통신망으로 구비되는 네트워크;를 더 포함할 수 있다.In addition, a network provided as a satellite communication network connecting the user terminal and the sentence writing device; may further include.
또한, 상기 사용자 단말과 상기 문장 작성 장치를 연결하는 와이파이(WI-FI, Wireless Fidelity)망으로 구비되는 네트워크;를 더 포함할 수 있다.In addition, a network provided as a Wi-Fi (Wireless Fidelity) network connecting the user terminal and the sentence writing device; may further include.
또한, 상기 사용자 단말과 무선 통신 방식으로 연결되고, 상기 사용자 단말로부터 상기 예시 문장에 대한 음성 파일을 수신하여 출력하는 음성 출력 장치;를 더 포함할 수 있다.The apparatus may further include a voice output device connected to the user terminal in a wireless communication method, and receiving and outputting a voice file for the example sentence from the user terminal.
한편, 본 발명의 다른 실시예에 따른 사용자 단말과 네트워크를 통해 연결되는 문장 작성 장치에서의 문장 작성 방법에 있어서, 저작권 보호기간이 만료된 자료를 수집하는 단계; 수집한 자료를 데이터베이스에 저장하는 단계; 상기 사용자 단말을 통해 사용자로부터 문장을 입력 받는 단계; 입력 문장의 문맥 정보를 나타내는 벡터값을 출력하는 신경망을 이용하여 상기 데이터베이스에서 사용자로부터 입력 받은 문장과 유사한 문장을 추출하는 단계; 및 상기 사용자 단말로 추출한 문장을 출력하는 단계;를 포함한다.On the other hand, according to another embodiment of the present invention, there is provided a sentence writing method in a sentence writing device connected to a user terminal and a network, the method comprising: collecting data whose copyright protection period has expired; storing the collected data in a database; receiving a sentence from a user through the user terminal; extracting a sentence similar to a sentence input from a user from the database using a neural network that outputs a vector value representing context information of the input sentence; and outputting the extracted sentence to the user terminal.
상술한 본 발명에 따르면 사용자가 문장을 입력하는 동안 사용자 입력 문장과 유사한 예시 문장을 출력함으로써, 사용자가 이를 참고하여 개선된 문장을 작성할 수 있도록 도움을 줄 수 있으며, 아울러 사용자의 문장력 향상을 도모한다.According to the present invention described above, by outputting an example sentence similar to the user input sentence while the user is inputting a sentence, it is possible to help the user to write an improved sentence with reference to this, and also to improve the sentence power of the user .
도 1은 본 발명의 일 실시예에 따른 문장 작성 시스템의 개념도이다.
도 2는 도 1에 도시된 문장 작성 장치의 개념도이다.
도 3은 본 발명의 일 실시예에 따른 문장 작성 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 유사문장 처리시스템의 일 예를 보여주는 도면이다.
도 5는 도 4에 도시된 시스템의 동작을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 두 개의 문장들로 된 페어들 사이의 정렬을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 유사문장 처리시스템의 다른 예를 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 사상 예측 시스템의 블록도이다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 사상 예측 시스템의 동작예를 나타내는 플로차트이다.
도 11은 본 발명의 다른 실시예에 다른 사상 예측 시스템의 블록도이다.
도 12는 본 발명의 일 실시예에 따른 음성 출력 장치를 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 따른 설치 모듈을 보여주는 도면이다.
도 14 내지 도 17은 본 발명에서 사용되는 신경망의 모식도이다.
도 18 내지 도 20은 본 발명에서 사용되는 Word2Vec 알고리즘의 모식도이다.1 is a conceptual diagram of a sentence writing system according to an embodiment of the present invention.
FIG. 2 is a conceptual diagram of the sentence writing apparatus shown in FIG. 1 .
3 is a flowchart of a sentence writing method according to an embodiment of the present invention.
4 is a diagram showing an example of a similar sentence processing system according to an embodiment of the present invention.
FIG. 5 is a flowchart illustrating the operation of the system shown in FIG. 4 .
6 is a diagram for explaining alignment between pairs of two sentences according to an embodiment of the present invention.
7 is a view showing another example of a similar sentence processing system according to an embodiment of the present invention.
8 is a block diagram of a mapping prediction system according to an embodiment of the present invention.
9 and 10 are flowcharts illustrating an operation example of a mapping prediction system according to an embodiment of the present invention.
11 is a block diagram of a mapping prediction system according to another embodiment of the present invention.
12 is a diagram illustrating an audio output device according to an embodiment of the present invention.
13 is a view showing an installation module according to an embodiment of the present invention.
14 to 17 are schematic diagrams of a neural network used in the present invention.
18 to 20 are schematic diagrams of the Word2Vec algorithm used in the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계 및 동작은 하나 이상의 다른 구성요소, 단계 및 동작의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, "comprises" and/or "comprising" refers to the stated elements, steps, and acts do not exclude the presence or addition of one or more other elements, steps and acts.
도 1은 본 발명의 일 실시예에 따른 문장 작성 시스템의 개념도이다.1 is a conceptual diagram of a sentence writing system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 문장 작성 시스템(1000)은 사용자 단말(10), 네트워크(20), 문장 작성 장치(30) 및 데이터베이스(40)를 포함할 수 있다.Referring to FIG. 1 , a
사용자 단말(10) 및 문장 작성 장치(30)는 네트워크(20)로 연결될 수 있으며, 데이터베이스(40)는 문장 작성 장치(30)에서 필요한 데이터들을 저장할 수 있다.The
사용자 단말(10)은 사용자가 이용하는 PC, 노트북, 넷북, 모바일, 태블릿 등의 통상의 컴퓨팅 단말기로 구비될 수 있다.The
사용자 단말(10)은 본 발명의 일 실시예에 따른 문장 작성 어플리케이션이 탑재되어 실행될 수 있다. 사용자는 사용자 단말(10)을 통해 문장 작성 어플리케이션을 실행하여 소정 문장을 작성할 수 있다.The
네트워크(20)는 유선통신망, 이동통신망, Wibro(Wireless Broadband)망, HSDPA(High Speed Downlink Packet Access)망, 위성통신망 및 와이파이(WI-FI, Wireless Fidelity)망 중 하나 일 수 있다The
문장 작성 장치(30)는 통상의 서버로 구비될 수 있으며, 본 발명의 일 실시예에 따른 문장 작성 어플리케이션의 운영 서버일 수 있다.The
문장 작성 장치(30)는 네트워크(20)를 통해 사용자 단말(10)과 연결될 수 있으며, 사용자 단말(10)로부터 문장 작성 어플리케이션을 통해 입력되는 문장을 수신할 수 있다. 또한, 문장 작성 장치(30)는 저작권이 만료된 자료(예컨대, 소설 등)를 저장한 데이터베이스(40)를 구축하고, 데이터베이스(40)에서 사용자 입력 문장과 유사한 문장을 추출하여 사용자 단말(10)로 전송할 수 있다. 이때, 사용자 단말(10)에서 실행되는 문장 작성 어플리케이션에서는 문장 작성 장치(30)로부터 수신한 예시 문장을 출력함으로써 사용자가 이를 참고하여 보다 개선된 문장을 작성할 수 있도록 한다.The
이하의 설명에서 사용자 단말(10)을 통해 사용자가 입력하는 문장은 사용자 입력 문장이라 칭하고, 데이터베이스(40)에서 추출하는 문장은 예시 문장이라 칭하기로 한다.In the following description, a sentence input by the user through the
이와 같은 본 발명의 일 실시예에 따른 문장 작성 시스템(1000)은 사용자가 문장을 입력하는 동안 사용자 입력 문장과 유사한 예시 문장을 출력함으로써, 사용자가 이를 참고하여 개선된 문장을 작성할 수 있도록 도움을 줄 수 있으며, 아울러 사용자의 문장력 향상을 도모한다.As such, the
도 2는 도 1에 도시된 문장 작성 장치의 개념도이다.FIG. 2 is a conceptual diagram of the sentence writing apparatus shown in FIG. 1 .
도 2를 참조하면, 본 발명의 일 실시예에 따른 문장 작성 장치(30)는 입력부(31), DB 구축부(33) 및 문장 시현부(35)를 포함할 수 있다.Referring to FIG. 2 , the
입력부(31)는 사용자 단말(10)로부터 문장 작성 어플리케이션을 통해 사용자가 입력하는 문장인 사용자 입력 문장을 수신할 수 있다.The
DB 구축부(33)는 외부 서버에 접속하여 저작권이 만료된 자료를 수집하고, 수집한 자료를 데이터베이스(40)에 저장할 수 있다.The
여기에서, 저작권이 만료된 자료는 저작자의 저작재산권 보호기간이 만료된 저작물로, 저작자가 사망 후 일정기간이 지난 저작물이며, 누구나 별도의 이용허락이나 승인절차 없이 자유롭게 이용 가능하다.Here, data whose copyright has expired is a work whose copyright protection period has expired, which is a work that has passed a certain period after the author's death, and anyone can freely use it without a separate license or approval procedure.
DB 구축부(33)는 저작권이 만료된 자료를 이용할 수 있도록 구비된 웹 사이트에 접속하여 저작권이 만료된 자료를 수집할 수 있다. 예컨대, 웹 사이트는 공유마당(http://gongu.dopyright.or.kr/)일 수 있으며, 만료 저작물 뿐만 아니라 사회적 보존가치가 높은 민간보유 저작물과 공공 콘텐츠와 같은 공유 저작물을 제공하고, 아울러, 해외의 만료 저작물도 찾아볼 수 있다.The
DB 구축부(33)는 수집한 자료에서 문장을 추출하고, 문장들을 데이터베이스(40)에 저장할 수 있다.The
문장 시현부(35)는 데이터베이스(40)에서 입력부(31)가 수집하는 사용자 입력 문장과 유사한 문장을 추출하여 사용자 단말(10)로 전송할 수 있다.The
예를 들면, 문장 시현부(35)는 데이터베이스(40)에 저장된 문장들을 학습하여 각 문장들의 문맥 정보를 나타내는 벡터값을 출력하는 신경망을 구축할 수 있다. 여기에서, 문장 시현부(35)는 Word2Vec 알고리즘을 이용하여 학습 데이터에 대한 문장의 문맥 정보를 추출할 수 있다. 이때, Word2Vec 알고리즘은 신경망 언어 모델(NNLM : Neural Network Language Model)을 포함할 수 있다. 신경망 언어 모델은 기본적으로 Input Layer, Projection Layer, Hidden Layer, Output Layer로 이루어진 Neural Network이다. 신경망 언어 모델은 단어를 벡터화하는 방법에 사용되는 것이다. 신경망 언어 모델은 공지된 기술이므로 보다 자세한 설명은 생략하기로 한다. Word2vec 알고리즘은, 텍스트마이닝을 위한 것으로, 각 단어 간의 앞, 뒤 관계를 보고 근접도를 정하는 알고리즘이다. Word2vec 알고리즘은 비지도 학습 알고리즘이다. Word2vec 알고리즘은 이름이 나타내는 바와 같이 단어의 의미를 벡터형태로 표현하는 계량기법일 수 있다. Word2vec 알고리즘은 각 단어를 200차원 정도의 공간에서 백터로 표현할 수 있다. Word2vec 알고리즘을 이용하면, 각 단어마다 단어에 해당하는 벡터를 구할 수 있다. Word2vec 알고리즘은 종래의 다른 알고리즘에 비해 자연어 처리 분야에서 비약적인 정밀도 향상을 가능하게 할 수 있다. Word2vec은 입력한 말뭉치의 문장에 있는 단어와 인접 단어의 관계를 이용해 단어의 의미를 학습할 수 있다. Word2vec 알고리즘은 인공 신경망에 근거한 것으로, 같은 맥락을 지닌 단어는 가까운 의미를 지니고 있다는 전제에서 출발한다. Word2vec 알고리즘은 텍스트 문서를 통해 학습을 진행하며, 한 단어에 대해 근처(전후 5 내지 10 단어 정도)에 출현하는 다른 단어들을 관련 단어로서 인공 신경망에 학습시킨다. 연관된 의미의 단어들은 문서상에서 가까운 곳에 출현할 가능성이 높기 때문에 학습을 반복해 나가는 과정에서 두 단어는 점차 가까운 벡터를 지닐 수 있다. Word2vec 알고리즘의 학습 방법은 CBOW(Continuous Bag Of Words) 방식과 skip-gram 방식이 있다. CBOW 방식은 주변 단어가 만드는 맥락을 이용해 타겟 단어를 예측하는 것이다. skip-gram 방식은 한 단어를 기준으로 주변에 올 수 있는 단어를 예측하는 것이다. 대규모 데이터셋에서는 skip-gram 방식이 더 정확한 것으로 알려져 있다. 따라서, 본 발명의 실시 예에서는 skip-gram 방식을 이용한 Word2vec 알고리즘을 사용한다. 예컨대, Word2vec 알고리즘을 통해 학습이 잘 완료되면, 고차원 공간에서 비슷한 단어는 근처에 위치할 수 있다. 상술한 바와 같은 Word2vec 알고리즘에 따르면 학습 문서 내 주위 단어의 분포가 가까운 단어일수록 산출되는 벡터값은 유사해질 수 있으며, 산출된 벡터값이 비슷한 단어는 유사한 것으로 간주할 수 있다. Word2vec 알고리즘은 공지된 기술이므로 벡터값 계산과 관련한 보다 상세한 설명은 생략하기로 한다.For example, the
문장 시현부(35)는 데이터베이스(40)에 저장된 문장들을 학습 데이터로 추출하며, 학습 데이터를 Word2vec 알고리즘을 통해 학습하여 사건 내용에 대한 문맥 정보를 추출하는 신경망을 구축할 수 있다. The
문장 시현부(35)는 입력부(31)를 통해 획득하는 사용자 입력 문장을 신경망에 입력하여 사용자 입력 문장에 대한 문맥 정보를 나타내는 입력 문장 벡터값을 산출할 수 있다.The
문장 시현부(35)는 데이터베이스(40)에 저장된 문장들 각각의 문맥 정보를 나타내는 예시 문장 벡터값들과 입력 문장 벡터값 간의 유사도를 각각 산출할 수 있다. 이때, 문장 시현부(35)는 유사도 산출 방법으로 유클리디안 거리(Euclidean distance), 코사인 유사도(Cosine similarity), 타니모토 계수(Tanimoto coeffieient) 중 적어도 하나를 이용할 수 있다.The
문장 시현부(35)는 데이터베이스(40)에 저장된 문장들 중 입력 문장 벡터값과 유사도가 가장 높은 예시 문장 벡터값을 갖는 문장을 예시 문장으로 추출하여 사용자 단말(10)로 전송할 수 있다.The
여기에서, 사용자 단말(10)에서 실행하는 어플리케이션은 사용자로부터 문장을 입력 받기 위한 입력 영역과 문장 시현부(35)로부터 수신하는 예시 문장을 출력하기 위한 출력 영역이 나란히 배치된 인터페이스를 가질 수 있다. 이에 따라 사용자는 입력 영역에 문장을 입력하면서 동시에 예시 문장을 확인할 수 있다.Here, the application executed in the
이와 같이 문장 시현부(35)는 인공지능 신경망을 이용하여 사용자 단말(10)을 통해 입력되는 문장과 가장 유사한 문맥을 갖는 저작권 만료 문장을 추출하여 사용자에게 제공할 수 있다.As such, the
도 3은 본 발명의 일 실시예에 따른 문장 작성 방법의 흐름도이다.3 is a flowchart of a sentence writing method according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 문장 작성 방법은 도 1 및 도 2에 도시된 문장 작성 장치(30)와 실질적으로 동일한 구성 하에서 진행될 수 있다. 따라서, 도 1 및 도 2에 도시된 구성과 동일한 구성요소는 동일한 도면부호를 부여하고 반복되는 설명은 생략한다.The sentence writing method according to an embodiment of the present invention may be performed under substantially the same configuration as that of the
도 3을 참조하면, 본 발명의 일 실시예에 따른 문장 작성 방법은 저작권 보호기간이 만료된 자료를 수집하는 단계(S10), 수집한 자료를 데이터베이스(40)에 저장하는 단계(S20), 사용자로부터 문장을 입력 받는 단계(S30), 데이터베이스(40)에서 사용자로부터 입력 받은 문장과 유사한 문장을 추출하는 단계(S40) 및 사용자 단말(10)로 추출한 문장을 출력하는 단계(S50)를 포함할 수 있다.Referring to FIG. 3 , the method for writing a sentence according to an embodiment of the present invention includes the steps of collecting data whose copyright protection period has expired (S10), storing the collected data in the database 40 (S20), and a user It may include the step of receiving a sentence from the input (S30), the step of extracting a sentence similar to the sentence input from the user in the database 40 (S40), and the step of outputting the extracted sentence to the user terminal 10 (S50). there is.
DB 구축부(33)가 저작권 보호기간이 만료된 자료를 수집하는 단계(S10)는 DB 구축부(33)가 저작권이 만료된 자료를 이용할 수 있도록 구비된 웹 사이트에 접속하여 저작권이 만료된 자료를 수집하는 단계일 수 있다.In the step (S10) of the
DB 구축부(33)가 수집한 자료를 데이터베이스(40)에 저장하는 단계(S20)는 수집한 자료에서 문장을 추출하고 문장들을 데이터베이스(40)에 저장하는 단계일 수 있다.The step of storing the data collected by the
입력부(31)가 사용자로부터 문장을 입력 받는 단계(S30)는 입력부(31)가 사용자 단말(10)에서 실행되는 어플리케이션을 통해 문장을 입력 받는 단계일 수 있다.The step ( S30 ) of the
문장 시현부(35)가 데이터베이스(40)에서 사용자로부터 입력 받은 문장과 유사한 문장을 추출하는 단계(S40)는 문장 시현부(35)가 입력 문장에 대한 문맥 정보를 추출하는 인공지능 신경망을 이용하여 사용자로부터 입력 받은 문장과 유사한 문맥 정보를 갖는 예시 문장을 추출하는 단계일 수 있다.The step (S40) of the
문장 시현부(35)가 사용자 단말(10)로 추출한 문장을 출력하는 단계(S50)는 문장 시현부(35)가 사용자 단말(10)에서 실행되는 어플리케이션을 통해 추출한 예시 문장을 출력하는 단계일 수 있다.The step (S50) of the
한편, DB 구축부(33)는 수집한 문장들 중에서 유사한 문장들을 식별하고, 식별한 유사 문장들을 나타내는 대표 문장을 추출하여 데이터베이스(40)에 저장할 수 있다. 예를 들면, 수집한 문장들 중에서는 그 맥락이 동일하더라도 다른 단어들의 조합으로 구성되는 문장들이 존재할 수 있다. DB 구축부(33)는 이러한 유사 문장들이 중첩되어 데이터베이스(40)에 저장되는 것을 방지함으로써 부하를 줄이기 위해 유사한 문장들을 식별하고, 식별한 유사한 문장들을 통합하여 나타낼 수 있는 대표 문장을 추출할 수 있다.Meanwhile, the
DB 구축부(33)는 이러한 유사 문장 식별 및 대표 문장 추출을 위한 유사문장 처리시스템(200)을 포함할 수 있다. 이와 관련하여 도 4 이하를 참조하여 예를 들어 설명한다.The
도 4는 본 발명의 일 실시예에 따른 유사문장 처리시스템의 일 예를 보여주는 도면이다.4 is a diagram showing an example of a similar sentence processing system according to an embodiment of the present invention.
도 4를 참조하면, 시스템(200)은 다큐먼트 데이터베이스(202)로 액세스하며, 다큐먼트 클러스터링 시스템(204), 텍스트 분절 선택 시스템(206), 단어/어구 정렬 시스템(210), 식별 시스템 입력 텍스트(211), 및 생성시스템 입력텍스트(212)를 포함한다. Referring to FIG. 4 , the
도 5는 도 4에 도시된 시스템의 동작을 나타낸 흐름도이다.FIG. 5 is a flowchart illustrating the operation of the system shown in FIG. 4 .
일례로서, 다큐먼트 데이터베이스(202)는, DB 구축부(33)에서 수집한 문장들로 저작권 만료 자료들을 포함한다. 또한, 일예로서, 다양한 다른 뉴스 에이전시에 의해 작성된 다양한 다른 뉴스 기사들을 포함한다. 일례로서, 각각의 기사는 언제 기사가 작성되었는지를 간략하게 나타내는 타임 스탬프를 포함한다. 또한, 일례로서, 다른 뉴스 에이전시로부터의 복수의 기사들이 다양한 다른 사건들에 대하여 작성될 수 있다.As an example, the
이하에서는, 뉴스 기사에 대하여 예를 들어 설명하기로 한다.Hereinafter, a news article will be described as an example.
다큐먼트 클러스터링 시스템(204)은 도 5에서 블록 214로 도시된 바와 같이 다큐먼트 데이터베이스(202)에 액세스한다. 도 4에는 단일의 데이터베이스(202)가 도시되어 있지만, 대신 복수의 데이터베이스가 액세스될 수 있다.The
클러스터링 시스템(204)은 동일한 사건에 대하여 작성된 다큐먼트 데이터베이스(202)내의 기사들을 식별한다.The
일실시예에서, 대략적으로 동일한 시간에 쓰여지는 것으로 기사들이 또한 식별된다 (서로간의 소정의 시간적 범위내, 예컨대, 한달, 한 주, 하루, 수 시간내, 등등). 동일한 사건에 대하여 (또는, 동일한 시간에서) 작성된 것으로 식별된 기사들은, 다큐먼트 클러스터(218)를 형성한다. 이러한 것은 도 5의 블록 216으로 도시되어 있다.In one embodiment, articles are also identified as being written at approximately the same time (within a predetermined temporal range of each other, eg, within a month, a week, a day, several hours, etc.). Articles identified as being written about the same event (or at the same time) form a
관련된 소스의 기사들이 클러스트(218)로 식별되면, 원하는 바에 따라, 이러한 기사들내의 텍스트 분절(문장, 어구, 헤드라인, 문단, 등)들이 추출된다. 예컨대, 뉴스 기사들의 저널리즘적 관습은, 기사의 처음 한 두 문장은 나머지 기사의 요약을 나타내는 것으로 권고한다. 따라서, 본 발명의 일실시예에 따르면, (일례로, 다른 뉴스 에이전시들에서 작성된) 기사들은 클러스터(218)들로 클러스터링되고, 텍스트 분절 선택시스템(206)으로 제공되어, 각 클러스터(218)내의 각 기사의 처음 두 문장들이 추출된다. 본 발명의 설명은 문장들에 대하여 진행하였지만, 이는 예시적인 것일 뿐, 기타의 텍스트 분절들이 용이하게 사용될 수 있다. 기사들의 각클러스터(218)의 문장들은, 클러스터링된 기사에 상응하는 문장 세트(222)로 출력된다. 문장 세트(222)들은 텍스트 분절 선택시스템(206)에 의해 단어/어구 정렬시스템(210)으로 출력된다. 이는 도 5에서 블록 220으로 나타내어져 있다.Once articles from relevant sources are identified by
문장들이 사용되는 특정예에서, 이러한 식으로 수집된 많은 문장들은, 문체적인 이유로 다른 뉴스에이전시의 편집자들에 의해 조금씩 재작성된, 몇몇 단일 소스 문장의 버전들로 나타난다. 자주, 이러한 문장들의 세트들은, 문장에서 나타나는 절들의 순서와 같이, 방법상에서 조금씩만 다른 것으로 나타났다.In the specific example where sentences are used, many sentences collected in this way appear as versions of several single-source sentences, which have been slightly rewritten by editors of different news agencies for stylistic reasons. Often, these sets of sentences appear to differ only slightly in method, such as the order of clauses appearing in the sentence.
텍스트 분절 선택시스템(206)은 각 클러스터의 문장들의 세트(222)들을 생성한다. 단어/어구 정렬 시스템(210)은, 세트내 문장들의 홀리스틱(holistic) 검사에 기초하여, 단어들 또는 어구들간의 맵핑들을 추출함으로써, 문장들의 큰 세트들상에서 동작할 수 있음에 주목한다. 그러나, 본 논의는 문장 페어의 생성과 그러한 페어들에 대한 정렬의 수행에 대해서만, 일실시예로서 설명한다. 따라서, 일실시예에서, 식별된 문장의 세트들은, 문장들의 페어로 형성된다. 따라서, 텍스트 분절 선택시스템(206)은, 다른 각각의 문장에 대하여 세트내의 각각의 문장의 짝짓기를 수행한다(이하, 페어링(pairing)). 일실시예에서는, 문장의 페어들이 선택적으로 필터링 되는 단계를 수행하며, 다른 실시예에서는, 단어/어구 정렬시스템(210)으로 바로 출력된다. 본 실시예에 대한 필터링이 설명되겠지만, 필터링과 관련된 단계들은 선택적임을 주목한다.The text
일실시예에서, 텍스트 분절 선택시스템(206)은, 공유되는 핵심내용의 단어에 기반하여 문장 페어들을 필터링 하는 발견적 방법(heuristic)을 실행한다. 예컨대, 일실시예에서, 시스템(206)은 문장 페어들을 필터링하여, 각각 적어도 네 개의 문자로 이루어진 적어도 세 개의 단어들을 공유하지 않는 문장 페어들을 제거한다. 물론, 필터링은 선택적이지만, 사용된다면, 실행되는 필터링 알고리즘이 폭넓게 변경될 수 있다. 과거의 결과들에 대한 필터링 (이는, 단어/어구 정렬시스템(210)을 텍스트 분절 선택시스템(206)으로 피드백시키는 피드백 루프를 필요로 한다), 다른 수의 내용 단어들에 대한 필터링, 의미론적이고 구문론적인 정보에 대한 필터링 등의, 임의의 다양한 다른 필터링 기법들이 사용될 수 있다. 어떠한 경우에는, 문장의 세트들이 페어링되고, 필터링 되어, 단어/어구 정렬시스템(210)으로 제공될 수 있다.In one embodiment, the text
일실시예에서, 단어/어구 정렬시스템(210)은, 세트(222)들내의 문장들간의 어휘적 대응관계를 학습하고자, 통계적 기계번역 문헌에서 비롯되는, 종래의 단어/어구 정렬 알고리즘을 실행한다. 예컨대, 다음 두 개의 문장이 문장 페어로 기계번역 시스템(210)으로 입력된다고 가정하자: "Storms and tornadoes killed at least 14 people as they ripped through the central U.S. States of Kansas and Missouri" "A swarm of tornadoes crashed through the Midwest, killing at least 19 people in Kansas and Missouri".In one embodiment, word/
이러한 문장들은, 차이점이 몇 가지 있지만, 공통의 편집 소스를 갖고 있을 수 있다. 어떠한 경우, 일례로서, 이러한 문장들은 동일한 사건에 대하여 거의 동일한 시간에 두 개의 다른 뉴스 에이전스에 의해 작성되었다. 문장내의 차이점으로는, "ripped through"는 "crashed through"에 상응하고, "Central U.S. states"이 "Midwest"에 상응하여, 어절의 순서상에 차이점이 있으며, "killed"는 "killing"에 상응하여 단어들간의 형태학상의 차이점이 있으며, 리포트된 희생자수의 차이점을 포함한다.These sentences, with some differences, may have a common editorial source. In any case, as an example, these sentences were written by two different news agencies at about the same time for the same incident. Within sentences, "ripped through" corresponds to "crashed through", "Central US states" corresponds to "Midwest", there is a difference in word order, and "killed" corresponds to "killing". Thus, there are morphological differences between the words, including differences in the number of reported victims.
도 6은 본 발명의 일 실시예에 따른 두 개의 문장들로 된 페어들 사이의 정렬을 설명하기 위한 도면이다.6 is a diagram for explaining alignment between pairs of two sentences according to an embodiment of the present invention.
도 6은, 종래의 정렬시스템(210)에 따라 단어들과 어구들이 정렬된 후에, 문장들내의 단어들과 다중의 단어어구들간의 상응관계를 나타낸다. 통계적 정렬 알고리즘은, 단어들을 연결하는 라인들에 의해 나타낸 바와같이, 대부분의 상응관계들에 대하여, 다르지만 평행한 정보의 조각들간의 연결관계를 설정하였다. 예컨대, 명사절 "Storms and tornadoes" 및 "a swarm of tornadoes"는 직접적으로 비교되지는 않는다. 따라서, 더 많은 데이터가 요구됨에 따라, "storms"와 "swarm" 간의 연결관계 및 "storms"와 "a" 간의 연결관계는 사라지게 될 것이다. 두 문장간의 연결관계의 어긋남 패턴(crossing pattern)에 의해 어절의 순서의 차이가 나태내어질 수 있다.6 shows the correspondence between words in sentences and multiple word phrases after words and phrases are sorted according to the
일실시예에서, 「P.F. Brown et al., "The Mathematics of Statistical Machinie Translation: Parameter Estimation", Computational Linguistics, 19:263-312, (June 1993)」에 공지된 기법들을 사용하여, 단어/어구 정렬시스템(210)이 실행된다. 물론, 단어들과 입력 텍스트 사이의 관계를 식별하기 위하여 기타 기계번역 또는 단어/어구 정렬 기법들이 사용될 수 있다. 문장 세트들에 대하여 정렬시스템(210)을 사용하여 정렬 모델을 개발하고, 통계적 단어 및/또는 어구 정렬을 수행하는 것은, 도 5의 블록 230으로 나타내어져 있다.In one embodiment, "P.F. Using techniques known in Brown et al., "The Mathematics of Statistical Machinie Translation: Parameter Estimation", Computational Linguistics, 19:263-312, (June 1993), a word/
그 후, 단어/어구 정렬 시스템(210)은, 입력 데이터에 기초하여 발생되었던 정렬 모델들(234)에 따라, 정렬된 단어 및 어구들(232)을 출력한다. 기본적으로, 상기 인용된 정렬시스템에서, 단어의 상응관계를 식별하도록 모델들이 트레이닝(train)된다. 정렬 기법에서는, 도 6에 도시된 바와 같이, 먼저 텍스트 분절들 내의 단어들 간의 단어 정렬을 찾는다. 다음, 시스템은 각각의 정렬에 대하여 확률을 할당하고, 후속의 트레이닝 데이터에 기초하여 확률을 최적화하여 더욱 정확한 모델을 생성한다. 정렬 모델(234)들과 정렬된 단어 및 어구들(232)을 출력하는 것이 도 5의 블록 236에 도시되어 있다.The word/
일례로서, 정렬 모델(234)은, 단어 정렬에 할당된 번역 확률, 단어 또는 어구들이 문장내에서 이동할 확률을 나타내는 이동 확률, 단일 단어가 다른 텍스트 분절내의 두 개의 다른 단어에 해당할 수 있는 확률을 나타내는 다양성(fertility) 확률 등과 같은, 종래의 번역모델 파라미터들을 포함한다.As an example, the
블록들(237, 238, 및 239)은, 트레이닝(training) 자체에 대하여 시스템을 부트스트랩핑 하는데 사용되는 선택적 처리 단계들을 나타낸다. 이들은 도 7에 대하여 아래에 더욱 상세하게 설명된다.
부트스트랩핑이 사용되지 않는 실시예에 있어서, 시스템(211)은 시스템(210)의 출력을 수신하여 서로 유사문장화(paraphrase)된 단어, 어구, 또는 문장들을 식별한다. 식별된 유사문장들(213)은 시스템(211)에 의해 출력된다. 이는 도 5의 블록(242)으로 나타내어져 있다.In embodiments where bootstrapping is not used,
또한, 정렬된 어구 및 모델들은 생성시스템 입력텍스트(212)로 제공될 수 있다. 일례로서, 시스템(212)은, 그 입력에 대한 유사문장(238)을 생성하는 단어 및/또는 어구들을 입력으로 수신하는, 종래의 디코더이다.Also, aligned phrases and models may be provided as generation
따라서, 시스템(212)은, 정렬된 단어 및 어구(232)들 및 정렬 시스템(210)에 의해 생성된 정렬 모델(234)들을 사용하여 입력 텍스트의 유사문장을 생성하는데 사용될 수 있다. 정렬된 단어 및 어구들과 정렬 모델들에 기초하여 입력텍스트의 유사문장을 생성하는 것은 도 5의 블록 240에 의해 도시되어 있다. 일실시예의 생성시스템으로서, 「Y. Wang and A.Waibel, "Deoding Algorithm in Statistical Machine Translation", Proceedings of 35th Annual Meeting of the Association of Computational Linguistics(1997)」가 공지되어 있다.Accordingly, the
도 7은 본 발명의 일 실시예에 따른 유사문장 처리시스템의 다른 예를 보여주는 도면이다.7 is a view showing another example of a similar sentence processing system according to an embodiment of the present invention.
도 7은 도 4와, 식별시스템(211)이 또한 부트스트랩 트레이닝(training)에 사용된다는 점을 제외하고 유사하다. 이는, 도 5의 블록 237-239에 더욱 자세하게 도시되어 있다. 예컨대, 도 7 및 도 5에 대하여, 단어/어구 정렬시스템(210)이 전술한 바와 같이 출력 정렬모델(234) 및 정렬된 단어 및 어구들(232)을 갖는다고 가정하자. 그러나, 이제 각 다큐먼트 클러스터(218)의 전체 텍스트가, 시스템을 더욱 더 트레이닝하는데 사용하기 위한 보충 문장세트(300)을 식별하는 식별시스템(211)에 공급된다 (또한, 일례로서 문장들이 사용되고, 기타의 텍스트 분절들이 사용될 수 있다). 정렬 모델(234) 및 정렬된 단어 및 어구들(232)과 함께, 식별시스템(211)은 클러스터링된 다큐먼트(218)들의 텍스트를 처리하여, 각각의 클러스터들로부터 문장 세트(300)들을 재선택할 수 있다. 이것은 블록 237로 도시되어 있다. 그 후, 재선택된 문장 세트(300)는 단어/어구 정렬시스템(210)으로 제공되고, 재선택된 문장 세트(300)들에 기초하여, 정렬 모델(234)들 및 정렬된 단어 및 어구들(232), 및 그들의 관련된 확률행렬을 생성 또는 재계산한다. 단어 및 어구 정렬의 수행과 재선택된 문장세트들에 대한 정렬 모델들 및 정렬된 단어 및 어구들의 생성은, 도 5의 블록 239 및 239로 도시되어 있다.Figure 7 is similar to Figure 4, except that the
이하, 재계산된 정렬 모델(234) 및 새롭게 정렬된 단어 및 어구(232)들은, 식별시스템(211)으로 다시 입력되고, 다시 다큐먼트 클러스터(218)들내의 텍스트를 처리하여 새로운 문장 세트를 식별하도록 시스템(211)에 의해 사용될 수 있다. 또한, 새로운 문장세트들은 단어/어구 정렬시스템(210)으로 다시 피드백 되고, 시스템의 트레이닝(training)을 더욱 가다듬도록 공정이 진행될 수 있다.Hereinafter, the recalculated
본 발명을 사용하여 처리된 유사문장에 대하여는, 다양한 적용예들이 존재한다. 예컨대, 유사문장 처리시스템의 잠재적 적용예로서, 종래 기술에 공지된 바와 같은, 질의응답 시스템, 더욱 일반적인 정보처리 시스템을 포함한다. 이러한 시스템은, 질의(query)에 기초하여 다큐먼트 세트를 리턴하는데 있어서, 두 개의 텍스트 분절의 유사도를 결정하기 위해 유사문장 점수를 생성할 수 있다. 마찬가지로, 이러한 시스템은, 더욱 양호한 매칭결과를 찾거나, 호출을 개선하기 위해서, 유사문장 생성능력을 사용하여 질의 확장(query expansion, 복수 형태의 단일의 본래 질의를 생성함)을 수행할 수 있다.For pseudo-sentences processed using the present invention, various applications exist. For example, potential applications of the pseudo-sentence processing system include question-and-answer systems, more general information processing systems, as known in the prior art. Such a system may generate similar sentence scores to determine the degree of similarity between two text segments in returning a set of documents based on a query. Likewise, such a system can perform query expansion (generating a single original query of multiple forms) using its pseudo-sentence generation capabilities to find better matches or improve calls.
유사문장의 인식 및 생성에 대한 다른 적용예로서, 복수의 다큐먼트들의 요약화를 포함한다. 유사문장 인식기법을 활용하여, 요약문을 생성하기 위하여, 자동 다큐먼트 요약시스템이 다른 다큐먼트들 내의 유사한 문장을 찾아, 다큐먼트 세트 내의 가장 두드러진 정보를 결정한다.Another application to the recognition and generation of similar sentences includes a summary of a plurality of documents. Utilizing the similar sentence recognition technique, in order to generate a summary, the automatic document summary system finds similar sentences in other documents and determines the most prominent information in the document set.
유사문장 인식 및 생성에 대한 또 다른 적용예로서, 다이얼로그(dialog) 시스템이 있다. 이러한 시스템은, 입력을 에코(echo)하지만 다르게 표현되어, 정확하게 동일한 입력을 되풀이하는 것을 방지하는, 응답을 생성할 수 있다. 이는 보다 자연스럽고 대화적인 사운드를 다이얼로그 시스템이 표현하도록 한다.Another application for similar sentence recognition and generation is a dialog system. Such a system can generate a response that echoes the input, but is expressed differently, preventing repeating the exact same input. This allows the dialog system to express a more natural and interactive sound.
또한, 유사문장 인식 및 생성기법은, 단어처리 시스템에서 사용될 수 있다. 단어처리 시스템은, 자동적으로 재작성된 문체를 생성하고, 이러한 재작성된 문체를 사용자에게 제안하는데 사용될 수 있다. 예컨대, 이는, 사용자가 다큐먼트를 작성하고 있는 도중, 한 문단에서라도, 한 어구를 많은 횟수 반복하는 경우에 효과적이다. 마찬가지로, 단어처리 시스템은, 한 다큐먼트내에 퍼져있는 반복된 (그러나, 다르게 표현된) 정보를 플 래그(flag)하는 특성을 포함할 수 있다. 마찬가지로, 이러한 단어처리 시스템은, 유사문장으로서 한 편의 산문을 재작성(rewrite)하는 특성을 포함할 수 있다.In addition, similar sentence recognition and generation techniques may be used in a word processing system. The word processing system can be used to automatically generate the rewritten style and suggest the rewritten style to the user. For example, this is effective when a user repeats a phrase many times even in one paragraph while writing a document. Likewise, a word processing system may include a feature to flag repeated (but otherwise expressed) information spread within a document. Similarly, such a word processing system may include a feature of rewriting a piece of prose as a similar sentence.
이와 같이, DB 구축부(33)는 복수의 저작권 만료 자료들에 대하여 유사문장 처리시스템을 트레이닝하는 방법으로서, 복수의 다큐먼트를 액세스하는 단계; 상기 복수의 다큐먼트로부터, 공통 주제에 관해 서로 다른 작성자들에 의해 작성된 관련 텍스트들의 클러스터(cluster)를 식별하는 단계; 상기 관련 텍스트들의 클러스터를 수신하는 단계; 상기 클러스터로부터 텍스트 분절들(text segments)의 세트(set)를 선택하는 단계 - 상기 선택하는 단계는 상기 관련 텍스트들 중 필요한 텍스트 분절들을 관련 텍스트 분절들의 세트로 그룹화하는 단계를 포함함 -; 및 텍스트 정렬(textual alignment)을 이용하여 상기 관련 텍스트 분절들의 세트 내에 포함된 텍스트 분절들 내의 텍스트들 간의 유사문장 관계를 식별하는 단계를 포함하고, 상기 텍스트 정렬은 통계적 텍스트 정렬(statistical textual alignment)을 이용하여 상기 관련 텍스트 분절들의 세트 내의 텍스트 분절들 내의 단어들을 정렬하는 것, 및 상기 정렬된 단어들에 기초하여 상기 유사문장 관계를 식별하는 것을 포함하는, 트레이닝 방법을 따른다.As such, the
DB 구축부(33)는 식별된 유사문장 관계에 기초하여 정렬 모델을 계산하는 단계를 더 포함할 수 있으며, 정렬 모델을 이용하여 유사문장들을 대표하는 대표문장을 생성할 수 있다.The
한편, DB 구축부(33)는 복수의 저작권 만료 자료에 대하여 사상(事象)을 예측하고, 예측한 사상 키워드를 매칭하여 데이터베이스(40)에 함께 저장할 수 있다. 이와 같은 경우, 문장 시현부(35)는 사용자로부터 미리 사용자가 선호하는 사상 키워드를 입력 받을 수 있으며, 해당 사상 키워드가 부여된 문장 중에서 사용자에게 제시할 예시 문장을 추출할 수 있다.Meanwhile, the
DB 구축부(33)는 수집한 문장 별 사상 키워드 예측을 위한 사상 예측 시스템(300)을 포함할 수 있다. 이와 관련하여 도 8 이하를 참조하여 예를 들어 설명한다.The
도 8은 본 발명의 일 실시예에 따른 사상 예측 시스템을 보여주는 블록도이다.8 is a block diagram illustrating a mapping prediction system according to an embodiment of the present invention.
도 8을 참조하면, 본 실시형태의 사상 예측 시스템은, 그 기능 구성으로서, 학습용 데이터 입력부(310), 단어 추출부(311), 벡터 산출부(312), 지표값 산출부(313), 분류 모델 생성부(314), 예측용 데이터 입력부(320) 및 사상 예측부(321)를 구비하여 구성되어 있다. 벡터 산출부(312)는, 보다 구체적인 기능 구성으로서, 문장벡터 산출부(312a) 및 단어 벡터 산출부(312b)를 구비하고 있다. 또한, 본 실시형태의 사상 예측 시스템은, 기억 매체로서 분류 모델 기억부(330)를 구비하고 있다.Referring to FIG. 8 , the mapping prediction system of the present embodiment has, as its functional configuration, a learning
그리고, 이하의 설명의 편의상, 단어 추출부(311), 벡터 산출부(312) 및 지표값 산출부(313)로 구성되는 부분을 유사성 지표값 산출부(300)라고 부른다. 유사성 지표값 산출부(300)는 문장에 관한 문장 데이터를 입력하고, 문장과 그 중에 포함되는 단어와의 관계성을 반영한 유사성 지표값을 산출하여 출력하는 것이다. 또한, 본 실시형태의 사상 예측 시스템은, 유사성 지표값 산출부(300)에 의해 산출되는 유사성 지표값을 이용하여, 문장의 내용으로부터 특정한 사상을 예측하는(복수의 사상 중 어느 것에 해당하는지를 예측함) 것이다. 그리고, 학습용 데이터입력부(310), 유사성 지표값 산출부(300) 및 분류 모델 생성부(314)에 의해, 본 발명의 예측 모델 생성 장치가 구성된다.In addition, for the convenience of the following description, the part composed of the
상기 각 기능 블록(310∼314, 320∼321)은 하드웨어, DSP(Digital Signal Processor), 소프트웨어의 어느 것에 의해서도 구성하는 것이 가능하다. 예를 들면, 소프트웨어에 의해 구성하는 경우, 상기 각 기능 블록(310∼314, 320∼321)은, 실제로는 컴퓨터의 CPU, RAM, ROM 등을 구비하여 구성되며, RAM이나 ROM, 하드 디스크 또는 반도체 메모리 등의 기록 매체에 기억된 프로그램이 동작함으로써 실현된다.Each of the
학습용 데이터 입력부(310)는, 복수의 사상 중 어느 것에 해당하는지가 이미 알려진 m개(m은 2 이상의 임의의 정수)의 문장에 관한 문장 데이터를 학습용 데이터로서 입력한다. 여기에서, 복수의 사상은 2개여도 되고, 3개 이상이어도 된다. 예를 들면, 특정한 장해나 증상이 발생할 가능성 등과 같이, 하나의 사항에 관한 발생 가능성의 유무를 나타내는 2개의 사상으로 하는 것이 가능하다. 혹은, 사람의 성격 타입이나 취미 취향 등과 같이, 서로 성질의 다른 2개 이상의 사상의 조합으로 하는 것도 가능하다. 그리고, 여기에 예로 든 사상은 일례에 지나지 않고, 이것에 한정되는 것은 아니다.The learning
입력하는 문장 데이터는, 예측하고자 하는 복수의 사상에 관련된 문장이 기술된 데이터로 하는 것이 바람직하다. 예를 들면, 시스템 장해의 발생 가능성의 유무를 예측하기 위한 예측 모델의 구축을 목적으로 하여 학습용 데이터를 입력하는 경우에는, 시스템의 감시 또는 검사의 결과를 기술한 리포트에 관한 문장 데이터를 입력한다는 방식이다.The input sentence data is preferably data in which sentences related to a plurality of events to be predicted are described. For example, when data for learning is input for the purpose of constructing a predictive model for predicting the presence or absence of the possibility of occurrence of a system failure, sentence data for a report describing the results of monitoring or inspection of the system is input. am.
다만, 사람의 성격 타입이나 취미 취향 등을 예측하는 것 등이 목적인 경우에는, 예측하고자 하는 복수의 사상과는 일견 무관계라고 생각되는 문장이라도, 이하에 설명하는 해석에 의해, 문장과 사상의 관계성이 발견될 가능성도 있을 수 있다. 따라서, 예측하고자 하는 복수의 사상에 관련된다고 인간이 판단한 문장만을 학습용 데이터로 하는 것은 필수가 아니다. 즉, 예측하고자 하는 복수의 사상의 내용에 따라서는, 해당 복수의 사상에 분명히 관련되는 문장이 기술된 데이터뿐만 아니라, 해당 복수의 사상에 일견 무관계라고 생각되는 문장이 기술된 데이터를 포함하여 학습용 데이터로서 입력하도록 해도 된다.However, in the case where the purpose is to predict a person's personality type, hobbies, etc., the relationship between the sentence and the thought can be determined by the interpretation described below, even if the sentence is thought to have no relation at all to the plural ideas to be predicted. It is possible that this could be found. Therefore, it is not essential to use only sentences determined by a human to be related to a plurality of events to be predicted as learning data. That is, depending on the content of the plurality of events to be predicted, data for learning includes not only data in which sentences clearly related to the plurality of events are described, but also data in which sentences that are thought to be unrelated to the plurality of events are described. It may be entered as
또한, 학습용 데이터 입력부(310)에 의해 입력하는 문장, 즉 후술하는 해석 대상으로 하는 문장은, 1개의 센텐스(구점(句點)에 의해 나뉘어지는 단위)로 이루어지는 것이어도 되고, 복수의 센텐스로 이루어지는 것이어도 된다. 복수의 센텐스로 이루어지는 문장은, 1개의 문서에 포함되는 일부 또는 전부의 문장이어도 된다. 1개의 문서에 포함되는 일부의 문장을 학습용 데이터로서 사용하는 경우, 학습용 데이터 입력부(310)는, 문서 내의 어느 부분의 문장을 학습용 데이터로서 사용하는지를 설정한 상태에서, 문장 데이터를 입력한다(엄밀에 말하면, 문서 데이터를 입력하여, 그 문서 내의 설정 부분을 문장 데이터로서 사용함). 예를 들면, 복수의 기재 항목이 존재하는 문서 중에서, 특정한 기재 항목에 관한 문장을 학습용 데이터로서 사용하도록 설정하는 것이 고려된다. 설정하는 기재 항목은 1개라도 되고, 복수라도 된다.In addition, the sentence input by the
단어 추출부(311)는, 학습용 데이터 입력부(310)에 의해 입력된 m개의 문장을 해석하고, 해당 m개의 문장으로부터 n개(n은 2 이상의 임의의 정수)의 단어를 추출한다. 문장의 해석 방법으로서는, 예를 들면, 공지의 형태소 해석을 이용하는 것이 가능하다. 여기에서, 단어 추출부(311)는, 형태소 해석에 의해 분할되는 모든 품사의 형태소를 단어로서 추출하도록 해도 되고, 특정한 품사의 형태소만을 단어로서 추출하도록 해도 된다.The
그리고, m개의 문장 중에는, 동일한 단어가 복수 포함되어 있는 경우가 있다. 이 경우, 단어 추출부(311)는, 동일한 단어를 복수 개 추출하는 것은 하지 않고, 1개만 추출한다. 즉, 단어 추출부(311)가 추출하는 n개의 단어란, n종류의 단어라는 의미이다. 여기에서, 단어 추출부(311)는, m개의 문장으로부터 동일한 단어가 추출되는 빈도를 계측하고, 출현 빈도가 큰 쪽으로부터 n개(n종류)의 단어, 혹은 출현 빈도가 임계값 이상인 n개(n종류)의 단어를 추출하도록 해도 된다.In addition, a plurality of the same word may be included in m sentences. In this case, the
벡터 산출부(312)는 m개의 문장 및 n개의 단어로부터, m개의 문장 벡터 및 n개의 단어 벡터를 산출한다. 여기에서, 문장 벡터 산출부(312a)는, 단어 추출부(311)에 의한 해석 대상으로 된 m개의 문장을 각각 소정의 룰에 따라서 q차원으로 벡터화함으로써, q개(q는 2 이상의 임의의 정수)의 축 성분으로 이루어지는 m개의 문장 벡터를 산출한다. 또한, 단어 벡터 산출부(312b)는, 단어 추출부(311)에 의해 추출된 n개의 단어를 각각 소정의 룰에 따라서 q차원으로 벡터화함으로써, q개의 축 성분으로 이루어지는 n개의 단어 벡터를 산출한다.The
본 실시형태에서는, 일례로서, 다음과 같이 하여 문장 벡터 및 단어 벡터를 산출한다. 이제, m개의 문장과 n개의 단어로 이루어지는 집합 S=<d∈D, w∈W>를 생각한다. 여기에서, 각 문장 di(i=1, 2, …, m) 및 각 단어 wj(j=1, 2, …, n)에 대하여 각각 문장 벡터 di 및 단어 벡터 wj(이하에서는, 기호 "→"은 벡터인 것을 가리키는 것으로 함)을 관련짓는다. 그리고, 임의의 단어 wj와 임의의 문장 di에 대하여, 다음의 식(1)에 나타내는 확률P(wj|di)를 계산한다.In this embodiment, as an example, sentence vectors and word vectors are calculated as follows. Now, consider a set S=<d∈D, w∈W> consisting of m sentences and n words. Here, for each sentence di(i=1, 2, …, m) and each word wj (j=1, 2, …, n), respectively, the sentence vector di and the word vector wj (hereinafter, the symbol “→” indicates that it is a vector). Then, with respect to the arbitrary word wj and the arbitrary sentence di, the probability P(wj|di) shown in the following formula (1) is calculated.
그리고, 이 확률 P(wj|di)는, 예를 들면 문장이나 문서를 단락(paragraph)·벡터에 의해 평가하는 것에 대하여 기술한 논문 「"Distributed Representations of Sentences and Documents" by Quoc Le and Tomas Mikolov, Google Inc, Proceedings of the 31st International Conference on Machine Learning Held in Bejing, China on 22-24 June 2014」에 개시되어 있는 확률 p를 모방하여 산출하는 것이 가능한 값이다. 이 논문에는, 예를 들면 "the", "cat", "sat"라는 3개의 단어가 있을 때, 4개째의 단어로서 "on"을 예측한다고 되어 있고, 그 예측확률 p의 산출식이 게재되어 있다. 해당 논문에 기재되어 있는 확률 p(wt|wt-k, …, wt+k)는, 복수의 단어 wtk, …, wt+k로부터 다른 1개의 단어 wt를 예측했을 때의 정해 확률이다.And, this probability P(wj|di) is, for example, in the article ""Distributed Representations of Sentences and Documents" by Quoc Le and Tomas Mikolov, Google Inc, Proceedings of the 31st International Conference on Machine Learning Held in Bejing, China on 22-24 June 2014” is a value that can be calculated by imitating the probability p. In this paper, for example, when there are three words "the", "cat", and "sat", "on" is predicted as the fourth word, and the calculation formula for the prediction probability p is published. . The probability p(wt|wt-k, ..., wt+k) described in the paper is a plurality of words wtk, ... , is a positive probability when another word wt is predicted from wt+k.
이에 대하여, 본 실시형태에서 사용하는 식(1)에 나타내어지는 확률 P(wj|di)은, m개의 문장 중 1개의 문장 di로부터, n개의 단어 중 1개의 단어 wj가 예상되는 정해 확률을 표시하고 있다. 1개의 문장 di로부터 1개의 단어 wj를 예측한다는 것은, 구체적으로는, 어떤 문장 di가 출현했을 때, 그 중에 단어 wj가 포함될 가능성을 예측한다는 것이다.On the other hand, the probability P(wj|di) expressed in Equation (1) used in the present embodiment indicates a positive probability that one word wj out of n words is expected from one sentence di out of m sentences. are doing Predicting one word wj from one sentence di means predicting the possibility that the word wj will be included in a certain sentence di, specifically, when a certain sentence di appears.
식(1)에서는, e를 밑으로 하고, 단어 벡터 w→와 문장 벡터 d→의 내적값을 지수로 하는 지수 함수값을 이용한다. 그리고, 예측 대상으로 하는 문장 di와 단어 wj의 조합으로부터 계산되는 지수 함수값과, 문장 di와 n개의 단어 wk(k=1, 2, …, n)의 각 조합으로부터 계산되는 n개의 지수 함수값의 합계값의 비율을, 1개의 문장 di로부터 1개의 단어 wj가 예상되는 정해 확률로서 계산하고 있다.In Equation (1), an exponential function value is used with e as the base and the dot product of the word vector w→ and the sentence vector d→ as the exponent. Then, an exponential function value calculated from the combination of the sentence di and the word wj to be predicted, and n exponential function values calculated from each combination of the sentence di and n words wk (k=1, 2, …, n) The ratio of the sum values of is calculated as the positive probability that one word wj is expected from one sentence di.
여기에서, 단어 벡터 wj→과 문장 벡터 di→의 내적값은, 단어 벡터 wj→를 문장 벡터 di→의 방향으로 투영한 경우의 스칼라값, 즉 단어 벡터 wj→가 가지고 있는 문장 벡터 di→의 방향의 성분값이라고도 말할 수 있다. 이것은, 단어 wj가 문장 di에 기여하고 있는 정도를 표시하고 있다고 생각할 수 있다. 따라서, 이와 같은 내적을 이용하여 계산되는 지수 함수값을 이용하여, n개의 단어 wk(k=1, 2, …, n)에 대하여 계산되는 지수 함수값의 합계에 대한, 1개의 단어 wj에 대하여 계산되는 지수 함수값의 비율을 구하는 것은, 1개의 문장 di로부터 n개의 단어 중 1개의 단어 wj가 예상되는 정해 확률을 구하는 것에 상당한다.Here, the dot product of the word vector wj→ and the sentence vector di→ is a scalar value when the word vector wj→ is projected in the direction of the sentence vector di→, that is, the direction of the sentence vector di→ possessed by the word vector wj→ It can also be said to be the component value of This can be considered to indicate the degree to which the word wj contributes to the sentence di. Therefore, by using the exponential function value calculated using such a dot product, for the sum of the exponential function values calculated for n words wk (k=1, 2, ..., n), for one word wj Calculating the ratio of the calculated exponential function values corresponds to finding the positive probability that one word wj out of n words is expected from one sentence di.
그리고, 식(1)은, di와 wj에 대하여 대칭이므로, n개의 단어 중 1개의 단어 wj로부터, m개의 문장 중 1개의 문장 di가 예상되는 확률 P(di|wj)를 계산해도 된다. 1개의 단어 wj로부터 1개의 문장 di를 예측한다는 것은, 어떤 단어 wj가 출현했을 때, 그것이 문장 di 중에 포함될 가능성을 예측하는 것이다. 이 경우, 문장 벡터 di→와 단어 벡터 wj→의 내적값은, 문장 벡터 di→를 단어 벡터 wj→의 방향으로 투영한 경우의 스칼라값, 즉 문장 벡터 di→가 가지고 있는 단어 벡터 wj→의 방향의 성분값이라고도 말할 수 있다. 이것은, 문장 di가 단어 wj에 기여하고 있는 정도를 표시하고 있다고 생각할 수 있다.In addition, since Equation (1) is symmetric with respect to di and wj, the probability P(di|wj) at which one sentence di out of m sentences is expected may be calculated from one word wj out of n words. Predicting one sentence di from one word wj means predicting the probability that a certain word wj will be included in the sentence di when it appears. In this case, the dot product of the sentence vector di→ and the word vector wj→ is a scalar value when the sentence vector di→ is projected in the direction of the word vector wj→, that is, the direction of the word vector wj→ possessed by the sentence vector di→ It can also be said to be the component value of This can be considered to indicate the degree to which the sentence di contributes to the word wj.
그리고, 여기서는, 단어 벡터 w→와 문장 벡터 d→의 내적값을 지수로 하는 지수 함수값을 이용하는 계산예를 제시했지만, 지수 함수값을 이용하는 것을 필수로 하는 것은 아니다. 단어 벡터 w→와 문장 벡터 d→의 내적값을 이용한 계산식이면 되고, 예를 들면, 내적값 그 자체의 비율에 의해 확률을 구하도록 해도 된다.Incidentally, here, a calculation example using an exponential function value in which the dot product of the word vector w ? and the sentence vector d ? A calculation formula using the dot product of the word vector w→ and the sentence vector d→ may be sufficient, for example, the probability may be calculated|required by the ratio of the dot product itself.
다음으로, 벡터 산출부(312)는, 하기의 식(2)에 나타낸 바와 같이, 상기 식(1)에 의해 산출되는 확률 P(wj|di)를 모든 집합 S에 대하여 합계한 값 L을 최대화하는 문장 벡터 di→ 및 단어 벡터 wj→을 산출한다. 즉, 문장 벡터 산출부(312a) 및 단어 벡터 산출부(312b)는, 상기 식(1)에 의해 산출되는 확률 P(wj|di)를, m개의 문장과 n개의 단어의 모든 조합에 대하여 산출하고, 이들을 합계한 값을 목표 변수 L로 하여, 해당 목표 변수 L을 최대화하는 문장 벡터 di→ 및 단어 벡터 wj→를 산출한다.Next, the
m개의 문장과 n개의 단어의 모든 조합에 대하여 산출한 확률 P(wj|di)의 합계값 L을 최대화한다는 것은, 어떤 문장 di(i=1, 2, …, m)로부터 어떤 단어 wj(j=1, 2, …, n)가 예상되는 정해 확률을 최대화하는 것이다. 즉, 벡터 산출부(312)는, 이 정해 확률이 최대화하는 바와 같은 문장 벡터 di→ 및 단어 벡터 wj→를 산출하는 것이라고 말할 수 있다.Maximizing the sum value L of the probability P(wj|di) calculated for all combinations of m sentences and n words means from a certain sentence di(i=1, 2, ..., m) to a certain word wj(j =1, 2, …, n) is to maximize the expected probability of being positive. That is, it can be said that the
여기에서, 본 실시형태에서는, 전술한 바와 같이, 벡터 산출부(312)는, m개의 문장 di를 각각 q차원으로 벡터화함으로써, q개의 축 성분으로 이루어지는 m개의 문장 벡터 di→를 산출하고, 또한 n개의 단어를 각각 q차원으로 벡터화함으로써, q개의 축 성분으로 이루어지는 n개의 단어 벡터 wj→를 산출한다. 이것은, q개의 축방향을 가변으로 하여, 전술한 목표 변수 L이 최대화하는 바와 같은 문장 벡터 di→ 및 단어 벡터 wj→를 산출하는 것에 상당한다.Here, in the present embodiment, as described above, the
지표값 산출부(313)는, 벡터 산출부(312)에 의해 산출된 m개의 문장 벡터 di→와 n개의 단어 벡터 wj→의 내적을 각각 취함으로써, m개의 문장 di 및 n개의 단어 wj간의 관계성을 반영한 m×n개의 유사성 지표값을 산출한다. 본 실시형태에서는, 지표값 산출부(313)는 하기의 식(3)에 나타낸 바와 같이, m개의 문장 벡터 di→의 각 q개의 축성분(d11∼dmq)을 각 요소로 하는 문장 행렬 D와, n개의 단어 벡터 wj→의 각 q개의 축 성분(w11∼wnq)을 각 요소로 하는 단어 행렬 W의 곱을 취하는 것에 의해, m×n개의 유사성 지표값을 각 요소로 하는 지표값 행렬 DW를 산출한다. 여기에서, Wt는 단어 행렬의 전치 행렬이다.The index
이와 같이 하여 산출된 지표값 행렬 DW의 각 요소는, 어느 단어가 어느 문장에 대하여 어느 정도 기여하고 있는 것인지를 표시한 것이라고 말할 수 있다. 예를 들면, 1행 2열의 요소 dw12는, 단어 w2가 문장 d1에 대하여 어느정도 기여하고 있는 것인지를 표시한 값이다. 이에 의해, 지표값 행렬 DW의 각 행은 문장의 유사성을 평가하는 것으로서 이용하는 것이 가능하며, 각각의 열은 단어의 유사성을 평가하는 것으로서 이용하는 것이 가능하다.Each element of the index value matrix DW calculated in this way can be said to indicate which word contributes to which sentence to what extent. For example, the element dw12 in
분류 모델 생성부(314)는, 지표값 산출부(313)에 의해 산출된 m×n개의 유사성 지표값을 이용하여, 1개의 문장 di(i=1, 2, …, m)에 대하여 n개의 유사성 지표값 dwj(j=1, 2, …, n)로 이루어지는 문장 지표값군을 기초로, m개의 문장 di를 복수의 사상으로 분류하기 위한 분류 모델을 생성한다. 예를 들면, 제1∼제3의 3개의 사상으로 분류하는 분류 모델을 생성하는 경우, 분류 모델 생성부(314)는, 제1 사상에 해당하는 것이 이미 알려진 문장을 기초로 산출되는 문장 지표값군에 대해서는 「제1 사상」으로 분류되고, 제2 사상에 해당하는 것이 이미 알려진 문장을 기초로 산출되는 문장 지표값군에 대해서는 「제2 사상」으로 분류되고, 제3 사상에 해당하는 것이 이미 알려진 문장을 기초로 산출되는 문장 지표값군에 대해서는 「제3 사상」으로 분류되는 바와 같은 분류 모델을 생성한다. 그리고, 분류 모델 생성부(314)는, 생성한 분류 모델을 분류 모델 기억부(330)에 기억시킨다.The classification
여기에서, 문장 지표값군이란, 예를 들면, 첫번째의 문장 d1의 경우, 지표값 행렬 DW의 첫째줄에 포함되는 n개의 유사성 지표값 dw11∼dw1n이 이것에 해당한다. 마찬가지로, 두 번째의 문장 d2의 경우, 지표값 행렬 DW의 둘째줄에 포함되는 n개의 유사성 지표값 dw21∼dw2n이 이것에 해당한다. 이하, m개째의 문장 dm에 관한 문장 지표값군(n개의 유사성 지표값 dwm1∼dwmn)까지 동일하다.Here, for the sentence index value group, for example, in the case of the first sentence d1, n similarity index values dw11 to dw1n included in the first line of the index value matrix DW correspond to this. Similarly, in the case of the second sentence d2, n similarity index values dw21 to dw2n included in the second row of the index value matrix DW correspond to this. Hereinafter, the same applies to sentence index value groups (n similarity index values dwm1 to dwmn) related to the m-th sentence dm.
분류 모델 생성부(314)는, 예를 들면, 각 문장 di의 문장 지표값군에 대하여 각각 특징량을 산출하고, 해당 산출한 특징량의 값에 따라, 마르코프 연쇄 몬테카를로법(Markov chain Monte Carlo method)에 의한 복수군 분리의 최적화를 행함으로써, 각 문장 di를 복수의 사상으로 분류하기 위한 분류 모델을 생성한다. 여기에서, 분류 모델 생성부(314)가 생성하는 분류 모델은, 문장 지표값군을 입력으로 하여, 예측하고자 하는 복수의 사상 중 어느 하나를 해로서 출력하는 학습 모델이다. 혹은, 예측하고자 하는 복수의 사상의 각각에 해당하는 가능성을 확률로서 출력하는 학습 모델로 해도 된다. 학습 모델의 형태는 임의이다.The classification
예를 들면, 분류 모델 생성부(314)가 생성하는 분류 모델의 형태는, 회귀 모델(선형 회귀, 로지스틱 회귀, 서포트 벡터 머신 등을 베이스로 하는 학습 모델), 나무 모델(결정 나무, 회귀 나무, 랜덤 포레스트, 구배 부스팅 나무 등을 베이스로 하는 학습 모델), 뉴럴 네트워크 모델(퍼셉트론(perceptron), 컨벌루션 뉴럴 네트워크, 재기형 뉴럴 네트워크, 잔차(殘差) 네트워크, RBF 네트워크, 확률적 뉴럴 네트워크, 스파이킹 뉴럴 네트워크, 복소 뉴럴 네트워크 등을 베이스로 하는 학습 모델), 베이즈 모델(베이즈 추론 등을 베이스로 하는 학습 모델), 클러스터링 모델(k근방법, 계층형 클러스터링, 비계층형 클러스터링, 토픽 모델 등을 베이스로 하는 학습 모델) 등 중 어느 하나로 하는 것이 가능하다. 그리고, 여기에 예로 든 분류 모델은 일례에 지나지 않고, 이것에 한정되는 것은 아니다.For example, the form of the classification model generated by the classification
예측용 데이터 입력부(320)는, 예측 대상으로 하는 1개 이상의 문장에 관한 문장 데이터를 예측용 데이터로서 입력한다. 예측용 데이터 입력부(320)가 입력하는 문장 데이터는, 복수의 사상 중 어디에 해당하는지가 미지인 문장에 관한 문장 데이터다. 예측용 데이터 입력부(320)가 입력하는 문장 데이터는, 학습용 데이터 입력부(310)가 입력하는 문장 데이터와 마찬가지로, 예측하고자 하는 복수의 사상과 관련된 문장이 기술된 데이터라도 되고, 예측하고자 하는 복수의 사상과는 일견 무관계라고 생각되는 문장이 기술된 데이터라도 된다.The prediction
예측용 데이터 입력부(320)가 입력하는 문장 데이터의 수(문장의 수) m'은, 학습용 데이터 입력부(310)가 입력하는 문장의 수(m개)와 반드시 같은 수가 아니어도 된다. 예측용 데이터 입력부(320)가 입력하는 문장 데이터는 1개여도 되고, 복수 개여도 된다. 다만, 예측용 데이터 입력부(320)가 입력하는 문장에 대해서도 유사성 지표값을 산출한다. 유사성 지표값은, 어느 단어가 어느 문장에 대하여 어느 정도 기여하고 있는 것인가, 어느 문장이 어느 단어에 대하여 어느 정도 기여하고 있는 것인가를 표시한 것이므로, 예측용 데이터 입력부(320)가 입력하는 문장에 대해서도 복수로 하는 것이 바람직하다.The number of sentence data (number of sentences) m' input by the prediction
사상 예측부(321)는, 예측용 데이터 입력부(320)에 의해 입력된 예측용 데이터에 대하여, 유사성 지표값 산출부(300)의 단어 추출부(311), 벡터 산출부(312) 및 지표값 산출부(313)의 처리를 실행함으로써 얻어지는 유사성 지표 값을, 분류 모델 생성부(314)에 의해 생성된 분류 모델(분류 모델 기억부(330)에 기억된 분류 모델)에 적용하는 것에 의해, 예측 대상 데이터로부터 복수의 사상 중 어느 하나를 예측한다.The
예를 들면, 예측용 데이터 입력부(320)에 의해 m'개의 문장 데이터가 예측용 데이터로서 입력된 경우, 사상 예측부(321)가 그 m'개의 문장 데이터에 대하여 유사성 지표값 산출부(300)의 처리를 실행하는 것에 의해, m'개의 문장 지표값군을 얻는다. 사상 예측부(321)는, 유사성 지표값 산출부(300)에 의해 산출된 m'개의 문장 지표값군을 1개씩 분류 모델에 입력 데이터로서 부여하는 것에 의해, m'개의 문장 각각에 대하여 복수의 사상의 어디에 해당하는지를 예측한다.For example, when m' sentence data are inputted as prediction data by the prediction
여기에서, 단어 추출부(311)는, m개의 학습용 데이터로부터 추출한 n개의 단어와 동일한 단어를 m'개의 예측용 데이터로부터 추출하는 것이 바람직하다. 예측용 데이터로부터 추출되는 n개의 단어로 이루어지는 문장 지표값군이, 학습용 데이터로부터 추출된 n개의 단어로 이루어지는 문장 지표값군과 동일한 단어를 요소로 하는 것으로 되므로, 분류 모델 기억부(330)에 기억된 분류 모델에 대한 적합도가 높아지기 때문이다. 다만, 학습 시와 동일한 n개의 단어를 예측 시에도 추출하는 것을 필수로 하는 것은 아니다. 학습 시와는 다른 단어의 조합에 의해 예측용의 문장 지표값군이 생성되는 경우, 분류 모델에 대한 적합도가 낮아지지만, 적합도가 낮다는 것 자체도 평가의 하나의 요소로서, 사상에 해당하는 가능성을 예측하는 것 자체는 가능하기 때문이다.Here, it is preferable that the
도 9 및 도 10은 본 발명의 일 실시예에 따른 사상 예측 시스템의 동작예를 나타내는 플로차트이다.9 and 10 are flowcharts illustrating an operation example of a mapping prediction system according to an embodiment of the present invention.
도 9를 참조하면, 먼저, 학습용 데이터 입력부(310)는, 복수의 사상 중 어디에 해당하는 지가 이미 알려진 m개의 문장에 관한 문장 데이터를 학습용 데이터로서 입력한다(스텝 S1). 단어 추출부(311)는, 학습용 데이터 입력부(310)에 의해 입력된 m개의 문장을 해석하고, 해당 m개의 문장으로부터 n개의 단어를 추출한다(스텝 S2).Referring to FIG. 9 , first, the learning
이어서, 벡터 산출부(312)는, 학습용 데이터 입력부(310)에 의해 입력된 m개의 문장 및 단어 추출부(311)에 의해 추출된 n개의 단어로부터, m개의 문장 벡터 di→ 및 n개의 단어 벡터 wj→를 산출한다(스텝 S3). 그리고, 지표값 산출부(313)는, m개의 문장 벡터 di→와 n개의 단어 벡터 wj→의 내적을 각각 취함으로써, m개의 문장 di 및 n개의 단어 wj간의 관계성을 반영한 m×n개의 유사성 지표값(m×n개의 유사성 지표값을 각 요소로 하는 지표값 행렬(DW)을 산출한다(스텝 S4).Next, the
또한, 분류 모델 생성부(314)는, 지표값 산출부(313)에 의해 산출된 m×n개의 유사성 지표값을 이용하여, 1개의 문장 di에 대하여 n개의 유사성 지표값 dwj로 이루어지는 문장 지표값군을 기초로, m개의 문장 di를 복수의 사상으로 분류하기 위한 분류 모델을 생성하고, 생성한 분류 모델을 분류 모델 기억부(330)에 기억시킨다(스텝 S5).In addition, the classification
이상에 의해, 학습 시의 동작이 종료된다.As a result, the operation at the time of learning is finished.
도 10을 참조하면, 예측용 데이터 입력부(320)는, 복수의 사상 중 어디에 해당하는 지가 미지인 1개 이상의 문장에 관한 문장 데이터를 예측용 데이터로서 입력한다(스텝 S11). 사상예측부(321)는, 예측용 데이터 입력부(320)에 의해 입력된 예측용 데이터를 유사성 지표값 산출부(300)에 공급하고, 유사성 지표값의 산출을 지시한다.Referring to FIG. 10 , the prediction
이 지시에 따라, 단어 추출부(311)는, 예측용 데이터 입력부(320)에 의해 입력된 m'개의 문장을 해석하고, 해당 m'개의 문장으로부터 n개의 단어(학습용 데이터로부터 추출된 것과 동일한 단어)를 추출한다(스텝 S12).According to this instruction, the
그리고, m'개의 문장 중에 n개의 단어가 모두 포함되어 있다고는 한정하지 않는다. m'개의 문장 중에 존재하지 않는 단어에 대해서는 Null값으로 된다.In addition, it is not limited that all n words are included among the m' sentences. A null value is set for a word that does not exist among m' sentences.
이어서, 벡터 산출부(312)는, 예측용 데이터 입력부(320)에 의해 입력된 m'개의 문장 및 단어 추출부(311)에 의해 추출된 n개의 단어로부터, m'개의 문장 벡터 di→ 및 n개의 단어 벡터 wj→를 산출한다(스텝 S13).Next, the
그리고, 지표값 산출부(313)는, m'개의 문장 벡터 di→와 n개의 단어 벡터 wj→의 내적을 각각 취함으로써, m'개의 문장 di 및 n개의 단어 wj간의 관계성을 반영한 m'×n개의 유사성 지표값(m'×n개의 유사성 지표값을 각 요소로 하는 지표값 행렬 DW)을 산출한다(스텝 S14). 지표값 산출부(313)는, 산출한 m'×n개의 유사성 지표값을 사상 예측부(321)에 공급한다.Then, the index
사상 예측부(321)는, 유사성 지표값 산출부(300)로부터 공급된 m'×n개의 유사성 지표값을 기초로, m'개의 문장 지표값군을 각각 분류 모델 기억부(330)에 기억된 분류 모델에 적용하는 것에 의해, m'개의 문장 각각에 대하여 복수의 사상의 어디에 해당하는지를 예측한다(스텝 S15). 이에 의해, 예측 시의 동작이 종료된다.The
도 11은 본 발명의 다른 실시예에 다른 사상 예측 시스템의 블록도이다.11 is a block diagram of a mapping prediction system according to another embodiment of the present invention.
도 11을 참조하면, 본 발명의 다른 실시예에 따른 사상 예측 시스템은 도 8에 나타낸 구성에 더하여 보수 결정부(322)를 더욱 구비하고 있다. 또한, 도 8에 나타낸 분류 모델 생성부(314)를 대신하여 분류 모델 생성부(314')를 구비하고 있다.Referring to FIG. 11 , the event prediction system according to another embodiment of the present invention further includes a
보수 결정부(322)는, 사상 예측부(321)에 의해 예측된 사상에 대한 실제의 사상에 따라, 분류 모델 생성부(314')에 부여하는 보수를 결정한다. 예를 들면, 보수 결정부(322)는, 사상 예측부(321)에 의해 예측된 사상이 실제의 사상과 일치하고 있는 경우에는 플러스의 보수를 부여하도록 결정하고, 일치하지 않고 있는 경우는 무보수 또는 마이너스의 보수를 부여하도록 결정한다. 예측된 사상이 실제의 사상과 일치하고 있는지의 여부의 판정은, 각종 방법에 의해 실시하는 것이 가능하다.The
예를 들면, 복수의 사상으로서 사용자의 취미 취향을 예측하는 경우에는, 예측한 취미 취향에 맞춘 정보를 사용자에게 제시하고, 그 정보에 대하여 사용자가 액션을 일으킨 경우에, 예측된 사상이 실제의 사상과 일치하고 있다고 판정하는 것이 가능하다. 구체적인 예로서, 예측한 취미 취향에 맞춘 상품이나 서비스의 광고 정보를, 사용자가 열람하고 있는 웹페이지에 표시하고, 그 광고 정보를 클릭하여 상세 정보를 열람하거나, 그 광고 정보에 게재되어 있는 상품이나 서비스를 구입하거나 한다는 액션을 사용자가 일으킨 경우에, 예측된 사상이 실제의 사상과 일치하고 있다고 판정한다.For example, when a user's taste preference is predicted as a plurality of events, information tailored to the predicted taste preference is presented to the user, and when the user takes an action on the information, the predicted event is an actual event. It is possible to judge that it is consistent with As a specific example, advertisement information of a product or service tailored to the predicted hobby or taste is displayed on the web page the user is browsing, and the user clicks the advertisement information to view the detailed information, or the product or service posted in the advertisement information. When the user causes an action such as purchasing a service, it is determined that the predicted event coincides with the actual event.
또한, 어떤 시스템에 대하여 특정한 장해가 발생할 가능성을 예측하는 경우에는, 시스템의 감시 이력을 기록한 이력 데이터에 기초하여, 실제로 특정한 장해가 발생했는지의 여부를 감시하고, 예측된 장해가 실제로 발생한 것이 이력 데이터로부터 검출된 경우에, 예측된 사상이 실제의 사상과 일치하고 있다고 판정하는 것이 가능하다. 마찬가지로, 복수 사용자에 대하여 특정한 증상이 발생할 가능성 등을 예측하는 경우에는, 사용자의 진찰 이력 등의 이력 데이터에 기초하여, 실제로 특정한 증상이 발증했는지의 여부를 감시하고, 예측된 증상이 실제로 발증한 것이 이력 데이터로부터 검출된 경우에, 예측된 사상이 실제의 사상과 일치하고 있다고 판정하는 것이 가능하다.In addition, when predicting the possibility of occurrence of a specific failure with respect to a certain system, based on the historical data in which the monitoring history of the system is recorded, whether or not a specific failure has actually occurred is monitored, and the fact that the predicted failure has actually occurred is historical data When detected from , it is possible to determine that the predicted event coincides with the actual event. Similarly, when predicting the possibility of occurrence of a specific symptom for multiple users, based on historical data such as the user's medical examination history, it is monitored whether or not the specific symptom actually occurs, and it is determined that the predicted symptom actually occurs. In the case of detection from the historical data, it is possible to determine that the predicted event coincides with the actual event.
분류 모델 생성부(314')는, 도 8에 나타낸 분류 모델 생성부(314)와 마찬가지로, 학습용 데이터 입력부(310)에 의해 입력된 학습용 데이터를 기초로, 분류 모델을 생성하고, 분류 모델 기억부(330)에 기억시킨다. 이것에 더하여, 분류 모델 생성부(314')는, 보수 결정부(322)에 의해 결정된 보수에 따라, 분류 모델 기억부(330)에 기억된 분류 모델을 개변한다. The classification model generation unit 314' generates a classification model based on the training data input by the training
이와 같이, DB 구축부(33)는 m개(m은 2 이상의 임의의 정수)의 문장을 해석하고, 상기 m개의 문장으로부터 n개(n은 2 이상의 임의의 정수)의 단어를 추출하는 단어 추출부; 상기 m개의 문장을 각각 소정의 룰에 따라서 q차원(q는 2 이상의 임의의 정수)으로 벡터화함으로써, q개의 축 성분으로 이루어지는 m개의 문장 벡터를 산출하는 문장 벡터 산출부; 상기 n개의 단어를 각각 소정의 룰에 따라서 q차원으로 벡터화함으로써, q개의 축 성분으로 이루어지는 n개의 단어 벡터를 산출하는 단어 벡터 산출부; 상기 m개의 문장 벡터와 상기 n개의 단어 벡터의 내적을 각각 취함으로써, 상기 m개의 문장 및 상기 n개의 단어 간의 관계성을 반영한 m×n개의 유사성 지표값을 산출하는 지표값 산출부; 상기 지표값 산출부에 의해 산출된 상기 m×n개의 유사성 지표값을 이용하여, 1개의 문장에 대하여 n개의 유사성 지표값으로 이루어지는 문장 지표값군을 기초로, 상기 m개의 문장을 복수의 사상으로 분류하기 위한 분류 모델을 생성하는 분류 모델 생성부; 예측 대상으로 하는 1개 이상의 문장을 예측용 데이터로서 입력하는 예측용 데이터 입력부; 및 상기 예측용 데이터 입력부에 의해 입력된 상기 예측용 데이터에 대하여 상기 단어 추출부, 상기 문장 벡터 산출부, 상기 단어 벡터 산출부 및 상기 지표값 산출부의 처리를 실행함으로써 얻어지는 유사성 지표값을, 상기 분류 모델 생성부에 의해 생성된 상기 분류 모델에 적용하는 것에 의해, 상기 예측 대상 데이터로부터 상기 복수의 사상 중 어느 하나를 예측하는 사상 예측부를 포함할 수 있다.In this way, the
한편, 본 발명의 다른 실시예에 따른 문장 작성 시스템(1000)은 도 1에 도시된 구성요소에 더하여 음성 출력 장치(50)를 더 포함할 수 있다.Meanwhile, the
음성 출력 장치(50)는 무선 통신 기능이 구비된 스피커로 적용될 수 있으며, 사용자 단말(10)과 무선 통신 방식으로 연결되어 사용자 단말(10)에서 문장 시현부(35)로부터 수신하는 예시 문장을 음성으로 출력할 수 있다.The
도 12는 본 발명의 일 실시예에 따른 음성 출력 장치를 보여주는 도면이다.12 is a diagram illustrating an audio output device according to an embodiment of the present invention.
도 12를 참조하면, 본 발명의 일 실시예에 따른 음성 출력 장치(50)는 본체의 전면부에 부착되어 외부로 노출되고, 다수의 구경을 가진 스피커가 수직방향으로 형성되며, 각 스피커로부터 음향 신호가 출력되는 스피커부(51)를 포함할 수 있다.Referring to FIG. 12 , the
한편, 음성 출력 장치(50)는 본체의 내부에 무선통신을 지원하는 와이파이모듈, 블루투스모듈 등을 모듈화하여 구성할 수 있으며, 와이파이 또는 블루투스 환경 내에서 사용자 단말(10)로부터 제공하는 음원을 재생시켜 사용자가 청취할 수 있도록 한다. 이때, 사용자 단말(10)은 문장 시현부(35)로부터 수신하는 문장을 음성 데이터로 변환할 수 있으며, 음성 데이터를 음성 출력 장치(50)로 전송하여 사용자가 청취할 수 있도록 한다.On the other hand, the
한편, 본 발명의 또 다른 실시예에 따른 문장 작성 시스템(1000)은 도 1에 도시된 구성요소에 더하여 보조 출력 장치를 더 포함할 수 있다.Meanwhile, the
보조 출력 장치는 무선 통신 기능이 구비된 디스플레이 장치로 적용될 수 있으며, 사용자 단말(10)과 무선 통신 방식으로 연결되어 사용자 단말(10)에서 문장 시현부(35)로부터 수신하는 예시 문장을 출력할 수 있다.The auxiliary output device may be applied as a display device equipped with a wireless communication function, and is connected to the
이러한 보조 출력 장치는 사용자 단말(10)이 설치되는 테이블 상에 설치 모듈을 통해 설치될 수 있다. 이와 관련하여 도 13을 참조하여 설명한다.Such an auxiliary output device may be installed through an installation module on a table on which the
도 13은 본 발명의 일 실시예에 따른 설치 모듈을 보여주는 도면이다.13 is a view showing an installation module according to an embodiment of the present invention.
도 13을 참조하면, 본 발명의 일 실시예에 따른 설치 모듈(60)은 설치 바아(62), 안착부(63) 및 설치 브라켓(61)을 포함할 수 있다.Referring to FIG. 13 , the
설치 바아(62)는 직육면체의 기둥 형태로 구비될 수 있으며, 일단부에 안착부(63)가 마련될 수 있다.The
안착부(63)는 소정 두께의 판 형태로 형성되되, 보조 출력 장치의 안착을 위하 하단 부분에 안착홈을 형성할 수 있다. 즉, 보조 출력 장치의 하단 부분은 안착홈에 삽입 설치될 수 있다.The
설치 브라켓(61)은 설치 바아(62)의 타단에 설치 바아(62)의 회동이 가능하도록 구비될 수 있다.The
설치 브라켓(61)은 바닥면 및 바닥면의 양단으로부터 상방으로 형성되는 한 쌍의 벽면으로 구성될 수 있으며, 이때, 한 쌍의 벽면은 상단 부분이 반원 형태로 형성될 수 있다. 이러한 설치 브라켓(61)의 한 쌍의 벽면 사이에 설치 바아(62)의 타단이 회동 가능하게 설치될 수 있다.The
예를 들면, 설치 바아(62)는 타측단에 장홀(611)을 형성할 수 있으며, 설치 브라켓(61)의 외주면으로부터 장홀(611)을 관통하는 회동 핀(612)을 통해 설치 브라켓(61)에 설치될 수 있다. 이때, 설치 바아(62)는 장홀(611)에 의해 설치 브라켓(61)에 대하여 전후 방향으로 이동할 수 있을 것이다.For example, the
설치 브라켓(61)은 바닥면이 사용자 단말(10)이 설치된 테이블 상에 부착 고정될 수 있다.The
설치 브라켓(61)의 한 쌍의 벽면의 테두리 부분에는 내측으로 요입된 다수개의 삽입 홈(611b)이 복수 개 형성될 수 있다. 여기에서, 설치 바아(62)의 타측단의 외주면에는 삽입 홈(611b)에 삽입될 수 있도록 구비되는 삽입 돌기(62a)를 형성할 수 있다. 이때, 삽입 홈(611b)은 나선 형태로 구비될 수 있다. 즉, 삽입 홈(611b)은 내측에 걸림 홈(611a)을 형성한 나선 형태로 구비됨으로써, 내측에 삽입된 삽입 돌기(62a)가 이탈되는 것을 방지할 수 있다.A plurality of
이와 같은 설치 바아(62)의 회동 방법에 대해 간략히 설명하면, 사용자는 설치 바아(62)를 전방 이동시킨 뒤 원하는 각도로 회동시키고, 그 상태에서 설치 바아(62)를 후방 이동시킴으로써 삽입 홈(611b)에 삽입 돌기(62a)를 끼워 넣어 고정할 수 있다. 이러한 설치 모듈(60)은 사용자 조작이 용이하다는 장점을 갖는다. Briefly describing the rotation method of the
한편, 안착부(63)는 전체가 은이나 동으로 이루어지거나, 금속판의 상측에 은, 이산화티타늄, 구리 중 어느 하나 이상의 항균물질을 일체로 코팅되는 구성으로 이루어질 수 있다.On the other hand, the seating
더하여, 상기 항균물질은, 이온상태의 증착, 도금, 스프레이 등의 방법을 이용하여 금속판의 상측에 일체로 코팅되어도 좋다.In addition, the antibacterial material may be integrally coated on the upper side of the metal plate using a method such as ion deposition, plating, or spraying.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing the technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
1000: 문장 작성 시스템
10: 사용자 단말
20: 네트워크
30: 문장 작성 장치
40: 데이터베이스1000: sentence writing system
10: user terminal
20: network
30: sentence writing device
40: database
Claims (20)
저작권이 만료된 자료를 저장한 데이터베이스를 구축하고, 상기 사용자 단말로부터 사용자가 입력하는 문장인 입력 문장을 획득하고, 상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하여 상기 사용자 단말에서 출력하는 문장 작성 장치;를 포함하고,
상기 문장 작성 장치는,
상기 데이터베이스에 저장된 문장들을 Word2Vec 알고리즘에 따라 학습하여 입력 문장에 대한 문맥 정보를 나타내는 벡터값을 추출하는 신경망을 구축하고, 상기 사용자 단말로부터 획득하는 입력 문장을 상기 신경망에 입력하여 상기 입력 문장에 대한 문맥 정보를 나타내는 입력 문장 벡터값을 산출하고, 상기 데이터베이스에 저장된 문장들 각각의 문맥 정보를 나타내는 예시 문장 벡터값들과 상기 입력 문장 벡터값 간의 유사도를 산출하고, 상기 데이터베이스에 저장된 문장들 중 상기 입력 문장 벡터값과 유사도가 가장 높은 예시 문장 벡터값을 갖는 문장을 상기 예시 문장으로 추출하여 상기 사용자 단말로 전송하고,
상기 사용자 단말과 무선 통신 방식으로 연결되어 상기 사용자 단말에서 상기 문장 작성 장치로부터 수신하는 상기 예시 문장을 수신하여 출력하는 보조 출력 장치; 및
상기 사용자 단말이 설치되는 테이블 상에 상기 보조 출력 장치를 설치하는 설치 모듈;을 더 포함하고,
상기 설치 모듈은,
직육면체의 기중 형태로 구비되는 설치 바아;
상기 설치 바아의 일단부에 소정 두께의 판 형태로 형성되되, 하단 부분에 상기 보조 출력 장치가 삽입 설치되는 안착홈을 형성하는 안착부; 및
상기 설치 바아의 타단에 상기 설치 바아의 회동이 가능하도록 설치되는 설치 브라켓;을 포함하고,
상기 설치 브라켓은,
바닥면;
상기 바닥면의 양단으로부터 상방으로 형성되고, 상단 부분이 반원 형태로 형성되는 한 쌍의 벽면; 및
상기 한 쌍의 벽면 각각의 테두리 부분에 내측으로 요입되어 형성되되, 내측에 걸림 홈을 형성한 나선 형태로 형성되는 복수의 삽입 홈;을 포함하고,
상기 설치 바아는,
타단부에 장홀을 형성하고, 상기 한 쌍의 벽면의 외측면으로부터 상기 장홀을 관통하는 회동 핀을 통해 상기 한 쌍의 벽면 사이에 회동 가능하게 설치되고, 타단부에 상기 삽입 홈에 삽입될 수 있도록 구비되는 삽입 돌기를 형성하고,
상기 안착부는,
금속판의 상측에 은, 이산화티타늄, 구리 중 어느 하나 이상의 항균물질을 일체로 코팅하는 구성으로 이루어지는, 문장 작성 시스템.
user terminal; and
Constructing a database storing data whose copyright has expired, obtaining an input sentence that is a sentence input by the user from the user terminal, extracting a sentence similar to the input sentence from the database as an example sentence, and outputting it from the user terminal a sentence writing device; including;
The sentence writing device,
By learning the sentences stored in the database according to the Word2Vec algorithm, a neural network that extracts a vector value representing context information for an input sentence is constructed, and an input sentence obtained from the user terminal is input to the neural network to provide a context for the input sentence. Calculating an input sentence vector value representing information, calculating a similarity between example sentence vector values representing context information of each of the sentences stored in the database and the input sentence vector value, and calculating the input sentence among sentences stored in the database Extracting a sentence having an example sentence vector value with the highest degree of similarity to the vector value as the example sentence and transmitting it to the user terminal,
an auxiliary output device connected to the user terminal through a wireless communication method to receive and output the example sentence received from the sentence writing device in the user terminal; and
Further comprising; an installation module for installing the auxiliary output device on the table on which the user terminal is installed,
The installation module is
Installation bar provided in the form of a rectangular parallelepiped;
a seating part formed in the form of a plate of a predetermined thickness at one end of the installation bar, and forming a seating groove in the lower part of the auxiliary output device to be inserted and installed; and
Including; and an installation bracket installed at the other end of the installation bar so that the rotation of the installation bar is possible;
The installation bracket is
bottom surface;
a pair of wall surfaces formed upwardly from both ends of the bottom surface and having an upper end formed in a semicircular shape; and
A plurality of insertion grooves that are recessed inwardly on the edge of each of the pair of wall surfaces and formed in a spiral shape with a locking groove formed on the inside;
The installation bar,
A long hole is formed at the other end, and is rotatably installed between the pair of wall surfaces from the outer surface of the pair of wall surfaces through a rotation pin penetrating the long hole, and is inserted into the insertion groove at the other end. Forming an insertion protrusion provided,
The seating part,
A sentence writing system consisting of an integral coating of any one or more antibacterial substances of silver, titanium dioxide, and copper on the upper side of the metal plate.
상기 사용자 단말은,
상기 문장 작성 장치에서 운영하는 문장 작성 어플리케이션이 탑재되어 실행되는, 문장 작성 시스템.
According to claim 1,
The user terminal is
A sentence writing system that is loaded and executed with a sentence writing application operated by the sentence writing device.
상기 사용자 단말은,
사용자로부터 문장을 입력 받기 위한 입력 영역과 상기 예시 문장을 출력하기 위한 출력 영역이 나란히 배치된 인터페이스를 갖는 문장 작성 어플리케이션이 탑재되어 실행되는, 문장 작성 시스템.
According to claim 1,
The user terminal is
A sentence writing system, wherein a sentence writing application having an interface in which an input region for receiving a sentence from a user and an output region for outputting the example sentence are arranged side by side is mounted and executed.
상기 문장 작성 장치는,
상기 사용자 단말로부터 상기 입력 문장을 수신하는 입력부;를 포함하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
Including; an input unit for receiving the input sentence from the user terminal;
상기 문장 작성 장치는,
저작권이 만료된 자료를 이용할 수 있도록 구비된 웹 사이트에 접속하여 상기 저작권이 만료된 자료를 수집하는 DB 구축부;를 포함하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
A system for writing sentences, including; a DB construction unit for accessing a web site provided so that the copyright has expired material can be used and collecting the copyright expired material.
상기 문장 작성 장치는,
상기 저작권이 만료된 자료들을 수집하여 문장들을 추출하고, 추출한 문장들을 상기 데이터베이스에 저장하는 DB 구축부;를 포함하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
A DB construction unit for collecting the copyrighted materials, extracting sentences, and storing the extracted sentences in the database; including, a sentence writing system.
상기 문장 작성 장치는,
상기 저작권이 만료된 자료들을 수집하고, 상기 저작권이 만료된 자료들 간의 유사문장 관계를 식별하는 DB 구축부;를 포함하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
A DB construction unit for collecting the copyright-expired materials and identifying a similar sentence relationship between the copyright-expired materials; including, a text writing system.
상기 문장 작성 장치는,
상기 저작권이 만료된 자료들을 수집하는 DB 구축부;를 포함하고,
상기 DB 구축부는,
상기 저작권이 만료된 자료들 각각의 사상(事象)을 식별하는 사상 예측 시스템;을 포함하고,
상기 사상 예측 시스템은,
m개(m은 2 이상의 임의의 정수)의 문장을 해석하고, 상기 m개의 문장으로부터 n개(n은 2 이상의 임의의 정수)의 단어를 추출하는 단어 추출부;
상기 m개의 문장을 각각 소정의 룰에 따라서 q차원(q는 2 이상의 임의의 정수)으로 벡터화함으로써, q개의 축 성분으로 이루어지는 m개의 문장 벡터를 산출하는 문장 벡터 산출부;
상기 n개의 단어를 각각 소정의 룰에 따라서 q차원으로 벡터화함으로써, q개의 축 성분으로 이루어지는 n개의 단어 벡터를 산출하는 단어 벡터 산출부;
상기 m개의 문장 벡터와 상기 n개의 단어 벡터의 내적을 각각 취함으로써, 상기 m개의 문장 및 상기 n개의 단어 간의 관계성을 반영한 m×n개의 유사성 지표값을 산출하는 지표값 산출부;
상기 지표값 산출부에 의해 산출된 상기 m×n개의 유사성 지표값을 이용하여, 1개의 문장에 대하여 n개의 유사성 지표값으로 이루어지는 문장 지표값군을 기초로, 상기 m개의 문장을 복수의 사상으로 분류하기 위한 분류 모델을 생성하는 분류 모델 생성부;
예측 대상으로 하는 1개 이상의 문장을 예측용 데이터로서 입력하는 예측용 데이터 입력부; 및
상기 예측용 데이터 입력부에 의해 입력된 상기 예측용 데이터에 대하여 상기 단어 추출부, 상기 문장 벡터 산출부, 상기 단어 벡터 산출부 및 상기 지표값 산출부의 처리를 실행함으로써 얻어지는 유사성 지표값을, 상기 분류 모델 생성부에 의해 생성된 상기 분류 모델에 적용하는 것에 의해, 상기 예측용 데이터로부터 상기 복수의 사상 중 어느 하나를 예측하는 사상 예측부;를 포함하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
Including; DB construction unit to collect the copyright expired data,
The DB construction unit,
Including a; event prediction system for identifying the event of each of the copyright-expired materials;
The event prediction system is
a word extraction unit that interprets m sentences (m is an arbitrary integer greater than or equal to 2) and extracts n words (n is an arbitrary integer greater than or equal to 2) from the m sentences;
a sentence vector calculation unit for calculating m sentence vectors comprising q axis components by vectorizing the m sentences in q dimensions (q is an arbitrary integer greater than or equal to 2) according to a predetermined rule;
a word vector calculating unit for calculating n word vectors comprising q axis components by vectorizing the n words in q dimensions according to a predetermined rule;
an index value calculation unit calculating m × n similarity index values reflecting the relationship between the m sentences and the n words by taking dot products of the m sentence vectors and the n word vectors, respectively;
Classifying the m sentences into a plurality of maps based on a sentence indicator value group including n similarity indicator values for one sentence using the m × n similarity indicator values calculated by the indicator value calculating unit. a classification model generation unit generating a classification model for
a prediction data input unit for inputting one or more sentences as prediction data as prediction data; and
A similarity index value obtained by executing the processing of the word extraction unit, the sentence vector calculation unit, the word vector calculation unit, and the index value calculation unit on the prediction data input by the prediction data input unit is set to the classification model and an event prediction unit that predicts any one of the plurality of events from the prediction data by applying to the classification model generated by the generation unit.
상기 문장 작성 장치는,
상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하는 문장 시현부;를 더 포함하고,
상기 문장 시현부는,
상기 데이터베이스에 저장된 문장들을 나타내는 벡터값과 상기 입력 문장을 나타내는 벡터값 간의 유클리디안 거리(Euclidean distance) 산출을 통해 상기 예시 문장을 추출하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
A sentence display unit for extracting a sentence similar to the input sentence from the database as an example sentence; further comprising,
The sentence display part,
and extracting the example sentence by calculating a Euclidean distance between a vector value representing the sentences stored in the database and a vector value representing the input sentence.
상기 문장 작성 장치는,
상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하는 문장 시현부;를 더 포함하고,
상기 문장 시현부는,
상기 데이터베이스에 저장된 문장들을 나타내는 벡터값과 상기 입력 문장을 나타내는 벡터값 간의 코사인 유사도(Cosine similarity) 산출을 통해 상기 예시 문장을 추출하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
A sentence display unit for extracting a sentence similar to the input sentence from the database as an example sentence; further comprising,
The sentence display part,
and extracting the example sentence by calculating a cosine similarity between a vector value representing the sentences stored in the database and a vector value representing the input sentence.
상기 문장 작성 장치는,
상기 데이터베이스에서 상기 입력 문장과 유사한 문장을 예시 문장으로 추출하는 문장 시현부;를 더 포함하고,
상기 문장 시현부는,
상기 데이터베이스에 저장된 문장들을 나타내는 벡터값과 상기 입력 문장을 나타내는 벡터값 간의 타니모토 계수(Tanimoto coeffieient) 산출을 통해 상기 예시 문장을 추출하는, 문장 작성 시스템.
According to claim 1,
The sentence writing device,
A sentence display unit for extracting a sentence similar to the input sentence from the database as an example sentence; further comprising,
The sentence display part,
and extracting the example sentences by calculating a Tanimoto coeffieient between a vector value representing the sentences stored in the database and a vector value representing the input sentence.
상기 사용자 단말과 상기 문장 작성 장치를 연결하는 유선통신망으로 구비되는 네트워크;를 더 포함하는, 문장 작성 시스템.
According to claim 1,
and a network provided as a wired communication network connecting the user terminal and the sentence writing device.
상기 사용자 단말과 상기 문장 작성 장치를 연결하는 이동통신망으로 구비되는 네트워크;를 더 포함하는, 문장 작성 시스템.
According to claim 1,
The system further comprising; a network provided as a mobile communication network connecting the user terminal and the sentence writing device.
상기 사용자 단말과 상기 문장 작성 장치를 연결하는 Wibro(Wireless Broadband)망으로 구비되는 네트워크;를 더 포함하는, 문장 작성 시스템.
According to claim 1,
The text writing system further comprising a; a network provided as a Wibro (Wireless Broadband) network for connecting the user terminal and the sentence writing device.
상기 사용자 단말과 상기 문장 작성 장치를 연결하는 HSDPA(High Speed Downlink Packet Access)망으로 구비되는 네트워크;를 더 포함하는, 문장 작성 시스템.
According to claim 1,
The system further comprising; a network provided with a High Speed Downlink Packet Access (HSDPA) network connecting the user terminal and the sentence writing device.
상기 사용자 단말과 상기 문장 작성 장치를 연결하는 위성통신망으로 구비되는 네트워크;를 더 포함하는, 문장 작성 시스템.
According to claim 1,
The system further comprising; a network provided as a satellite communication network connecting the user terminal and the sentence writing device.
상기 사용자 단말과 상기 문장 작성 장치를 연결하는 와이파이(WI-FI, Wireless Fidelity)망으로 구비되는 네트워크;를 더 포함하는, 문장 작성 시스템.
According to claim 1,
A network provided as a Wi-Fi (Wireless Fidelity) network connecting the user terminal and the sentence writing device; further comprising, a sentence writing system.
상기 사용자 단말과 무선 통신 방식으로 연결되고, 상기 사용자 단말로부터 상기 예시 문장에 대한 음성 파일을 수신하여 출력하는 음성 출력 장치;를 더 포함하는, 문장 작성 시스템.
According to claim 1,
and a voice output device connected to the user terminal in a wireless communication manner, and receiving and outputting a voice file for the example sentence from the user terminal.
저작권 보호기간이 만료된 자료를 수집하는 단계;
수집한 자료를 데이터베이스에 저장하는 단계;
상기 사용자 단말을 통해 사용자로부터 문장을 입력 받는 단계;
입력 문장의 문맥 정보를 나타내는 벡터값을 출력하는 신경망을 이용하여 상기 데이터베이스에서 사용자로부터 입력 받은 문장과 유사한 문장을 추출하는 단계; 및
상기 사용자 단말로 추출한 문장을 출력하는 단계;를 포함하고,
상기 문장 작성 장치는,
상기 데이터베이스에 저장된 문장들을 Word2Vec 알고리즘에 따라 학습하여 입력 문장에 대한 문맥 정보를 나타내는 벡터값을 추출하는 신경망을 구축하고, 상기 사용자 단말로부터 획득하는 입력 문장을 상기 신경망에 입력하여 상기 입력 문장에 대한 문맥 정보를 나타내는 입력 문장 벡터값을 산출하고, 상기 데이터베이스에 저장된 문장들 각각의 문맥 정보를 나타내는 예시 문장 벡터값들과 상기 입력 문장 벡터값 간의 유사도를 산출하고, 상기 데이터베이스에 저장된 문장들 중 상기 입력 문장 벡터값과 유사도가 가장 높은 예시 문장 벡터값을 갖는 문장을 상기 예시 문장으로 추출하여 상기 사용자 단말로 전송하고,
상기 사용자 단말과 무선 통신 방식으로 연결되어 상기 사용자 단말에서 상기 문장 작성 장치로부터 수신하는 상기 예시 문장을 수신하여 출력하는 보조 출력 장치; 및
상기 사용자 단말이 설치되는 테이블 상에 상기 보조 출력 장치를 설치하는 설치 모듈;을 더 포함하고,
상기 설치 모듈은,
직육면체의 기중 형태로 구비되는 설치 바아;
상기 설치 바아의 일단부에 소정 두께의 판 형태로 형성되되, 하단 부분에 상기 보조 출력 장치가 삽입 설치되는 안착홈을 형성하는 안착부; 및
상기 설치 바아의 타단에 상기 설치 바아의 회동이 가능하도록 설치되는 설치 브라켓;을 포함하고,
상기 설치 브라켓은,
바닥면;
상기 바닥면의 양단으로부터 상방으로 형성되고, 상단 부분이 반원 형태로 형성되는 한 쌍의 벽면; 및
상기 한 쌍의 벽면 각각의 테두리 부분에 내측으로 요입되어 형성되되, 내측에 걸림 홈을 형성한 나선 형태로 형성되는 복수의 삽입 홈;을 포함하고,
상기 설치 바아는,
타단부에 장홀을 형성하고, 상기 한 쌍의 벽면의 외측면으로부터 상기 장홀을 관통하는 회동 핀을 통해 상기 한 쌍의 벽면 사이에 회동 가능하게 설치되고, 타단부에 상기 삽입 홈에 삽입될 수 있도록 구비되는 삽입 돌기를 형성하고,
상기 안착부는,
금속판의 상측에 은, 이산화티타늄, 구리 중 어느 하나 이상의 항균물질을 일체로 코팅하는 구성으로 이루어지는, 문장 작성 방법.
In the sentence writing method in the sentence writing device connected through the user terminal and the network,
collecting data whose copyright protection period has expired;
storing the collected data in a database;
receiving a sentence from a user through the user terminal;
extracting a sentence similar to a sentence input from a user from the database using a neural network that outputs a vector value representing context information of the input sentence; and
Including; outputting the extracted sentence to the user terminal;
The sentence writing device,
By learning the sentences stored in the database according to the Word2Vec algorithm, a neural network that extracts a vector value representing context information for an input sentence is constructed, and an input sentence obtained from the user terminal is input to the neural network to provide a context for the input sentence. Calculating an input sentence vector value representing information, calculating a similarity between example sentence vector values representing context information of each of the sentences stored in the database and the input sentence vector value, and calculating the input sentence among sentences stored in the database Extracting a sentence having an example sentence vector value with the highest degree of similarity to the vector value as the example sentence and transmitting it to the user terminal,
an auxiliary output device connected to the user terminal through a wireless communication method to receive and output the example sentence received from the sentence writing device in the user terminal; and
Further comprising; an installation module for installing the auxiliary output device on the table on which the user terminal is installed,
The installation module is
Installation bar provided in the form of a rectangular parallelepiped;
a seating part formed in the form of a plate of a predetermined thickness at one end of the installation bar, and forming a seating groove in the lower part of the auxiliary output device to be inserted and installed; and
Including; and an installation bracket installed at the other end of the installation bar so that the rotation of the installation bar is possible;
The installation bracket is
bottom surface;
a pair of wall surfaces formed upwardly from both ends of the bottom surface and having an upper end formed in a semicircular shape; and
A plurality of insertion grooves that are recessed inwardly on the edge of each of the pair of wall surfaces and formed in a spiral shape with a locking groove formed on the inside;
The installation bar,
A long hole is formed at the other end, and is rotatably installed between the pair of wall surfaces from the outer surface of the pair of wall surfaces through a rotation pin penetrating the long hole, and is inserted into the insertion groove at the other end. Forming an insertion protrusion provided,
The seating part,
A method of writing a sentence consisting of an integral coating of any one or more antibacterial substances of silver, titanium dioxide, and copper on the upper side of the metal plate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210072362A KR102370729B1 (en) | 2021-06-03 | 2021-06-03 | Sentence writing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210072362A KR102370729B1 (en) | 2021-06-03 | 2021-06-03 | Sentence writing system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102370729B1 true KR102370729B1 (en) | 2022-03-07 |
Family
ID=80817443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210072362A KR102370729B1 (en) | 2021-06-03 | 2021-06-03 | Sentence writing system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102370729B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102497112B1 (en) * | 2022-09-26 | 2023-02-07 | 생코에듀 주식회사 | Method, apparatus and system for providing a learning solution for logical thinking through the structuring of learning target knowledge |
CN115994527A (en) * | 2023-03-23 | 2023-04-21 | 广东聚智诚科技有限公司 | Machine learning-based PPT automatic generation system |
WO2023236977A1 (en) * | 2022-06-08 | 2023-12-14 | 华为技术有限公司 | Data processing method and related device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050045822A (en) * | 2003-11-12 | 2005-05-17 | 마이크로소프트 코포레이션 | System for identifying paraphrases using machine translation techniques |
US20200311145A1 (en) * | 2019-03-28 | 2020-10-01 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for generating an answer based on clustering and sentence similarity |
KR20200128584A (en) * | 2018-05-02 | 2020-11-13 | 가부시키가이샤 프론테오 | Event prediction device, prediction model generation device, and event prediction program |
-
2021
- 2021-06-03 KR KR1020210072362A patent/KR102370729B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050045822A (en) * | 2003-11-12 | 2005-05-17 | 마이크로소프트 코포레이션 | System for identifying paraphrases using machine translation techniques |
US7412385B2 (en) | 2003-11-12 | 2008-08-12 | Microsoft Corporation | System for identifying paraphrases using machine translation |
KR20200128584A (en) * | 2018-05-02 | 2020-11-13 | 가부시키가이샤 프론테오 | Event prediction device, prediction model generation device, and event prediction program |
US20210042586A1 (en) | 2018-05-02 | 2021-02-11 | Fronteo, Inc. | Phenomenon prediction device, prediction model generation device, and phenomenon prediction program |
US20200311145A1 (en) * | 2019-03-28 | 2020-10-01 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for generating an answer based on clustering and sentence similarity |
Non-Patent Citations (1)
Title |
---|
한승현, 정태선, ‘문장 중심 재조합 방식의 소설 생성 알고리즘’, 한국정보기술학회 2018.11, 173-175페이지. * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023236977A1 (en) * | 2022-06-08 | 2023-12-14 | 华为技术有限公司 | Data processing method and related device |
KR102497112B1 (en) * | 2022-09-26 | 2023-02-07 | 생코에듀 주식회사 | Method, apparatus and system for providing a learning solution for logical thinking through the structuring of learning target knowledge |
CN115994527A (en) * | 2023-03-23 | 2023-04-21 | 广东聚智诚科技有限公司 | Machine learning-based PPT automatic generation system |
CN115994527B (en) * | 2023-03-23 | 2023-06-09 | 广东聚智诚科技有限公司 | Machine learning-based PPT automatic generation system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11334635B2 (en) | Domain specific natural language understanding of customer intent in self-help | |
Arora et al. | Character level embedding with deep convolutional neural network for text normalization of unstructured data for Twitter sentiment analysis | |
Christian et al. | Text based personality prediction from multiple social media data sources using pre-trained language model and model averaging | |
KR102370729B1 (en) | Sentence writing system | |
JP5825676B2 (en) | Non-factoid question answering system and computer program | |
CN111143576A (en) | Event-oriented dynamic knowledge graph construction method and device | |
KR102315984B1 (en) | Event prediction device, prediction model generator and event prediction program | |
Mohammadi et al. | Exploring research trends in big data across disciplines: A text mining analysis | |
López et al. | ADOPS: Aspect Discovery OPinion Summarisation Methodology based on deep learning and subgroup discovery for generating explainable opinion summaries | |
Eshmawi et al. | Design of Automated Opinion Mining Model Using Optimized Fuzzy Neural Network. | |
Hashemzadeh et al. | Improving keyword extraction in multilingual texts. | |
Du et al. | An iterative reinforcement approach for fine-grained opinion mining | |
Voronov et al. | Forecasting popularity of news article by title analyzing with BN-LSTM network | |
Nguyen et al. | A model of convolutional neural network combined with external knowledge to measure the question similarity for community question answering systems | |
US11822609B2 (en) | Prediction of future prominence attributes in data set | |
Chen et al. | Learning semantic hierarchy with distributed representations for unsupervised spoken language understanding. | |
Tizhoosh et al. | On poem recognition | |
KR20070118154A (en) | Information processing device and method, and program recording medium | |
Lai et al. | An unsupervised approach to discover media frames | |
Dikshit et al. | Automating Questions and Answers of Good and Services Tax system using clustering and embeddings of queries | |
Philip et al. | A Brief Survey on Natural Language Processing Based Text Generation and Evaluation Techniques | |
Bandyopadhyay et al. | Identification of depression strength for users of online platforms: a comparison of text retrieval approaches | |
Kumar et al. | Framework On Text And Predictive Analytics | |
Michalakos | Content-based Tweets Semantic Clustering and Propagation | |
Belford et al. | Comparison of Embedding Techniques for Topic Modeling Coherence Measures. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |