KR20180044187A - Device and method for providing recommended words for character input from user - Google Patents
Device and method for providing recommended words for character input from user Download PDFInfo
- Publication number
- KR20180044187A KR20180044187A KR1020170110349A KR20170110349A KR20180044187A KR 20180044187 A KR20180044187 A KR 20180044187A KR 1020170110349 A KR1020170110349 A KR 1020170110349A KR 20170110349 A KR20170110349 A KR 20170110349A KR 20180044187 A KR20180044187 A KR 20180044187A
- Authority
- KR
- South Korea
- Prior art keywords
- pseudo
- word
- morpheme
- character
- input
- Prior art date
Links
Images
Classifications
-
- G06F17/276—
-
- G06F17/2755—
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
본 개시는 추천 단어를 제공하는 디바이스 및 방법에 관한 것으로서, 보다 상세하게는, 사용자로부터 입력된 문자에 대한 추천 단어를 제공하는 디바이스 및 방법에 관한 것이다.The present disclosure relates to a device and method for providing a recommendation word, and more particularly, to a device and method for providing a recommendation word for a character input from a user.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.The present disclosure also relates to an artificial intelligence (AI) system and its application that simulate the functions of the human brain using cognitive learning algorithms.
멀티미디어 기술 및 네트워크 기술이 발전함에 따라, 사용자는 디바이스를 이용하여 다양한 서비스를 제공받을 수 있게 되었다. 특히, 사용자가 입력 중인 단어에 기초하여, 추천 단어를 제공하는 다양한 방법이 제공되었다. 그러나, 추천 단어를 제공하기 위해, 데이터베이스에 저장해야 하는 데이터의 양이 많고, 사용자가 의도한 단어를 정확하게 추천하기 어려운 문제가 있었다. 따라서, 데이터베이스에 저장해야 하는 데이터의 양을 줄이면서도, 사용자가 의도한 단어를 보다 정확하게 예측하여 추천할 수 있는 방법이 요구되고 있다.With the development of multimedia technology and network technology, users can receive various services using devices. In particular, various methods of providing a recommendation word based on a word being input by the user have been provided. However, in order to provide a recommendation word, there is a problem that the amount of data to be stored in the database is large and it is difficult to accurately recommend the word intended by the user. Accordingly, there is a need for a method that can more accurately predict and recommend a word intended by the user while reducing the amount of data to be stored in the database.
또한, 근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.In recent years, artificial intelligence systems that implement human-level intelligence have been used in various fields. Artificial intelligence system is a system that the machine learns, judges, and becomes smarter, unlike the existing rule-based smart system. Artificial intelligence systems are becoming more and more recognizable as users use them, and existing rule-based smart systems are increasingly being replaced by deep-run-based artificial intelligence systems.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.Artificial intelligence technology consists of elemental technologies that utilize machine learning (eg, deep learning) and machine learning.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself. Element technology is a technology that simulates functions such as recognition and judgment of human brain using machine learning algorithms such as deep learning. Understanding, reasoning / prediction, knowledge representation, and motion control.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.The various fields in which artificial intelligence technology is applied are as follows. Linguistic understanding is a technology for recognizing, applying, and processing human language / characters, including natural language processing, machine translation, dialogue system, query response, speech recognition / synthesis, and the like. Visual understanding is a technology for recognizing and processing objects as human vision, including object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image enhancement. Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation. Knowledge representation is a technology for automating human experience information into knowledge data, including knowledge building (data generation / classification) and knowledge management (data utilization). The motion control is a technique for controlling the autonomous travel of the vehicle and the motion of the robot, and includes motion control (navigation, collision, traveling), operation control (behavior control), and the like.
일부 실시예들은, 사용자로부터 입력된 문자를 포함하는 의사 형태소 단위로 추천 단어를 제공함으로써, 데이터베이스에 저장해야 하는 데이터의 양을 줄일 수 있는, 추천 단어를 제공하는 디바이스 및 방법을 제공할 수 있다.Some embodiments may provide a device and method for providing a recommendation word that can reduce the amount of data that needs to be stored in a database by providing a recommendation word on a pseudo-morpheme basis that includes characters entered from a user.
또한, 일부 실시예들은, 어절 단위보다 작은 의사 형태소 단위로 추천 단어를 제공하고, 추천된 의사 형태소 중에서 선택된 의사 형태소에 기초하여 어절 단위로 추천 단어를 제공함으로써, 사용자가 의도에 부합하는 추천 단어를 보다 효과적으로 제공하는 디바이스 및 방법을 제공할 수 있다.In addition, some embodiments provide a recommendation word in units of a pseudo morpheme that is smaller than a word unit and provide a recommendation word in units of words based on a pseudo morpheme selected from the recommended pseudo-morphemes, It is possible to provide a device and a method that provide more effectively.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은 적어도 하나의 프로그램이 저장되는 메모리, 문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신하는 사용자 입력부, 및 적어도 하나의 프로그램을 실행함으로써 입력된 문자에 대한 추천 단어를 제공하도록 하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로그램은, 입력된 문자를 분석함으로써, 입력된 문자를 포함하는 적어도 하나의 의사 형태소(pseudo-morpheme)를 추천하는 동작, 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천하는 동작, 및 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절을 문자 입력 창 내에 디스플레이하는 동작을 포함하는, 디바이스를 제공할 수 있다.As a technical means to accomplish the above-mentioned technical object, a first aspect of the present disclosure provides a computer program product comprising a memory in which at least one program is stored, a user input for receiving user input for entering characters in a text input window, And at least one processor for providing a recommendation word for an input character by executing the at least one program, wherein the at least one program includes at least one pseudo-morpheme including input characters, Recommending at least one phrase comprising a selected pseudo morpheme in response to an input selecting one of the at least one pseudo-morpheme, and in response to an input selecting one of the at least one phrase, Displaying a word in a character input window, It can provide a vise.
또한, 본 개시의 제2 측면은, 사용자로부터 문자 입력을 수신하는 동작, 문자 입력을 분석함으로써, 수신된 문자 입력을 포함하는 적어도 하나의 의사 형태소(pseudo-morpheme)를 추천하는 동작, 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천하는 동작, 및 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절을 디스플레이하는 동작을 포함하는, 디바이스가 사용자로부터 입력된 문자에 대한 추천 단어를 제공하는 방법을 제공할 수 있다.Also, a second aspect of the present disclosure provides a method comprising: receiving a character input from a user, analyzing a character input, recommending at least one pseudo-morpheme comprising a received character input, In response to an input selecting one of the pseudo-morphemes, recommending at least one word containing the selected pseudo morpheme, and displaying the selected phrase in response to an input selecting one of the at least one word The device may provide a method of providing a recommendation word for a character input from a user.
또한, 본 개시의 제3 측면은, 제2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.The third aspect of the present disclosure can also provide a computer-readable recording medium on which a program for causing a computer to execute the method of the second aspect is recorded.
도 1은 일부 실시예에 따른 디바이스가 사용자로부터 입력된 문자에 대한 추천 단어를 제공하는 예시를 나타내는 도면이다.
도 2는 일부 실시예에 따른 디바이스가 추천 단어를 제공하는 방법을 나타내는 흐름도이다.
도 3은 일부 실시예에 따른 디바이스가 추천할 적어도 하나의 의사 형태소를 결정하는 방법을 나타내는 흐름도이다.
도 4는 일부 실시예에 따른 디바이스가 추천 단어를 결정하는 방법을 설명하기 위한 도면이다.
도 5a 및 도 5b는 일부 실시예에 따른 디바이스가 적어도 하나의 의사 형태소를 추천하는 예시를 나타내는 도면이다.
도 6a 및 도 6b는 일부 실시예에 따른 디바이스가 적어도 하나의 의사 형태소를 추천하는 예시를 나타내는 도면이다.
도 7은 일부 실시예에 따른 디바이스가 공백 문자를 디스플레이하는 방법을 나타내는 흐름도이다.
도 8은 일부 실시예에 따른 디바이스가 공백 문자를 디스플레이하고, 디스플레이된 공백 문자의 다음에 위치할 적어도 하나의 의사 형태소를 추천하는 예시를 나타내는 도면이다.
도 9는 일부 실시예에 따른 신경망의 예시를 나타내는 도면이다.
도 10은 일부 실시예에 따른 디바이스가 추천할 어절이 있는지 여부가 나타나도록, 디스플레이된 의사 형태소를 구별되게 표시하는 예시를 나타내는 도면이다.
도 11은 일부 실시예에 따른 디바이스가 의사 형태소 각각에 대한 사용자의 사용 빈도를 고려하여 의사 형태소를 추천하는 예시를 나타내는 도면이다.
도 12은 일부 실시예에 따른 디바이스가 기 디스플레이된 적어도 하나의 어절의 종류 및 순서를 고려하여 의사 형태소를 추천하는 예시를 나타내는 도면이다.
도 13는 일부 실시예에 따른 디바이스가 사용자의 문자 입력 특성을 고려하여 적어도 하나의 어절을 추천하는 예시를 나타내는 도면이다.
도 14는 일부 실시예에 따른 디바이스의 블록도이다.
도 15는 다른 실시예에 따른 디바이스의 블록도이다.
도 16은 일부 실시예에 따른 프로세서의 블록도이다.
도 17은 일부 실시예에 따른 데이터 학습부의 블록도이다.
도 18는 일부 실시예에 따른 데이터 인식부의 블록도이다.
도 19은 일부 실시예에 따른 디바이스 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 20은 일부 실시예에 따른 데이터 인식 모델을 이용하는 디바이스의 흐름도이다.
도 21 내지 도 23은 일부 실시예에 따른 데이터 분석 모델을 이용하는 네트워크 시스템의 흐름도들이다.Figure 1 is an illustration of an example in which a device according to some embodiments provides a suggestion word for a character entered from a user.
2 is a flow diagram illustrating a method according to some embodiments for providing a recommendation word.
3 is a flow diagram illustrating a method for determining at least one pseudo-morpheme to be recommended by a device according to some embodiments.
4 is a diagram for explaining a method of determining a recommendation word by a device according to some embodiments.
5A and 5B are diagrams illustrating an example in which a device according to some embodiments recommends at least one pseudo-morpheme.
6A and 6B are diagrams illustrating an example in which a device according to some embodiments recommends at least one pseudo-morpheme.
7 is a flow diagram illustrating a method according to some embodiments for displaying blank characters.
Figure 8 is an illustration of an example in which a device according to some embodiments displays blank characters and recommends at least one pseudo-morpheme to be placed after the displayed blank characters.
9 is a diagram illustrating an example of a neural network according to some embodiments.
10 is an illustration showing an example of distinctly displaying the displayed pseudo morphemes so that a device according to some embodiments may indicate whether there is a word phrase to recommend.
11 is a diagram illustrating an example in which a device according to some embodiments recommends a pseudo-morpheme in consideration of the frequency of use of a user for each pseudo-morpheme.
12 is a diagram illustrating an example in which a device according to some embodiments recommends a pseudo-morpheme in consideration of the type and order of at least one word displayed.
13 is a diagram illustrating an example in which a device according to some embodiments recommends at least one word in consideration of character input characteristics of a user.
14 is a block diagram of a device according to some embodiments.
15 is a block diagram of a device according to another embodiment.
16 is a block diagram of a processor in accordance with some embodiments.
17 is a block diagram of a data learning unit according to some embodiments.
18 is a block diagram of a data recognition unit according to some embodiments.
19 is a diagram showing an example in which a device and a server according to some embodiments interwork with each other to learn and recognize data.
20 is a flow diagram of a device using a data recognition model in accordance with some embodiments.
21 to 23 are flowcharts of a network system using a data analysis model according to some embodiments.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when a part is referred to as "including " an element, it does not exclude other elements unless specifically stated otherwise.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 일부 실시예에 따른 디바이스가 사용자로부터 입력된 문자에 기초하여 추천 단어를 제공하는 예시를 나타내는 도면이다.1 is a diagram illustrating an example in which a device according to some embodiments provides a recommendation word based on a character input from a user.
도 1을 참조하면, 디바이스(1000)는 문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신할 수 있으며, 입력된 문자에 기초하여 추천 단어를 제공할 수 있다. Referring to FIG. 1, the
디바이스(1000)가 입력된 문자에 기초하여 어절 단위로 추천 단어를 제공하는 경우, 디바이스(1000)는, 데이터베이스에 저장된 각 어절들의 사용 빈도수에 기초하여, 사용자로부터 입력된 문자를 포함하는 어절들을 추천할 수 있다. 이 경우, 각 어절 단위로 사용 빈도를 산출하기 때문에, 예를 들어, "사랑이", "사랑과", 및 "사랑만이"는 서로 다른 어절이므로, 세 어절 모두 "사랑"이라는 명사를 포함하더라도, "사랑이", "사랑과", 및 "사랑만이" 각각에 대한 사용 빈도는 낮게 산출될 수 있다. 이에 따라, 사용자가 "사랑"를 포함하는 표현을 빈번하게 사용하는 경우에도, "사랑"을 포함하는 어절이 우선적으로 추천되지 않을 수 있다. 예를 들어, "사과가"가 1000번, "사랑이"가 800번, "사과를"이 30번, "사랑과"가 700번, "사과는"이 20번, "사랑만이"가 500번 사용된 경우, 사용자는 "사랑"을 "사과"보다 더 빈번하게 사용하지만, 어절 단위로 산출되는 사용 빈도에 따라, "사과가", "사랑과", "사랑만이" 순으로 추천될 수 있다. 따라서, 디바이스(1000)가 사용자로부터 입력된 문자에 대한 추천 단어를 제공할 때, 어절보다 작은 단위로 추천 단어를 제공하는 방법이 필요하다.When the
일부 실시예에 따른 디바이스(1000)는, 사용자로부터 입력된 문자에 대하여 의사 형태소 단위로 먼저 추천함으로써, 서로 다른 뜻을 가지는 다양한 추천 단어들을 사용자에게 제공할 수 있다. 의사 형태소는, 뜻을 가지는 가장 작은 말의 단위를 의미할 수 있다. 예를 들어, 의사 형태소는, 뜻을 가지는 최소 단위의 명사를 포함할 수 있으며, 실시예에 따라 뜻을 가지는 복합명사도 하나의 의사 형태소로 분류될 수 있다. 예를 들어, "사랑", "사과", 및 "사람"은 서로 다른 뜻을 가지는 명사로서, 각각 하나의 의사 형태소가 될 수 있다. 또한, 단어는, 의사 형태소 및 어절을 포함하는 의미로 사용될 수 있다.The
일부 실시예에 따른 디바이스(1000)는, 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력이 수신되면, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천함으로써, 사용자의 의도에 부합하는 추천 단어를 보다 용이하게 제공할 수 있다. The
또한, 일부 실시예에 따른 디바이스(1000)는, 문자 입력에 관한 다양한 컨텍스트 정보들을 활용하여, 추천할 적어도 하나의 의사 형태소 및 추천할 적어도 하나의 어절을 결정할 수 있으며, 공백 문자가 디스플레이되는 위치를 판단할 수 있다.In addition,
컨텍스트 정보는, 사용자가 과거에 입력한 문자에 관한 정보, 문자 입력 창 내에 기 디스플레이된 적어도 하나의 어절에 관한 정보, 및 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 포함할 수 있다. 사용자가 과거에 입력한 문자에 관한 정보는, 사용자가 과거에 빈번하게 사용한 의사 형태소, 어절에 관한 정보, 및 디바이스(1000)에 의해 추천된 의사 형태소들 중에서 사용자가 선택한 의사 형태소에 관한 정보를 포함할 수 있다. 기 디스플레이된 적어도 하나의 어절에 대한 정보는, 문자 입력 창 내에 기 디스플레이된 적어도 하나의 어절의 품사 및 문장 성분에 관련된 정보를 포함할 수 있다. 예를 들어, 기 디스플레이된 적어도 하나의 어절에 대한 정보는, 문자 입력 창에 기 디스플레이된 어절이 주어에 해당하는 어절인지, 주어와 동사에 해당하는 어절인지 나타내는 정보를 포함할 수 있으나, 이에 한정되지 않는다. The context information may include information on a character that the user has input in the past, information on at least one word displayed in the character input window, information on voice data that the user has input in the past, and the like. The information on the character entered by the user in the past includes information about the pseudo morpheme frequently used by the user in the past, information on the word, and the pseudo morpheme selected by the user from among the pseudo morphemes recommended by the
디바이스(1000)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털 방송용 단말기, 내비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 사용자의 음성 입력을 수신하고, 사용자에게 답변 메시지를 제공할 수 있는 모든 종류의 기기를 포함할 수 있다.The
또한, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보, 문자 입력 창 내에 기 디스플레이된 적어도 하나의 어절에 관한 정보, 및 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 포함하는 컨텍스트 정보를 이용하기 위하여, 소정의 네트워크를 통하여 서버 및 다른 장치와 통신할 수 있다. 이 경우, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.In addition, the
도 2는 일부 실시예에 따른 디바이스(1000)가 추천 단어를 제공하는 방법을 나타내는 흐름도이다.FIG. 2 is a flow diagram illustrating a method by which a
동작 S200 동작에서, 디바이스(1000)는 문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신한다. 이때, 디바이스(1000)의 문자 입력 창은, 문자 메시지, 또는 SNS 메시지 등을 입력할 때 사용되는 창을 포함할 수 있으며, 입력되는 문자는 적어도 하나의 알파벳 또는 적어도 하나의 음절을 포함할 수 있다. In operation S200 operation, the
동작 S210 동작에서, 디바이스(1000)는 입력된 문자를 분석함으로써, 입력된 문자를 포함하는 적어도 하나의 의사 형태소(pseudo-morpheme)를 추천한다. 일부 실시예에 따른 디바이스(1000)는, 문자 입력에 관한 컨텍스트 정보를 이용하여, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 수 있다. 예를 들어, 디바이스(1000)는, 의사 형태소 각각에 대한 통상적인 사용 빈도에 관한 통계 데이터, 사용자가 과거에 입력한 문자들에 관한 정보, 디바이스(1000)에 의해 추천된 의사 형태소들 중에서 사용자가 선택한 의사 형태소에 관한 정보, 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 고려하여, 적어도 하나의 의사 형태소를 추천할 수 있다. In operation S210 operation, the
동작 S220 동작에서, 디바이스(1000)는 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천한다. In operation S220 operation, the
사용자는, 추천된 적어도 하나의 의사 형태소 중에서, 사용자가 문자 입력 창 내에 입력하려고 의도한 의사 형태소를 선택할 수 있다. 의사 형태소를 선택하는 입력이 수신됨에 따라, 디바이스(1000)는, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 이때, 디바이스(1000)는, 문자 입력에 관한 컨텍스트 정보를 이용하여 적어도 하나의 어절을 추천할 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보, 문자 입력 창 내에 기 디스플레이된 적어도 하나의 어절에 관한 정보, 및 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 고려하여, 적어도 하나의 어절을 추천할 수 있다. 선택된 의사 형태소가 명사인 경우, 의사 형태소를 포함하는 적어도 하나의 어절은, 명사에 조사가 결합된 형태일 수 있으나, 이에 한정되지 않는다. The user can select a pseudo morpheme that the user intends to input in the character input window from among the recommended at least one pseudo morpheme. As the input to select a pseudo-morpheme is received, the
또한, 디바이스(1000)는, 사용자의 문자 입력 특성에 기초하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 빈번하게 사용하는 표현을 고려하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. In addition, the
또한, 디바이스(1000)는, 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절을 포함하는 적어도 하나의 다른 어절을 추천할 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보, 문자 입력 창 내에 기 디스플레이된 적어도 하나의 어절에 관한 정보, 및 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 고려하여, 적어도 하나의 다른 어절을 추천할 수 있다. 이때, 선택된 어절을 포함하는 적어도 하나의 다른 어절은, 선택된 어절에 다른 조사가 추가된 어절을 포함할 수 있으나, 이에 한정되지 않는다.In addition, the
S230 동작에서, 디바이스(1000)는, 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절을 문자 입력 창 내에 디스플레이한다.In operation S230, the
또한, 일부 실시예에 따른 디바이스(1000)는, 선택된 어절 다음에 공백 문자가 위치할 것인지 여부를 예측하고, 예측된 결과에 기초하여 선택된 어절과 공백 문자를 문자 입력 창 내에 함께 디스플레이할 수 있다. In addition, the
상기에서는, 추천할 의사 형태소의 결정, 추천할 어절의 결정, 및 공백 문자가 디스플레이되는 위치의 결정이 각각 별개의 학습에 기초하여 수행되는 것으로 설명하였지만, 이에 제한되지 않는다. 추천할 의사 형태소의 결정, 추천할 어절의 결정, 및 공백 문자가 디스플레이되는 위치의 결정 중 적어도 둘 이상이 하나의 학습 모델에 의해 수행될 수 있다.In the above description, the determination of the pseudo-morphemes to be recommended, the determination of the word to be recommended, and the determination of the position where the blank character is displayed are each performed based on separate learning, but the present invention is not limited thereto. At least two of the determination of the pseudo morpheme to be recommended, the determination of the word to be recommended, and the determination of the position at which the space character is displayed can be performed by one learning model.
또한, 일부 실시예에 따른 디바이스(1000)는, 심층 신경망(Deep Neural Network)을 이용하여, 추천할 적어도 하나의 의사 형태소, 추천할 적어도 하나의 어절, 및 공백 문자가 디스플레이되는 위치에 대한 기준을 학습할 수 있다.
In addition, the
도 3은 일부 실시예에 따른 디바이스가 추천할 적어도 하나의 의사 형태소를 결정하는 방법을 나타내는 흐름도이다.3 is a flow diagram illustrating a method for determining at least one pseudo-morpheme to be recommended by a device according to some embodiments.
S300 동작에서, 디바이스(1000)는 문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신할 수 있다. 예를 들어, 디바이스(1000)는, 문자 메시지 또는 SNS 메시지 등을 입력하는 창 내에 문자를 입력하는 사용자 입력을 수신할 수 있다. 이때, 입력되는 문자는, 적어도 하나의 알파벳 또는 적어도 하나의 음절을 포함할 수 있다. In operation S300, the
S310 동작에서, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보를 수집할 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 과거에 빈번하게 사용된 의사 형태소 및 어절 등에 대한 정보를 고려하여, 추천할 의사 형태소를 결정할 수 있다. In S310 operation, the
S320 동작에서, 디바이스(1000)는, 데이터베이스에 저장된 의사 형태소 각각의 사용 빈도에 관한 일반적인 통계 데이터를 수집할 수 있다. 디바이스(1000)는, 의사 형태소 각각의 사용 빈도에 관한 일반적인 통계 데이터를 고려하여, 사용 빈도가 높은 의사 형태소를 추천할 의사 형태소로 결정할 수 있다. In operation S320, the
S330 동작에서, 디바이스(1000)는, 사용자가 과거에 입력한 음성 데이터에 관한 정보를 수집할 수 있다. 디바이스(1000)는, 다양한 자연어 해석 기법을 이용하여, 마이크를 통해 입력된 사용자의 음성 데이터를 해석할 수 있으며, 해석된 음성 데이터에 대한 정보를 고려하여 추천 단어를 결정할 수 있다.In operation S330, the
도 3에서는, 편의상, 디바이스(1000)가 사용자가 과거에 입력한 문자에 관한 정보, 의사 형태소 각각의 사용 빈도에 관한 일반적인 통계 데이터, 사용자가 과거에 입력한 음성 데이터에 관한 정보들을 순차적으로 수집하는 것으로 설명하였으나, 디바이스(1000)는 상술한 정보들을 병렬적으로 수집하고, 수집된 정보들을 이용하여, 추천할 의사 형태소를 결정하는 방법을 학습할 수 있다. In FIG. 3, for convenience, the
S340 동작에서, 디바이스(1000)는, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 수 있다.In operation S340, the
도 4는 일부 실시예에 따른 디바이스가 추천 단어를 결정하는 방법을 설명하기 위한 도면이다.4 is a diagram for explaining a method of determining a recommendation word by a device according to some embodiments.
일부 실시예에 따른 디바이스(1000)는, 사용자로부터 입력된 문자를 분석함으로써, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 수 있다. 디바이스(1000)는, 의사 형태소들을 포함하는 데이터베이스에서, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추출할 수 있다. 디바이스(1000)는, 문자 입력에 관한 다양한 컨텍스트 정보들을 고려하여, 데이터베이스로부터 추출된 적어도 하나의 의사 형태소 중에서 추천할 적어도 하나의 의사 형태소를 결정할 수 있다. 예를 들어, 도 4를 참조하면, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보(410), 의사 형태소 각각의 사용 빈도에 관한 일반적인 통계 데이터(411), 사용자가 과거에 입력한 음성 데이터에 관한 정보(412) 등을 고려하여, 추천할 적어도 하나의 의사 형태소를 결정할 수 있다. The
디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보(410), 의사 형태소 각각의 사용 빈도에 관한 일반적인 통계 데이터(411), 사용자가 과거에 입력한 음성 데이터에 관한 정보(412) 등을 이용하여, 추천할 의사 형태소를 결정하는 기준, 추천할 적어도 하나의 어절을 결정하는 기준, 및 공백 문자가 디스플레이되는 위치를 결정하는 기준을 학습할 수 있다. 예를 들어, 어떠한 의사 형태소를 추천할 것인지, 어떠한 어절을 추천할 것인지, 및 공백 문자가 어느 위치에 디스플레이되어야 하는지에 대한 판단은, 순환형 신경망(RNN, Recurrent Neural Network)을 포함하는 심층 신경망(Deep Neural Network) 기술에 따른 학습에 기초하여 수행될 수 있다. The
도 5a 및 도 5b는 일부 실시예에 따른 디바이스가 의사 형태소를 추천하는 예시를 나타내는 도면이다.5A and 5B are diagrams illustrating an example in which a device according to some embodiments recommends a pseudo-morpheme.
도 5a를 참조하면, 예를 들어, 사용자가 디바이스(1000)의 문자 입력 창(500) 내에 "사"라는 문자를 입력한 경우에, 디바이스(1000)는 "사"를 포함하는 의사 형태소로서 "사랑", "사과", 및 "사장"을 추천(501)할 수 있다. 이때, 추천되는 적어도 하나의 의사 형태소는, 사용자로부터 입력된 문자가 순환형 신경망(RNN, Recurrent Neural Network)에 입력될 때 출력되는 결과일 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보, 각 의사 형태소의 사용 빈도에 대한 통상적인 통계 데이터, 및 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 고려하여, "사"를 포함하는 적어도 하나의 의사 형태소를 추천할 수 있다. "사"를 포함하는 다양한 의사 형태소들 중에서 어떤 의사 형태소가 추천될 것인지는, 기 설정된 기준에 따른 학습에 기초하여 결정될 수 있다. 5A, for example, when a user inputs the character "G" in the
일부 실시예에 따른 디바이스(1000)는, 추천된 적어도 하나의 의사 형태소를 문자 입력 창(500) 외부에 디스플레이할 수 있다. 사용자는, 추천된 적어도 하나의 의사 형태소 중에서 사용자가 의도한 하나의 의사 형태소를 선택할 수 있다. 예를 들어, 도 5a에 도시된 바와 같이, 사용자는 추천된 3개의 의사 형태소 중에서 "사람"을 선택(502)할 수 있다. The
일부 실시예에 따른 디바이스(1000)는, 적어도 하나의 의사 형태소 중에서 하나를 선택하는 사용자 입력에 응답하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 이때, 추천되는 적어도 하나의 어절은, 선택된 의사 형태소가 순환형 신경망(RNN, Recurrent Neural Network)에 입력될 때 출력되는 결과일 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보, 선택된 의사 형태소를 포함하는 각 어절에 대한 통상적인 통계 데이터, 및 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 고려하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 의사 형태소가 소정의 뜻을 가지는 명사인 경우, 의사 형태소를 포함하는 어절은, 명사에 조사가 추가된 형태일 수 있다. The
예를 들어, 도 5a를 참조하면, "사람"을 선택하는 입력에 응답하여, 디바이스(1000)는 "사람"을 포함하는 적어도 하나의 어절을 추천할 수 있다. 이때, 추천되는 어절은, "사람이", "사람을", "사람과"와 같이 "사람"에 조사가 추가된 형태일 수 있으나, 이에 한정되지 않는다.For example, referring to FIG. 5A, in response to an input selecting "person ", the
또한, 일부 실시예에 따른 디바이스(1000)는, 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절을 포함하는 적어도 하나의 다른 어절을 추천할 수 있다. 예를 들어, 명사에 둘 이상의 조사가 연결되어 하나의 어절을 구성할 수 있다. 한글의 경우, 명사(예를 들어, "사랑")와 조사(예를 들어, "만")가 연결되어 형성된 하나의 어절(예를 들어,"사랑만")에 다른 연결 어미(예를 들어, "큼")가 추가적으로 연결되어, 다른 어절(예를 들어, "사랑만큼")이 형성될 수 있다. 이에 따라, 디바이스(1000)에 의해 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력이 수신되면, 디바이스(1000)는, 선택된 어절을 포함하는 적어도 하나의 다른 어절을 추천할 수 있다. 예를 들어, 도 5b를 참조하면, 사용자는, 디바이스(1000)에 의해 추천된 어절인 "사람이", "사람을", 및 "사람과" 중에서, "사람과"를 선택(512)할 수 있다. 이때, 디바이스(1000)는, "사람과"를 포함하는 적어도 하나의 다른 어절로서, "사람과의" 및 "사람과는"을 추천(521)할 수 있다. 디바이스(1000)는, 추천된 "사람과의" 및 "사람과는"을 문자 입력 창(500) 외부에 표시할 수 있다. In addition, the
일 실시예에 따른 디바이스(1000)는, 문자 입력 창(500) 내에 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 먼저 추천하고, 추천된 적어도 하나의 의사 형태소 중에서 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 이에 따라, 디바이스(1000)는, 어절 단위로 추천 단어를 제공하는 경우보다, 데이터베이스에 저장해야 하는 데이터의 양을 줄일 수 있다. 또한, 디바이스(1000)는, 의사 형태소 단위로 추천 단어를 제공한 다음에 어절 단위로 추천 단어를 제공함으로써, 사용자의 의도에 부합하는 추천 단어를 보다 효과적으로 제공할 수 있다.The
도 6a 및 도 6b는 일부 실시예에 따른 디바이스가 적어도 하나의 의사 형태소를 추천하는 예시를 나타내는 도면이다.6A and 6B are diagrams illustrating an example in which a device according to some embodiments recommends at least one pseudo-morpheme.
영어는, 한글과 달리, 일반적으로 단어 단위로 띄어 쓴다. 따라서, 영어의 경우, 더 이상 나누어질 수 없는 단위의 명사, 형용사, 부사, 및 동사 원형 등이 하나의 의사 형태소가 될 수 있다. 예를 들어, 의사 형태소가 동사 원형(예를 들어, "say")인 경우, 의사 형태소를 포함하는 하나의 어절은, 동사의 변형된 형태(예를 들어, "said", "says", "saying" 등)를 의미할 수 있으나, 이에 한정되지 않는다. Unlike Hangul, English is usually written on a word-by-word basis. Thus, in English, units of nouns, adjectives, adverbs, and verb forms that can not be further divided can be a pseudo morpheme. For example, if the pseudo-morpheme is a verb prototype (e.g., "say"), one verse containing the pseudo-morpheme is a verb's modified form (e.g., quot ;, "saying ", etc.).
도 6a를 참조하면, 예를 들어, 사용자가 디바이스(1000)의 문자 입력 창(600)에 "wa"를 입력한 경우에, 디바이스(1000)는 "wa"를 포함하는 적어도 하나의 의사 형태소로서, "wait", "want", 및 "water"를 추천(601)할 수 있다. 6A, for example, if a user enters "wa" in the
디바이스(1000)는, 추천된 적어도 하나의 의사 형태소를 문자 입력 창 외부에 디스플레이할 수 있다. 사용자는, 추천된 적어도 하나의 의사 형태소 중에서 사용자가 의도한 하나의 의사 형태소를 선택할 수 있다. 하나의 의사 형태소를 선택하는 입력에 응답하여, 디바이스(1000)는 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 예를 들어, 도 6a에 도시된 바와 같이, 사용자는 추천된 3개의 의사 형태소 "wait", "want", 및 "water" 중에서 "wait"를 선택할 수 있다. 디바이스(1000)는, "wait"를 선택하는 입력에 응답하여, "wait"를 포함하는 적어도 하나의 어절을 추천(611)할 수 있다. 이때, 추천되는 어절은, 도 6a에 도시된 바와 같이, "wait", "waiting", "waited"와 같이, 동사 원형인 "wait"가 변형된 형태일 수 있으나, 이에 한정되지 않는다. 예를 들어, 의사 형태소가 명사(예를 들어, "child")일 때, 추천되는 어절은 의사 형태소로부터 파생된 명사들(예를 들어, "child", "children", "childhood")을 포함할 수 있다.The
또한, 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 디바이스(1000)는, 선택된 어절을 포함하는 적어도 하나의 다른 어절을 추천할 수 있다. 예를 들어, 도 6b를 참조하면, 사용자가 문자 입력 창 내에 "mea"를 입력한 경우, 디바이스(1000)는 "mea"를 포함하는 의사 형태소로서 "meaning", "meager", "meadow"를 추천할 수 있다.In addition, in response to an input selecting one of the recommended at least one word, the
또한, 추천된 의사 형태소 중에서, "meaning"을 선택하는 입력에 응답하여, 디바이스(1000)는, "meaning"을 포함하는 어절로서, "meaningless" 및 "meaningful"을 추천(631)할 수 있다. 그리고, 사용자가 추천된 어절 중에서 "meaningless"를 선택함에 따라, 디바이스(1000)는 "meaningless"를 포함하는 "meaninglessness" 및 "meaninglessly"를 더 추천(641)할 수 있다. 이에 따라, 디바이스(1000)는, 사용자로부터 입력된 문자에 기초하여, 적어도 하나의 의사 형태소를 추천함으로써, 사용자의 의도에 부합하는 의사 형태소를 제공할 가능성을 높일 수 있다. Also, of the recommended pseudo-morphemes, in response to the input selecting "meaning", the
도 7은 일부 실시예에 따른 디바이스(1000)가 공백 문자를 디스플레이하는 방법을 나타내는 흐름도이다.FIG. 7 is a flow diagram illustrating how a
일부 실시예에 따른 디바이스(1000)는, 문자 입력에 관한 컨텍스트 정보에 기초하여, 추천된 적어도 하나의 어절 중에서 선택된 어절의 다음에 공백 문자가 위치할 것인지 여부를 예측할 수 있다. 디바이스(1000)는, 예를 들어, 디바이스(1000)는, 사용자가 과거에 입력한 문자에 관한 정보, 각 의사 형태소에 대한 일반적인 사용 빈도를 나타내는 통계 데이터, 및 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 이용하여, 추천된 적어도 하나의 어절 중에서 선택된 어절의 다음에 공백 문자가 위치할 것인지 여부를 예측할 수 있다.The
S700 동작에서, 디바이스(1000)는 문자를 입력하는 사용자 입력을 수신할 수 있다. 이때, 입력되는 문자는, 적어도 하나의 알파벳 또는 적어도 하나의 음절을 포함할 수 있다.In S700 operation, the
S710 동작에서, 디바이스(1000)는 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 수 있다. S700 동작 및 S710 동작에 대해서는, 도 2의 S200 동작 및 S210 동작에 대응되므로, 자세한 설명은 생략한다.In operation S710, the
S720 동작에서, 디바이스(1000)는 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 사용자는, 디바이스(1000)로부터 추천된 적어도 하나의 의사 형태소 중에서, 사용자가 의도한 의사 형태소를 선택할 수 있다. 이에 따라, 디바이스(1000)는, 사용자에 의해 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 이때, 의사 형태소가 명사일 때, 의사 형태소를 포함하는 적어도 하나의 어절은, 명사에 조사가 연결된 형태일 수 있다.In operation S720, the
S730 동작에서, 디바이스(1000)는, 추천된 적어도 하나의 어절 중에서 하나를 선택하는 사용자 입력을 수신할 수 있다. 사용자는, 추천된 적어도 하나의 어절 중에서, 사용자가 디바이스(1000)의 문자 입력 창에 입력하고자 의도한 어절을 선택할 수 있다.In operation S730, the
S740 동작에서, 디바이스(1000)는, 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절 다음에 공백 문자가 위치할 것인지 여부를 예측할 수 있다. 예를 들어, 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력이 수신되고, 선택된 어절 다음에 공백 문자가 나올 가능성이 높을 때, 디바이스(1000)는 선택된 어절 다음에 공백 문자가 위치할 것이라고 예측할 수 있다. 예를 들어, 추천된 적어도 하나의 어절 중에서 "올림픽에"라는 어절이 사용자에 의해 선택된 경우, 사용자가 의도한 표현은 "올림픽에서" 또는 "올림픽에서는" 등과 같이, "올림픽에"를 포함하는 다른 어절일 수 있다. 그러나, "사과가"라는 어절이 사용자에 의해 선택되면, "사과가"를 포함하는 다른 어절보다 공백 문자가 위치할 가능성이 높을 수 있다. 따라서, 디바이스(1000)는, 사용자가 과거에 입력한 문자 데이터들에 관한 정보, 일반적으로 사용 빈도가 높은 어절들에 대한 통계 데이터 등에 기초하여, 선택된 어절 다음에 공백 문자가 위치할 것인지 여부를 예측할 수 있다. 이때, 선택된 어절 다음에 공백 문자가 위치할 것인지 여부에 관한 예측은, 심층 신경망(Deep Neural Network) 기술에 따른 학습에 기초하여 수행될 수 있다.In operation S740, the
S750 동작에서, 디바이스(1000)는, 예측 결과에 기초하여, 선택된 어절 및 공백 문자를 문자 입력 창 내에 디스플레이할 수 있다. 예를 들어, 선택된 어절 다음에 공백 문자가 위치할 가능성이 높다고 판단된 경우, 디바이스(1000)는 선택된 어절과 공백 문자를 문자 입력 창 내에 순차적으로 디스플레이할 수 있다. In operation S750, the
또한, 일부 실시예에 따른 디바이스(1000)는, 공백 문자가 문자 입력 창 내에 디스플레이됨에 따라, 문자 입력 창 내에 디스플레이된 적어도 하나의 어절에 기초하여, 공백 문자 다음에 위치할 적어도 하나의 의사 형태소를 추천할 수 있다.In addition, the
도 8은 일부 실시예에 따라, 공백 문자를 디스플레이하고, 디스플레이된 공백 문자 다음에 위치할 적어도 하나의 의사 형태소를 추천하는 예시를 나타내는 도면이다.8 is a diagram illustrating an example of displaying a blank character and recommending at least one pseudo-morpheme to be positioned after the displayed blank character, according to some embodiments.
일부 실시예에 따른 디바이스(1000)는 사용자로부터 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천하고, 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 사용자 입력에 응답하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 이때, 사용자가 추천된 적어도 하나의 어절 중에서 하나를 선택한 경우, 디바이스(1000)는 선택된 어절 다음에 공백 문자가 위치하는지 여부를 예측할 수 있다. 디바이스(1000)가 선택된 어절 다음에 공백 문자가 위치할 것이라고 예측한 경우, 디바이스(1000)는 선택된 어절과 공백 문자를 문자 입력 창에 순차적으로 디스플레이할 수 있다. 또한, 공백 문자가 문자 입력 창에 디스플레이됨에 따라, 디바이스(1000)는 공백 문자 다음에 위치할 적어도 하나의 의사 형태소를 추천할 수 있다.The
예를 들어, 도 8을 참조하면, 문자 입력 창 내에 "사ㄹ"를 입력하는 사용자 입력을 수신함에 따라, 디바이스(1000)는, "사랑", "사람", 및 "사려"를 추천(801)할 수 있다. 그리고, "사랑"을 선택하는 사용자 입력이 수신됨에 따라, 디바이스(1000)는 "사랑"을 포함하는 적어도 하나의 어절로서, "사랑은", "사랑이", 및 "사랑과"를 추천할 수 있다. 이때, "사랑은"을 선택하는 사용자 입력이 수신될 때, 디바이스(1000)는, "사랑은" 다음에 공백 문자가 위치할 것인지 여부를 예측할 수 있다. 디바이스(1000)는, "사랑은"이라는 어절을 포함하는 다른 어절이 있는지 여부, "사랑은"을 포함하는 다른 어절의 사용 빈도, 사용자의 문자 입력 특성, "사랑은" 다음에 공백 문자가 위치하는 경우에 대한 통계 데이터에 관한 정보들을 수집할 수 있다. 디바이스(1000)는, 수집된 정보들에 기초하여, 공백 문자를 디스플레이할 위치를 학습할 수 있다. 예를 들어, 도 8을 참조하면, 디바이스(1000)가 "사랑은" 다음에 공백 문자가 위치할 것이라고 예측한 경우, 디바이스(1000)는 "사랑은" 및 공백 문자를 문자 입력 창에 순차적으로 디스플레이(811)할 수 있다. For example, referring to FIG. 8, upon receiving a user input for inputting "Syll" in the character input window, the
일부 실시예에 따른 디바이스(1000)는, 공백 문자가 문자 입력 창에 디스플레이됨에 따라, 공백 문자 다음에 위치할 적어도 하나의 의사 형태소를 추천할 수 있다. 도 8을 참조하면, 공백 문자가 문자 입력 창에 디스플레이된 경우, 디바이스(1000)는 "사랑은" 다음에 위치할 적어도 하나의 의사 형태소로서, "아프다", "행복하다", "설레다" 등을 추천(821)할 수 있다. The
도 9는 일부 실시예에 따른 신경망의 예시를 나타내는 도면이다.9 is a diagram illustrating an example of a neural network according to some embodiments.
일부 실시예에 따른 디바이스(1000)는, 신경망(Neural Network)을 이용하여, 기 추천된 어절(Wt-1)의 다음에 추천할 어절(Wt)을 결정하고, 공백 문자가 디스플레이될 것인지 여부를 결정할 수 있다.
도 9를 참조하면, 디바이스(1000)에 의해 기 추천된 제1 어절(Wt-1)(910)이 신경망(Neural Network)(900)에 입력될 때, 신경망(Neural Network) 기술에 따른 학습에 기초하여, 제1 어절(Wt-1)의 다음에 위치할 제2 어절(Wt)에 관한 확률 분포(920) 및 제2 어절(Wt)의 다음에 위치할 공백 문자에 관한 확률 분포(921)가 출력될 수 있다. 예를 들어, 제2 어절(Wt)에 관한 확률 분포(920)는, 제1 어절(Wt-1)을 포함하는 각 어절에 대하여, 제1 어절(Wt-1)의 다음에 위치할 확률을 나타내는 확률 분포를 의미할 수 있다. 또한, 제2 어절(Wt)의 다음에 위치할 공백 문자에 관한 확률 분포(921)는, 제2 어절(Wt) 다음에 공백 문자가 위치할 확률을 나타내는 분포를 의미할 수 있다. 디바이스(1000)는, 신경망(900)의 출력 결과에 기초하여, 제1 어절(Wt-1)을 포함하는 어절들 중에서 확률 분포가 높은 어절을 제1 어절(Wt-1) 다음에 위치할 제2 어절(Wt)로 결정할 수 있다. 9, when a first word (W t-1 ) 910 recommended by the
신경망(900)은 하나의 어절이 입력될 때마다, 학습 결과를 업데이트할 수 있다. 예를 들어, 신경망(900)의 제2 어절(Wt)에 관한 확률 분포(920) 및 공백 문자에 관한 확률 분포(921)는, 신경망(900)의 학습 결과를 업데이트하는데 다시 이용될 수 있다.The
도 10은 일부 실시예에 따른 디바이스가 추천할 어절이 있는지 여부가 나타나도록, 디스플레이된 의사 형태소를 구별되게 표시하는 예시를 나타내는 도면이다.10 is an illustration showing an example of distinctly displaying the displayed pseudo morphemes so that a device according to some embodiments may indicate whether there is a word phrase to recommend.
일부 실시예에 따른 디바이스(1000)는, 사용자로부터 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 때, 의사 형태소를 포함하는 추천할 어절이 있는지 여부가 나타나도록, 추천된 의사 형태소를 구별되게 표시할 수 있다. 예를 들어, 도 10을 참조하면, 디바이스(1000)는, "사"라는 문자를 입력한 사용자 입력에 응답하여, "사"를 포함하는 의사 형태소로서, "사랑", "사과", 및 "사장"을 추천할 수 있다. 이때, 디바이스(1000)는, "사랑", "사과", 및 "사장"에 대하여, 각 의사 형태소를 포함하는 적어도 하나의 추천할 어절이 있는지 여부를 사용자가 용이하게 식별하도록 할 수 있다. 예를 들어, 도 10에 도시된 바와 같이, 디바이스(1000)는, 의사 형태소 옆에 소정의 도형(예를 들어, 삼각형)(1002)을 이용하여 구별되게 표시할 수 있다. 또는, 실시예에 따라, 디바이스(1000)는, 의사 형태소를 소정의 색상을 이용하여 하이라이트로 표시함으로써 구별되게 표시할 수 있으나, 이에 한정되지 않는다. The
도 11은, 일부 실시예에 따른 디바이스가 의사 형태소 각각에 대한 사용자의 사용 빈도를 고려하여, 의사 형태소를 추천하는 예시를 나타내는 도면이다.11 is a diagram showing an example in which a device according to some embodiments recommends a pseudo-morpheme in consideration of the frequency of use of the user for each of the pseudo-morphemes.
일부 실시예에 따른 디바이스(1000)는, 사용자로부터 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 때, 의사 형태소 각각에 대한 사용자의 사용 빈도를 고려하여 추천할 수 있다. 디바이스(1000)는, 각 의사 형태소 일반적인 사용 빈도 대한 정보뿐만 아니라, 사용자가 과거에 입력한 문자들에 대한 통상적인 사용 빈도에 관한 통계 데이터, 디바이스(1000)에 의해 추천된 적어도 하나의 의사 형태소 중에서 사용자가 선택한 의사 형태소에 대한 정보, 사용자가 과거에 입력한 음성 데이터에 대한 정보 등을 고려하여, 적어도 하나의 의사 형태소를 추천할 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 과거에 입력한 문자들에 대한 정보, 디바이스(1000)에 의해 추천된 적어도 하나의 의사 형태소 중에서 사용자가 과거에 선택한 의사 형태소에 대한 정보, 사용자가 과거에 입력한 음성 데이터에 대한 정보 등을 수집할 수 있다. 디바이스(1000)는, 수집된 정보들을 이용하여 사용자가 빈번하게 사용하는 의사 형태소를 학습하고, 학습된 결과에 기초하여 사용자가 빈번하게 사용하는 의사 형태소에 대하여 상대적으로 더 큰 가중치를 설정할 수 있다. 디바이스(1000)는, 사용자로부터 새로운 문자가 입력되거나 추천된 의사 형태소들 중에서 하나를 선택하는 입력에 수신될 때, 의사 형태소 각각에 대한 사용자의 사용 빈도에 대한 정보를 업데이트할 수 있다. 디바이스(1000)는, 의사 형태소에 대하여 설정된 가중치를 고려하여, 적어도 하나의 의사 형태소를 추천할 수 있다.The
예를 들어, 도 11을 참조하면, 표 1(1101)은 사용자 A가 빈번하게 사용하는 의사 형태소들의 리스트를 나타낸다. 예를 들어, 사용자 A가 디바이스(1000)의 문자 입력 창(1110) 내에 "wa"라는 문자를 입력할 때, 디바이스(1000)는, "wa"를 포함하는 의사 형태소들 중에서, 사용자 A가 빈번하게 사용하는 의사 형태소들을 우선적으로 추천할 수 있다. 예를 들어, 사용자 A가 "wa"를 포함하는 의사 형태소들 중에서, "want", "wait", 및 "walk" 순으로 빈번하게 사용하는 경우, 디바이스(1000)는 "want", "wait", 및 "walk"를 우선적으로 추천(1120)할 수 있다. 이에 따라, 디바이스(1000)는, 사용자 A의 의도에 부합하는 의사 형태소를 효과적으로 추천할 수 있다.For example, referring to FIG. 11, Table 1 1101 shows a list of pseudo-morphemes that user A frequently uses. For example, when the user A inputs the character "wa" in the
도 12는 일부 실시예에 따른 디바이스가 기 디스플레이된 적어도 하나의 어절의 종류 및 순서를 고려하여 의사 형태소를 추천하는 예시를 나타내는 도면이다.12 is a diagram illustrating an example in which a device according to some embodiments recommends a pseudo-morpheme in consideration of the kind and order of at least one word displayed.
적어도 두 어절을 포함하는 언어 표현에서, 앞에 위치하는 어절의 종류에 따라 다음에 위치할 어절의 종류가 달라질 수 있다. 이때, 어절의 종류는, 명사, 형용사, 동사 등을 포함하는 품사, 또는 주어, 동사, 목적어, 보어 등을 포함하는 문장 성분의 종류를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 주어에 해당하는 어절 다음에는 동사가 위치할 확률이 상대적으로 높으며, 형용사 다음에는 명사가 위치할 확률이 상대적으로 높다. 따라서, 디바이스(1000)는, 문자 입력 창 내에 기 디스플레이된 적어도 하나의 어절의 종류 및 순서를 고려하여, 적어도 하나의 의사 형태소를 추천함으로써, 문맥에 맞는 의사 형태소 및 어절을 추천할 수 있다. In a language expression including at least two words, the type of the next word to be located may vary depending on the type of the preceding word. At this time, the type of the word may include, but is not limited to, a kind of sentence component including a noun, an adjective, a verb including a verb, or a subject, a verb, an object, a bore, For example, there is a high probability that a verb is located after a verb that corresponds to a subject, and the probability that a noun is positioned after the adjective is relatively high. Therefore, the
예를 들어, 도 12를 참조하면, 디바이스(1000)의 문자 입력 창(1201) 내에 기 디스플레이된 어절이 "He"이고, "He" 다음에 위치할 어절의 일부로서 사용자가 "wa"라는 문자를 입력한 경우, 주어에 해당하는 "He" 다음에 동사가 나올 확률이 상대적으로 높다. 따라서, 디바이스(1000)는, "wa"를 포함하는 의사 형태소들 중에서 동사인 "wait", "want", 및 "watch"를 추천(1202)할 수 있다. For example, referring to FIG. 12, if the phrase displayed in the
다른 예로서, 디바이스(1000)의 문자 입력 창(1203) 내에 기 디스플레이된 어절이 "Clean"이고, "Clean" 다음에 위치할 어절의 일부로서 사용자가 "wa"라는 문자를 입력한 경우, 형용사에 속하는 "Clean" 다음에 명사가 나올 확률이 상대적으로 높다. 따라서, 디바이스(1000)는, "wa"를 포함하는 의사 형태소들 중에서 명사인 "water", "wave", "way"를 추천(1204)할 수 있다.As another example, if the phrase displayed in the
도 13은 일부 실시예에 따른 디바이스가 사용자의 문자 입력 특성을 고려하여 적어도 하나의 어절을 추천하는 예시를 나타내는 도면이다. 13 is a diagram illustrating an example in which a device according to some embodiments recommends at least one word in consideration of character input characteristics of a user.
사용자의 문자 입력 특성은, 사용자가 빈번하게 사용하는 표현들을 지칭할 수 있다. 예를 들어, 사용자는 "--했다" 라는 표현 대신 "--했어" 또는 "-했음"이라는 표현을 보다 빈번하게 사용할 수 있다. 디바이스(1000)는, 사용자에 의해 과거에 입력된 문자에 관한 정보, 디바이스(1000)에 의해 추천된 적어도 하나의 어절 중에서 사용자가 과거에 선택했던 어절에 관한 정보, 사용자로부터 과거에 입력된 음성 데이터에 관한 정보 등을 수집할 수 있다. 디바이스(1000)는, 수집된 정보들을 이용하여, 사용자의 문자 입력 특성을 파악할 수 있다. 예를 들어, 디바이스(1000)는, 신경망 기술에 따른 학습을 수행함으로써, 사용자의 문자 입력 특성을 파악할 수 있다. 사용자의 문자 입력 특성을 파악함에 있어, 어떠한 정보가 사용될 지는 기 설정된 기준에 의한 학습에 따라 결정될 수 있다. The user's character input characteristics may refer to expressions that the user frequently uses. For example, a user may use the expression "-had" or "-had" more frequently than "-h". The
예를 들어, 도 13을 참조하면, 사용자가 디바이스(1000)의 문자 입력 창(1301) 내에 "식"이라는 문자를 입력한 경우에, 디바이스(1000)는 "식"을 포함하는 의사 형태소로서 "식단", "식품", 및 "식사"를 추천할 수 있다(1310). 추천된 "식단", "식품", 및 "식사"는, 디바이스(1000)의 문자 입력 창(1301) 외부에 디스플레이될 수 있다. 디스플레이된 3개의 의사 형태소들 중에서 "식사"를 선택하는 사용자 입력이 수신되면, 디바이스(1000)는 "식사"를 포함하는 적어도 하나의 어절을 추천할 수 있다. 이때, 디바이스(1000)는, 사용자의 문자 입력 특성을 고려하여, "식사"를 포함하는 적어도 하나의 어절을 추천할 수 있다. 예를 들어, 사용자가 "--하다"라는 표현보다 "--했어"라는 표현을 빈번하게 사용하는 경우, 디바이스(1000)는 "식사했어"를 "식사했다"보다 우선적으로 추천(1330)할 수 있다.For example, referring to FIG. 13, when a user inputs the character "expression" in the
도 14 및 도 15은 일부 실시예에 따른 디바이스의 구성을 나타내는 블록도이다.14 and 15 are block diagrams showing the configuration of a device according to some embodiments.
도 14에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 디스플레이부(1210), 프로세서(1300), 및 메모리(1700)를 포함할 수 있다. 그러나, 도 14에 도시된 구성 요소 모두가 디바이스(1000)의 필수 구성 요소인 것은 아니다. 도 14에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있고, 도 14에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있다.As shown in FIG. 14, a
예를 들어, 도 15에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 디스플레이부(1210), 프로세서(1300), 및 메모리(1700) 이외에 센싱부(1400), A/V 입력부(1600), 통신부(1500)를 더 포함할 수도 있다. 15, a
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.The
일부 실시예에 따른 사용자 입력부(1100)는, 디바이스(1000)의 문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신할 수 있다. 사용자 입력부(1100)는, 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 사용자 입력, 또는 추천된 적어도 하나의 어절 중에서 하나를 선택하는 사용자 입력을 수신할 수 있다. 또한, 사용자 입력부(1100)는, 디바이스(1000)의 문자 입력 창 내에 공백 문자를 입력하는 사용자 입력을 수신할 수 있으나, 전술한 예에 한정되지 않는다.The
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.The
디스플레이부(1210)는 디바이스(1000)에서 처리되는 정보를 표시 출력한다. 예를 들어, 일부 실시예에 따른 디스플레이부(1210)는, 사용자로부터 입력된 문자에 기초하여 추천 단어를 제공하기 위한 사용자 인터페이스를 디스플레이할 수 있다. 또한, 디스플레이부(1210)는, 사용자로부터 입력된 문자에 기초하여 추천되는 적어도 하나의 의사 형태소, 추천된 적어도 하나의 의사 형태소 중에서 하나가 선택됨에 따라 추천되는 적어도 하나의 어절을 표시할 수 있다.The
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 디바이스(1000)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다.The
프로세서(1300)는, 통상적으로 디바이스(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 또한, 프로세서(1300)는 메모리(1700)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 14에 기재된 디바이스(1000)의 기능을 수행할 수 있다.
일부 실시예에 따른 프로세서(1300)는, 입력된 문자를 분석함으로써, 입력된 문자를 포함하는 적어도 하나의 의사 형태소(pseudo-morpheme)를 추천한다. 프로세서(1300)는, 입력되는 문자에 관한 컨텍스트 정보 및 사용자의 컨텍스트 정보를 이용하여, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 수 있다. 예를 들어, 프로세서(1300)는, 의사 형태소 각각에 대한 통상적인 사용 빈도에 관한 정보, 사용자가 과거에 입력한 문자들에 관한 정보, 디바이스(1000)에 의해 추천된 의사 형태소들 중에서 사용자가 선택한 의사 형태소에 관한 정보, 사용자가 과거에 입력한 음성 데이터에 관한 정보 등을 고려하여, 적어도 하나의 의사 형태소를 추천할 수 있다.
일부 실시예에 따른 프로세서(1300)는, 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천한다. 사용자는, 추천된 적어도 하나의 의사 형태소 중에서, 사용자가 문자 입력 창 내에 입력하고자 했던 의사 형태소를 선택할 수 있다. 의사 형태소를 선택하는 입력이 수신됨에 따라, 프로세서(1300)는, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 이때, 선택된 의사 형태소가 뜻을 가지는 명사일 때, 의사 형태소를 포함하는 적어도 하나의 어절은, 명사에 조사가 결합된 형태일 수 있으나, 이에 한정되지 않는다.
또한, 프로세서(1300), 사용자의 문자 입력 특성에 기초하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. 예를 들어, 디바이스(1000)는, 사용자가 빈번하게 사용하는 표현을 고려하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다. Also, the
또한, 프로세서(1300)는, 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절을 포함하는 적어도 하나의 다른 어절을 추천할 수 있다. 이때, 선택된 어절을 포함하는 적어도 하나의 다른 어절은, 선택된 어절에 다른 조사가 추가된 어절을 포함할 수 있으나, 이에 한정되지 않는다.In addition, the
또한, 프로세서(1300)는 메모리(1700) 또는 서버(2000)에 저장된 데이터 인식 모델을 이용하여, 추천 단어를 제공할 수 있으며, 이에 관하여는, 도 16 내지 도 19에서 보다 상세히 설명하기로 한다.In addition, the
또한, 프로세서(1300)는, 메모리(1700) 또는 서버(2000)에 저장된 데이터 인식 모델을 이용함으로써, 추천할 의사 형태소 결정하기 위한 기준을 효율적으로 학습할 수 있으며, 학습된 결과에 따라 사용자의 의도에 부합하는 추천 단어를 사용자에게 제공할 수 있게 된다.The
센싱부(1400)는, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다. 센싱부(1400)는 사용자 또는 디바이스(1000)의 주변 상황을 나타내는 컨텍스트 정보 중 일부를 생성하는데 이용될 수 있다. The
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.The
통신부(1500)는, 디바이스(1000)가 다른 장치(미도시) 및 서버(2000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 디바이스(1000)와 같은 컴퓨팅 장치이거나, 센싱 장치일 수 있으나, 이에 제한되지 않는다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다. The
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), 와이파이(WLAN) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. The short-range wireless communication unit 1510 includes a Bluetooth communication unit, a BLE (Bluetooth Low Energy) communication unit, a Near Field Communication unit, a WLAN communication unit, a Zigbee communication unit, IrDA, an infrared data association) communication unit, a WFD (Wi-Fi Direct) communication unit, an UWB (ultra wideband) communication unit, an Ant + communication unit, and the like.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.The
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 디바이스(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.The
또한, 통신부(1500)는, 사용자의 음성 입력에 대한 답변 메시지를 요청하고 답변 메시지에 관련된 동작을 실행하기 위한 필요한 정보를, 다른 장치(미도시) 및 서버(2000)와 송수신할 수 있다.In addition, the
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 카메라(1610)에 의해 촬영된 이미지는 사용자의 컨텍스트 정보로 활용될 수 있다.The A / V (Audio / Video)
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 사용자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)은 사용자의 음성 입력을 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다. The
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수도 있다. The
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다. Programs stored in the
UI 모듈(1710)은, 애플리케이션 별로 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.The
알림 모듈(1730)은 디바이스(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 디바이스(1000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.The
도 16은 일부 실시예에 따른 프로세서(1300)의 블록도이다.16 is a block diagram of a
도 16을 참조하면, 일부 실시예에 따른 프로세서(1300)는 데이터 학습부(1310) 및 데이터 인식부(1320)를 포함할 수 있다.Referring to FIG. 16, a
데이터 학습부(1310)는, 사용자로부터 입력된 문자에 대한 추천 단어를 결정하기 위한 기준을 학습할 수 있다. 예를 들어, 데이터 학습부(1310)는, 사용자로부터 입력된 문자에 따른 추천할 의사 형태소 및 추천할 어절을 결정하기 위한 기준을 학습할 수 있다. 또한, 데이터 학습부(1310)는, 추천된 어절의 다음에 공백 문자를 디스플레이할 것인지 여부를 결정하기 위한 기준을 학습할 수 있다. 또한, 데이터 학습부(1310)는, 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하기 위하여 어떤 데이터를 이용할 것인지에 관한 기준을 학습할 수 있다. 데이터 학습부(1310)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습 데이터를 후술할 데이터 인식 모델에 적용함으로써, 사용자로부터 입력된 문자에 대한 추천 단어를 결정하기 위한 기준을 학습할 수 있다.The
구체적으로, 데이터 학습부(1310)는 상기 기준들을 학습하기 위한 학습 데이터로서, 사용자가 과거에 입력한 문자들 또는 음성 데이터들에 대한 정보, 디바이스(1000)에 의해 추천된 적어도 하나의 의사 형태소 중에서 사용자가 선택한 의사 형태소에 관한 정보, 디바이스(1000)에 의해 추천된 적어도 하나의 어절들 중에서 사용자가 선택한 어절에 관한 정보, 의사 형태소들 또는 어절들 각각에 대한 통상적인 사용자의 사용 빈도에 관한 통계 데이터를 이용할 수 있다. Specifically, the
데이터 학습부(1310)는 비지도 학습(unsupervised learning)을 통하여 상기 학습 데이터들에 기반하여 데이터 인식 모델을 학습시킬 수 있다. 예를 들어, 데이터 학습부(1310)는 사용자의 사용 빈도가 높은 의사 형태소 또는 어절에 대하여 상대적으로 더 높은 확률 또는 더 큰 가중치가 설정되도록 데이터 인식 모델을 학습시킬 수 있다. The
또는, 데이터 학습부(1310)는 학습 데이터(예를 들어, 특정 어절 다음에 공백 문자가 위치하는 경우에 대한 통계 데이터)을 이용하여 특정 어절 별로 특정 어절 다음에 공백 문자가 위치할 확률 또는 가중치가 설정되도록 데이터 인식 모델을 학습시킬 수 있다.Alternatively, the
또는, 데이터 학습부(1310)는 인식 결과에 따른 사용자의 피드백을 이용하여 데이터 인식 모델을 학습 또는 갱신시킬 수 있다. 예를 들어, 데이터 학습부(1310)는 디바이스(1000)에 의해 추천된 적어도 의사 형태소 또는 어절 중에서 사용자가 선택한 의사 형태소 또는 어절에 대하여 더 큰 가중치가 설정되도록 데이터 인식 모델을 학습시킬 수 있다.Alternatively, the
데이터 인식부(1320)는 데이터에 기초하여 사용자로부터 입력된 문자에 대한 추천 단어를 결정할 수 있다. 예를 들어, 데이터 인식부(1320)는, 추천할 의사 형태소에 관한 학습 결과를 이용하여, 사용자로부터 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 결정할 수 있다. 또한, 데이터 인식부(1320)는, 추천할 어절에 관한 학습 결과를 이용하여, 사용자에 의해 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 결정할 수 있다. 다른 예에 따르면, 데이터 인식부(1320)는, 공백 문자의 위치에 관한 학습 결과를 이용하여, 사용자에 의해 선택된 어절 다음에 공백 문자를 디스플레이할 것인지 여부를 결정할 수 있다. 데이터 인식부(1320)는 학습된 데이터 인식 모델을 이용하여, 추천할 적어도 하나의 의사 형태소 및 추천할 적어도 하나의 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정할 수 있다. 데이터 인식부(1320)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용할 수 있다. 또한, 데이터 인식부(1320)는 이를 이용함으로써, 소정의 데이터에 기초하여 추천할 적어도 하나의 의사 형태소, 및 추천할 적어도 하나의 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.The
구체적으로, 데이터 인식부(1320)는 인식 데이터로서 사용자로부터 입력된 문자를 획득할 수 있다. 데이터 인식부(1320)은 획득된 문자를 데이터 인식 모델에 적용하여, 적어도 하나의 의사 형태소를 획득할 수 있다. 예를 들어, 데이터 인식부(1320)는 획득된 문자를 데이터 인식 모델에 적용하여 사용자의 사용 확률이 높은 순서 또는 가중치가 높은 순서에 따라 일정 개수의 의사 형태소를 획득할 수 있다.Specifically, the
또는, 데이터 인식부(1320)는 인식 데이터로서, 사용자에 의하여 입력되거나 또는 복수의 의사 형태소들 중에서 선택된 의사 형태소를 획득할 수 있다. 데이터 인식부(1320)는 획득된 의사 형태소를 데이터 인식 모델에 적용하여, 적어도 하나의 어절을 결정할 수 있다. 예를 들어, 데이터 인식부(1320)는 획득된 의사 형태소를 데이터 인식 모델에 적용하여 사용자의 사용 확률이 높은 순서 또는 가중치가 높은 순서에 따라 일정 개수의 의사 형태소를 획득할 수 있다.Alternatively, the
또는, 데이터 인식부(1320)는 인식 데이터로서 사용자에 의하여 입력되거나 또는 복수의 어절들 중에서 사용자에 의하여 선택된 어절을 획득할 수 있다. 데이터 인식부(1320)는 획득된 어절을 데이터 인식 모델에 적용하여, 적어도 하나의 다른 어절을 결정할 수 있다. 예를 들어, 데이터 인식부(1320)는 획득된 어절을 데이터 인식 모델에 적용하여 사용자의 사용자의 사용 확률이 높은 순서 또는 가중치가 높은 순서에 따라 일정 개수의 어절을 획득할 수 있다.Alternatively, the
또는, 데이터 인식부(1320)는 획득된 어절을 데이터 인식 모델에 적용하여, 공백 문자를 디스플레이할 것인지 여부에 대한 정보를 획득할 수 있다. 예를 들어, 데이터 인식부(1320)는 획득된 어절을 데이터 인식 모델에 적용하여, 특정 어절 다음에 공백 문자가 위치할 확률 또는 가중치가 일정 기준 이상 또는 이하인지 판단함에 따라 공백 문자를 디스플레이할 것인지 여부에 대한 정보를 획득할 수 있다.Alternatively, the
또는, 데이터 인식부(1320)는 획득된 어절을 데이터 인식 모델에 적용하여, 공백 문자를 디스플레이할 것인지 여부에 대한 정보를 획득하고, 상기 정보가 공백 문자를 디스플레이하는 것을 나타내는 정보인 경우, 상기 공백 문자 다음에 위치할 적어도 하나의 의사 형태소 또는 어절을 획득할 수 있다. 이때, 데이터 인식부(1320)는 사용자의 사용 확률이 높은 순서 또는 가중치가 높은 순서에 따라 일정 개수의 의사 형태소 또는 어절을 획득할 수 있다. 데이터 학습부(1310)의 적어도 일부 및 데이터 인식부(1320)의 적어도 일부는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다.Alternatively, the
데이터 학습부(1310) 및 데이터 인식부(1320)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1310) 및 데이터 인식부(1320) 중 하나는 디바이스(1000)에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1310) 및 데이터 인식부(1320)는 유선 또는 무선으로 통하여, 데이터 학습부(1310)가 구축한 모델 정보를 데이터 인식부(1320)로 제공할 수도 있고, 데이터 인식부(1320)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1310)로 제공될 수도 있다.The
한편, 데이터 학습부(1310)의 적어도 일부 및 데이터 인식부(1320)의 적어도 일부는 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1310) 및 데이터 인식부(1320) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다. At least one of at least a part of the
도 17은 일부 실시예에 따른 데이터 학습부(1310)의 블록도이다.17 is a block diagram of a
도 17을 참조하면, 일부 실시예에 따른 데이터 학습부(1310)는 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)를 포함할 수 있다. 다양한 실시예로, 데이터 학습부(1310)는 데이터 획득부(1310-1) 및 모델 학습부(1310-4)를 필수적으로 포함하고, 전처리부(1310-2), 학습 데이터 선택부(1310-3) 및 모델 평가부(1310-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.데이터 획득부(1310-1)는 사용자로부터 입력된 문자에 대한 추천 단어를 결정하는데, 필요한 학습 데이터를 획득할 수 있다. 데이터 획득부(1310-1)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 추천된 어절의 다음에 공백 문자를 디스플레이할 것인지 여부를 결정하기 위한 학습을 위하여 필요한 학습 데이터를 획득할 수 있다.17, the
데이터 획득부(1310-1)는, 예를 들어, 소정의 사용자 음성, 소정의 컨텍스트 정보를 획득할 수 있다. 또한, 데이터 획득부(1310-1)는 디바이스(1000)에 의해 추천된 적어도 하나의 의사 형태소 또는 어절 중에서 사용자가 선택한 의사 형태소 또는 어절에 대한 정보를 획득할 수 있다.The data acquisition unit 1310-1 can acquire, for example, predetermined user voice and predetermined context information. Further, the data acquisition unit 1310-1 may acquire information about a user's selected pseudo morpheme or phrase from among at least one pseudo-morpheme or phrase recommended by the
전처리부(1310-2)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 추천된 어절의 다음에 공백 문자를 디스플레이할 것인지 여부를 결정하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1310-2)는 후술할 모델 학습부(1310-4)가 사용자의 의도 판단, 연관 정보의 제공 또는 대체 동작의 추천을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.The preprocessing unit 1310-2 determines the pseudo morpheme to be recommended and the recommendation word to be recommended and determines whether the obtained data is used for learning to determine whether to display a blank character next to the recommended phrase Data can be preprocessed. The preprocessing unit 1310-2 prepares the acquired data so that the model learning unit 1310-4, which will be described later, can use the data obtained for the user's intention determination, the provision of the association information, or the recommendation of the replacement operation It can be processed in a preset format.
학습 데이터 선택부(1310-3)는 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(1310-4)에 제공될 수 있다. 학습 데이터 선택부(1310-3)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 추천된 어절의 다음에 공백 문자를 디스플레이할 것인지 여부를 결정하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1310-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 학습 데이터를 선택할 수도 있다.The learning data selection unit 1310-3 can select learning data necessary for learning from the preprocessed data. The selected learning data may be provided to the model learning unit 1310-4. The learning data selection unit 1310-3 determines a pseudo morpheme to be recommended and a phrase to be recommended based on a predetermined criterion for deciding whether or not to display a blank character next to a recommended phrase, Can be selected. The learning data selecting unit 1310-3 can also select learning data according to a predetermined reference by learning by the model learning unit 1310-4, which will be described later.
모델 학습부(1310-4)는 데이터 획득부(1310-1)를 통하여 획득되거나 또는 학습 데이터 선택부(1310-3)에서 선택된 학습 데이터에 기초하여 추천할 의사 형태소 및 추천할 어절을 결정하고, 추천된 어절의 다음에 공백 문자를 디스플레이할 것인지 여부를 결정하기 위한 기준을 학습할 수 있다. 또한, 모델 학습부(1310-4)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 추천된 어절의 다음에 공백 문자를 디스플레이할 것인지 여부를 결정하기 위하여 어떤 학습 데이터를 이용해야 하는지에 대한 기준을 학습할 수도 있다.The model learning unit 1310-4 determines a pseudo morpheme to be recommended and a recommendation word to be recommended based on the learning data selected by the learning data selection unit 1310-3 via the data acquisition unit 1310-1, You can learn the criteria to determine whether or not to display blank characters after the suggested phrase. The model learning unit 1310-4 also determines a pseudo morpheme to be recommended and a recommendation word to be recommended and sets a criterion for determining which learning data should be used to determine whether to display a blank character next to the recommended word .
또한, 모델 학습부(1310-4)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 추천된 어절의 다음에 공백 문자를 디스플레이할 것인지 여부를 결정하는데 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 데이터 등)을 입력받아 미리 구축된 모델일 수 있다.Also, the model learning unit 1310-4 determines a pseudo morpheme to be recommended and an oath to be recommended, and uses a data recognition model used for determining whether or not to display a blank character next to the recommended oath by using learning data Can learn. In this case, the data recognition model may be a pre-built model. For example, the data recognition model may be a pre-built model that receives basic learning data (e.g., sample data, etc.).
데이터 인식 모델은, 데이터 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 데이터 인식 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 예를 들어, 데이터 인식 모델은 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다.. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.The data recognition model can be constructed in consideration of the application field of the data recognition model, the purpose of learning, or the computer performance of the device. The data recognition model can be designed to simulate the human brain structure on a computer. The data recognition model may include a plurality of weighted network nodes that simulate a neuron of a human neural network. A plurality of network nodes may each establish a connection relationship to simulate synaptic activity of neurons sending and receiving signals via synapses. For example, the data recognition model may include a neural network model, or a deep learning model developed in a neural network model. In Deep Learning Model, a plurality of network nodes are located at different depths (or layers) and can exchange data according to a convolution connection relationship. For example, DNN (Deep Neural Network), RNN Network), and BRDNN (Bidirectional Recurrent Deep Neural Network) may be used as a data recognition model, but the present invention is not limited thereto.
다양한 실시예에 따르면, 모델 학습부(1310-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다. According to various embodiments, when there are a plurality of data recognition models that are built in advance, the model learning unit 1310-4 may use a data recognition model to learn a data recognition model having a large relation between input learning data and basic learning data You can decide. In this case, the basic learning data may be pre-classified according to the type of data, and the data recognition model may be pre-built for each data type. For example, the basic learning data may be pre-classified by various criteria such as an area where the learning data is generated, a time at which the learning data is generated, a size of the learning data, a genre of the learning data, a creator of the learning data, .
또한, 모델 학습부(1310-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.In addition, the model learning unit 1310-4 can learn a data recognition model using, for example, a learning algorithm including an error back-propagation method or a gradient descent .
또한, 모델 학습부(1310-4)는, 예를 들어, 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.Also, the model learning unit 1310-4 can learn the data recognition model through supervised learning using, for example, at least a part of the learning data as a determination criterion.
또한, 모델 학습부(1310-4)는, 예를 들어, 별다른 지도없이 학습 데이터를 이용하여 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 예를 들어, 모델 학습부(1310-4)는 어절 또는 의사 형태소에 대한 사용자의 사용 빈도를 고려하여 데이터 인식 모델을 학습시킬 수 있다. 또는, 모델 학습부(1310-4)는 사용자가 선택한 어절 또는 의사 형태소에 대한 정보인 피드백 정보를 이용하여 데이터 인식 모델을 학습시킬 수 있다. Also, the model learning unit 1310-4 can learn the types of data necessary for the user's intention determination, provision of the association information, and recommendation of the substitute operation by using the learning data without any guidance, for example, The data recognition model can be learned through unsupervised learning that finds a criterion for intention determination, provision of related information, and recommendation of replacement operation. For example, the model learning unit 1310-4 can learn the data recognition model in consideration of the frequency of use by the user with respect to the word or pseudo morpheme. Alternatively, the model learning unit 1310-4 can learn the data recognition model using feedback information that is information on a word or a pseudo morpheme selected by the user.
또한, 모델 학습부(1310-4)는, 예를 들어, 학습에 따른 사용자의 의도 판단, 연관 정보의 제공 및 대체 동작의 추천의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. Further, the model learning unit 1310-4 may perform reinforcement learning using feedback on whether the result of recommendation of the user's intention determination of the learning, provision of the association information and recommendation of the replacement operation is correct, for example , A data recognition model can be learned.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 데이터 인식부(1320)를 포함하는 전자 장치(예를 들어, 디바이스(1000))의 메모리에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1320)를 포함하는 전자 장치의 메모리(예를 들어, 디바이스(1000))에 저장할 수 있다. 또는, 모델 학습부(1310-4)는 학습된 데이터 인식 모델을 전자 장치(예를 들어, 디바이스(1000))와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.Further, when the data recognition model is learned, the model learning unit 1310-4 can store the learned data recognition model. In this case, the model learning unit 1310-4 can store the learned data recognition model in the memory of the electronic device (for example, the device 1000) including the
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.In this case, the memory in which the learned data recognition model is stored may also store, for example, instructions or data associated with at least one other component of the electronic device. The memory may also store software and / or programs. The program may include, for example, a kernel, a middleware, an application programming interface (API), and / or an application program (or "application").
모델 평가부(1310-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1310-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다. The model evaluating unit 1310-5 inputs the evaluation data to the data recognition model. If the recognition result output from the evaluation data does not satisfy the predetermined criterion, the model evaluating unit 1310-5 can allow the model learning unit 1310-4 to learn again have. In this case, the evaluation data may be predetermined data for evaluating the data recognition model.
예를 들어, 모델 평가부(1310-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1310-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.For example, when the number or the ratio of the evaluation data in which the recognition result is not correct is greater than a preset threshold value, among the recognition results of the learned data recognition model for the evaluation data, the model evaluation unit 1310-5 It can be evaluated as unsatisfactory. For example, when the predetermined criterion is defined as a ratio of 2%, when the learned data recognition model outputs an incorrect recognition result for evaluation data exceeding 20 out of a total of 1000 evaluation data, Can be estimated that the learned data recognition model is not suitable.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1310-5)는 각각의 학습된 데이터 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1310-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.On the other hand, when there are a plurality of learned data recognition models, the model evaluation unit 1310-5 evaluates whether each of the learned data recognition models satisfies a predetermined criterion, Can be determined as a model. In this case, when there are a plurality of models satisfying the predetermined criterion, the model evaluating unit 1310-5 can determine any one or a predetermined number of models previously set in the order of higher evaluation scores as the final data recognition model.
한편, 데이터 학습부(1310) 내의 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.The data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-4 in the
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 일부는 디바이스(1000)에 포함되고, 나머지 일부는 서버에 포함될 수 있다.The data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, Or may be mounted on separate electronic devices, respectively. For example, some of the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 May be included in the
또한, 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310-1), 전처리부(1310-2), 학습 데이터 선택부(1310-3), 모델 학습부(1310-4) 및 모델 평가부(1310-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.At least one of the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5 Software module. At least one of the data acquisition unit 1310-1, the preprocessing unit 1310-2, the learning data selection unit 1310-3, the model learning unit 1310-4, and the model evaluation unit 1310-5, (Or program modules including instructions), the software modules may be stored in a computer-readable, readable, non-transitory computer readable media. Also, in this case, the at least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by an Operating System (OS), and some of the software modules may be provided by a predetermined application.
프로세서(1300)(또는, 제어부)는 다양한 데이터 인식 모델을 이용할 수 있으며, 데이터 인식 모델을 통해 다양한 방법으로 사용자의 의도를 판단하고 연관 정보를 제공하고 대체 동작을 추천을 위한 기준을 효율적으로 학습할 수 있다. The processor 1300 (or the control unit) can use various data recognition models. The data recognition model can be used to determine user's intentions in various ways, provide association information, .
도 18은 일부 실시예에 따른 데이터 인식부(1320)의 블록도이다.18 is a block diagram of a
도 18을 참조하면, 일부 실시예에 따른 데이터 인식부(1320)는 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)를 포함할 수 있다. 다양한 실시예로, 데이터 인식부(1320)는 데이터 획득부(1320-1) 및 인식 결과 제공부(1320-4)를 필수적으로 포함하고, 전처리부(1320-2), 인식 데이터 선택부(1320-3) 및 모델 갱신부(1320-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.18, the
데이터 획득부(1320-1)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하는데 필요한 데이터를 획득할 수 있다. 예로, 데이터 획득부(1320-1)는 인식 데이터로서 사용자로부터 입력된 문자, 의사 형태소 또는 어절을 획득할 수 있다. 또는, 데이터 획득부(1320-1)는 사용자에 의하여 선택된 문자, 의사 형태소 또는 어절을 획득할 수 있다. The data acquisition unit 1320-1 can determine the pseudo morpheme to be recommended and the recommended word and obtain the data necessary for determining whether to display blank characters. For example, the data acquisition unit 1320-1 may acquire characters, pseudo-morphemes, or phrases input from the user as recognition data. Alternatively, the data acquisition unit 1320-1 may acquire a character, a pseudo-morpheme, or a phrase selected by the user.
전처리부(1320-2)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하기 위해 획득된 인식 데이터가 이용될 수 있도록, 데이터 획득부(1320-1)로부터 획득된 인식 데이터를 전처리할 수 있다. 전처리부(1320-2)는 후술할 인식 결과 제공부(1320-4)가 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 데이터 획득부(1320-1)는 디바이스(1000)에 입력되는 문자를 획득할 수 있다. 또한, 데이터 획득부(1320-1)는 사용자 또는 디바이스(1000)에 관련된 컨텍스트 정보를 획득할 수 있다. 또한, 예를 들어, 컨텍스트 정보는 디바이스(1000)에서 생성된 정보 또는 외부 장치로부터 수신된 정보일 수 있다.The preprocessing unit 1320-2 determines the pseudo morpheme to be recommended and the phrase to be recommended from the data acquisition unit 1320-1 so that the obtained recognition data can be used to determine whether or not to display the blank character The obtained recognition data can be preprocessed. The preprocessing unit 1320-2 determines the pseudo morpheme to be recommended and a phrase to be recommended by the recognition result providing unit 1320-4 to be described later and uses the acquired data to determine whether to display the blank character , And can process the acquired data into a predetermined format. For example, the data acquisition unit 1320-1 may acquire characters input to the
인식 데이터 선택부(1320-3)는 전처리된 인식 데이터 중에서 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하는데 필요한 인식 데이터를 선택할 수 있다. 선택된 인식 데이터는 인식 결과 제공부(1320-4)에게 제공될 수 있다. 인식 데이터 선택부(1320-3)는, 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하기 위한 기 설정된 기준에 따라, 전처리된 인식 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1320-3)는 후술할 모델 학습부(1310-4)에 의한 학습에 의해 기 설정된 기준에 따라 인식 데이터를 선택할 수도 있다.The recognition data selection unit 1320-3 may determine a pseudo morpheme to be recommended and a word to be recommended from among the preprocessed recognition data and may select recognition data necessary for determining whether to display a blank character. The selected recognition data may be provided to the recognition result provider 1320-4. The recognition data selection unit 1320-3 determines a pseudo morpheme to be recommended and a phrase to be recommended and selects some or all of the preprocessed recognition data according to a predetermined criterion for determining whether to display blank characters . The recognition data selection unit 1320-3 can also select recognition data according to a predetermined reference by learning by the model learning unit 1310-4, which will be described later.
인식 결과 제공부(1320-4)는 선택된 인식 데이터를 데이터 인식 모델에 적용하여 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정할 수 있다. 인식 결과 제공부(1320-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1320-4)는 데이터 획득부(1320-1)를 통하여 획득된 인식 데이터 또는 인식 데이터 선택부(1320-3)에 의해 선택된 인식 데이터를 입력 값으로 데이터 인식 모델에 적용할 수 있다. 인식 결과 제공부(1320-4)는 데이터 인식 모델의 적용 결과로서, 적어도 하나의 의사 형태소, 적어도 하나의 어절 또는 공백 문자를 디스플레이할 것인지 여부에 대한 정보를 획득할 수 있다.The recognition result providing unit 1320-4 can apply the selected recognition data to the data recognition model to determine a pseudo morpheme to be recommended and a recommendation word to be recommended, and determine whether to display blank characters. The recognition result providing unit 1320-4 can provide the recognition result according to the data recognition purpose. The recognition result providing unit 1320-4 can apply the recognition data acquired through the data acquisition unit 1320-1 or the recognition data selected by the recognition data selection unit 1320-3 to the data recognition model as an input value have. The recognition result providing unit 1320-4 can obtain information as to whether or not to display at least one pseudo morpheme, at least one word or blank character as a result of applying the data recognition model.
모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1320-5)는 인식 결과 제공부(1320-4)에 의해 제공되는 인식 결과를 모델 학습부(1310-4)에게 제공함으로써, 모델 학습부(1310-4)가 데이터 인식 모델을 갱신하도록 할 수 있다. The model updating unit 1320-5 can update the data recognition model based on the evaluation of the recognition result provided by the recognition result providing unit 1320-4. For example, the model updating unit 1320-5 provides the recognition result provided by the recognition result providing unit 1320-4 to the model learning unit 1310-4 so that the model learning unit 1310-4 The data recognition model can be updated.
구체적으로, 인식 결과에 대한 평가는, 디바이스(1000)가 사용자에게 추천한 의사 형태소, 적어도 하나의 어절 또는 공백 문자의 디스플레이 여부에 따른 사용자 피드백 정보가 될 수 있다. 예로, 디바이스(1000)가 추천한 적어도 하나의 의사 형태소 또는 적어도 하나의 어절 중에 사용자가 선택한 의사 형태소 또는 어절은 사용자 피드백 정보로서 데이터 인식 모델을 갱신하기 위한 학습 데이터로서 이용될 수 있다. 또는, 디바이스(1000)가 공백 문자를 디스플레이한 경우, 상기 공백 문자를 수용하여 다음 문자를 입력하거나 또는 상기 공백 문자를 제거하는 사용자 입력은 사용자 피드백 정보로서 데이터 인식 모델을 갱신하기 위한 학습 데이터로서 이용될 수 있다. 또는, 디바이스(1000)가 공백 문자를 디스플레이하지 않은 경우, 공백 문자를 입력하는 사용자 입력은 사용자 피드백 정보로서 데이터 인식 모델을 갱신하기 위한 학습 데이터로서 이용될 수 있다. Specifically, the evaluation of the recognition result may be user feedback information depending on whether the
한편, 데이터 인식부(1320) 내의 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.The data acquisition unit 1320-1, the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-4 in the
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 일부는 디바이스(1000)에 포함되고, 나머지 일부는 서버에 포함될 수 있다.The data acquiring unit 1320-1, the preprocessing unit 1320-2, the recognition data selecting unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5 May be mounted on an electronic device, or may be mounted on separate electronic devices, respectively. For example, among the data acquisition unit 1320-1, the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5 Some of which may be included in the
또한, 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1320-1), 전처리부(1320-2), 인식 데이터 선택부(1320-3), 인식 결과 제공부(1320-4) 및 모델 갱신부(1320-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.At least one of the data acquisition unit 1320-1, the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5 May be implemented as a software module. At least one of the data acquisition unit 1320-1, the preprocessing unit 1320-2, the recognition data selection unit 1320-3, the recognition result providing unit 1320-4, and the model updating unit 1320-5, When implemented in a module (or program module including instructions), the software module may be stored in a computer-readable, non-transitory computer readable medium. Also, in this case, the at least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by an Operating System (OS), and some of the software modules may be provided by a predetermined application.
또한, 디바이스(1000)는 학습된 결과가 적용된 데이터 인식 모델을 이용하여 사용자의 의도에 부합하는 서비스를 사용자에게 제공할 수 있게 된다.In addition, the
도 19는 일부 실시예에 따른 디바이스(1000) 및 서버(2000)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.19 is a diagram showing an example of learning and recognizing data by interlocking with the
도 19를 참조하면, 서버(2000)는 사용자로부터 입력된 문자에 대한 추천 단어를 결정하기 위한 기준을 학습할 수 있으며, 디바이스(1000)는 서버(2000)에 의한 학습 결과에 기초하여 사용자로부터 입력된 문자에 대한 추천 단어를 결정할 수 있다.Referring to FIG. 19, the server 2000 may learn a criterion for determining a recommendation word for a character input from a user. The
이 경우, 서버(2000)의 모델 학습부(2340)는 도 16에 도시된 데이터 학습부(1310)의 기능을 수행할 수 있다. 서버(2000)의 모델 학습부(2340)는 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하기 위하여 어떤 데이터를 이용할 지에 관한 기준을 학습할 수 있다. 또한, 서버의 모델 학습부(2340)는, 데이터를 이용하여 추천할 의사 형태소 및 추천할 어절의 결정, 공백 문자를 디스플레이할 것인지 여부에 대한 결정을 어떻게 할지에 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정하기 위한 기준을 학습할 수 있다.In this case, the
또한, 디바이스(1000)의 인식 결과 제공부(1320-4)는, 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에 의해 생성된 데이터 인식 모델에 적용하여, 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정할 수 있다. 예를 들어, 인식 결과 제공부(1320-4)는, 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)에게 전송하고, 서버(2000)가 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 인식 모델에 적용하여, 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정할 것을 요청할 수 있다. 또한, 인식 결과 제공부(1320-4)는 서버(2000)에 의해 판단된 추천할 의사 형태소 및 추천할 어절의 결정, 공백 문자를 디스플레이할 것인지 여부의 결정에 관한 정보를 서버(2000)로부터 수신할 수 있다. The recognition result providing unit 1320-4 of the
또는, 디바이스(1000)의 인식 결과 제공부(1320-4)는 서버(2000)에 의해 생성된 인식 모델을 서버(2000)로부터 수신하고, 수신된 인식 모델을 이용하여 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정할 수 있다. 이 경우, 디바이스(1000)의 인식 결과 제공부(1320-4)는 인식 데이터 선택부(1320-3)에 의해 선택된 데이터를 서버(2000)로부터 수신된 데이터 인식 모델에 적용하여 추천할 의사 형태소 및 추천할 어절을 결정하고, 공백 문자를 디스플레이할 것인지 여부를 결정할 수 있다. Alternatively, the recognition result providing unit 1320-4 of the
또한, 디바이스(1000) 및 서버(2000)는 데이터 인식 모델의 학습 및 데이터 인식을 위한 작업을 효과적으로 분배하여 수행할 수 있으며, 이를 통하여, 사용자의 의도에 부합하는 서비스를 제공하기 위하여 데이터 처리를 효율적으로 수행하고, 사용자의 프라이버시를 효과적으로 보호할 수 있다.In addition, the
도 20은 일부 실시예에 따른 데이터 인식 모델을 이용하는 디바이스(1000)의 흐름도이다.20 is a flow diagram of a
디바이스(1000)는 문자 입력 창 내에 문자를 입력하는 사용자 입력이 수신되는지를 판단할 수 있다(S2011).The
사용자 입력이 수신되는 경우(S2011-Y), 디바이스(1000)는 입력된 문자를 학습된 데이터 인식 모델에 적용하여, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 획득할 수 있다(S2013). 예로, 디바이스(1000)는 입력된 문자를 디바이스(1000)의 메모리(1700)에 저장된 학습된 데이터 인식 모델에 적용하여, 적어도 하나의 의사 형태소를 획득할 수 있다. 메모리(1700)는 디바이스(1000)의 내부에 마련된 메모리 또는 디바이스(1000)에 장착되는 메모리 카드 등을 포함할 수 있다. 또한, 데이터 인식 모델은 사용자가 과거에 입력한 문자 또는 음성 데이터에 관한 정보, 의사 형태소들 각각에 대한 통상적인 사용 빈도에 관한 통계 데이터, 상기 디바이스에 의해 추천된 적어도 하나의 의사 형태소 중에서 사용자가 선택한 의사 형태소에 관한 정보 중 적어도 하나를 이용하여 학습된 모델일 수 있다.When the user input is received (S2011-Y), the
디바이스(1000)는 획득된 적어도 하나의 의사 형태소를 사용자에게 추천할 수 있다(S2015). 예로, 디바이스(1000)는 획득된 적어도 하나의 의사 형태소를 디스플레이할 수 있다. 이 경우, 디바이스(1000)는 의사 형태소들 각각의 우선 순위를 고려하여 획득된 적어도 하나의 의사 형태소들 중 일부만 디스플레이할 수 있다.The
다음으로, 디바이스(1000)는 적어도 하나의 의사 형태소 중에서 하나를 선택하는 사용자 입력이 수신되는지를 판단할 수 있다(S2017).Next, the
사용자 입력이 수신되는 경우(S2017-Y), 디바이스(1000)는 선택된 의사 형태소를 학습된 데이터 인식 모델에 적용하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 획득할 수 있다(S2019). 예로, 디바이스(1000)는 디바이스(1000)의 메모리(1700)에 저장된 학습된 데이터 인식 모델에 적용하여, 적어도 하나의 의사 형태소를 획득할 수 있다. 메모리(1700)는 디바이스(1000)의 내부에 마련된 메모리 또는 디바이스(1000)에 장착되는 메모리 카드 등을 포함할 수 있다. 또한, 데이터 인식 모델은 사용자가 과거에 입력한 문자 또는 음성 데이터에 관한 정보, 어절들 각각에 대한 통상적인 사용 빈도에 관한 통계 데이터, 상기 디바이스에 의해 추천된 적어도 하나의 어절 중에서 사용자가 선택한 어절에 관한 정보 중 적어도 하나를 이용하여 학습된 모델일 수 있다.If a user input is received (S2017-Y), the
디바이스(1000)는 획득된 적어도 하나의 어절을 사용자에게 추천할 수 있다(S2021). 예로, 디바이스(1000)는 획득된 적어도 하나의 어절을 디스플레이할 수 있다. 이 경우, 디바이스(1000)는 어절들 각각의 우선 순위를 고려하여 획득된 적어도 하나의 의사 형태소들 중 일부만 디스플레이할 수도 있다.The
디바이스(1000)는 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 선택된 어절을 문자 입력 창 내에 디스플레이할 수 있다(S2023).The
한편, 도 20에서, 의사 형태소 및 어절을 제공하는 데이터 인식 모델은 동일한 데이터 인식 모델일 수도 있고, 또는 서로 다른 데이터 인식 모델일 수도 있다.On the other hand, in FIG. 20, the data recognition models providing pseudo-morphemes and phrases may be the same data recognition model or different data recognition models.
또한, 도 20에서는 디바이스(1000)가 사용자에게 추천할 의사 형태소 및 추천할 어절 모두를 학습된 데이터 인식 모델을 이용하여 획득하는 실시 예를 기술하였으나, 다양한 변형 예에 따라 디바이스(1000)는 의사 형태소를 제공하도록 설정된 학습된 데이터 인식 모델 및 어절을 제공하도록 설정된 학습된 데이터 인식 모델 중 하나만 선택적으로 이용할 수도 있다.In addition, although FIG. 20 describes an embodiment in which the
도 21 내지 도 23은 일부 실시예에 따른 데이터 분석 모델을 이용하는 네트워크 시스템의 흐름도들이다.21 to 23 are flowcharts of a network system using a data analysis model according to some embodiments.
도 21 내지 도 23에서, 네트워크 시스템은 제1 구성 요소(2101,2201,2301) 및 제2 구성 요소(2102, 2202, 2302)를 포함할 수 있다. 여기서, 제1 구성 요소(2101,2201,2301)는 디바이스(1000)이고, 제2 구성 요소(2102, 2202, 2302)는 데이터 분석 모델이 저장된 서버(2000)가 될 수 있다. 또는, 제1 구성 요소(2101,2201,2301)는 범용 프로세서이고, 제2 구성 요소(2102, 2202, 2302)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(2101,2201,2301)는 적어도 하나의 어플리케이션이 될 수 있고, 제2 구성 요소(2102, 2202, 2302)는 운영 체제(operating system, OS)가 될 수 있다. 즉, 제2 구성 요소(2102, 2202, 2302)는 제1 구성 요소(2101,2201,2301)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서, 데이터 인식 모델의 생성, 갱신 또는 적용 시에 요구되는 많은 연산을 제1 구성 요소(2101,2201,2301)보다 신속하고 효과적으로 처리할 수 있다.21 to 23, the network system may include a
이 경우, 제1 구성 요소(2101,2201,2301) 및 제2 구성 요소(2102, 2202, 2302) 간에 데이터를 송/수신하기 위한 인터페이스가 정의될 수 있다. In this case, an interface for transmitting / receiving data between the
예로, 데이터 인식 모델에 적용할 학습 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖는 API(application program interface)가 정의될 수 있다. API는 어느 하나의 프로토콜(예로, 디바이스(1000)에서 정의된 프로토콜)에서 다른 프로토콜(예로, 서버(2000)에서 정의된 프로토콜)의 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로 정의될 수 있다. 즉, API를 통하여 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경이 제공될 수 있다.For example, an application program interface (API) having an argument value (or an intermediate value or a transfer value) of learning data to be applied to the data recognition model may be defined. An API is defined as a set of subroutines or functions that can be called for any processing of any protocol (e.g., a protocol defined in the device 1000) to another protocol (e.g., a protocol defined in the server 2000) . That is, an environment in which the operation of another protocol can be performed through any one of the protocols through the API can be provided.
먼저, 제1 구성 요소(2101)는 문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신할 수 있다(S2111).First, the
제1 구성 요소(2101)는 입력된 문자에 대한 정보를 제2 구성 요소(2102)에게 전송할 수 있다(S2113). 예로, 제1 구성 요소(2101)는 데이터 인식 모델의 이용을 위하여 제공되는 API 함수의 인자 값으로 입력된 문자를 적용할 수 있다. 이 경우, API 함수는 입력된 문자를 데이터 인식 모델에 적용할 인식 데이터로서 제2 구성 요소(2102)에게 전송할 수 있다. 이 때, 입력된 문자에 대한 정보는 상기 문자를 통신 포맷에 따라 변경 또는 보완한 통신 데이터를 포함할 수 있다.The
제2 구성 요소(2102)는 입력된 문자를 학습된 데이터 인식 모델에 적용할 수 있다(S2115). 적용 결과로서, 제2 구성 요소(2102)는 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 획득할 수 있다(S2117). 그리고, 제2 구성 요소(2102)는 획득된 적어도 하나의 의사 형태소에 대한 정보를 제1 구성 요소(2101)로 전송할 수 있다(S2119). 여기서, 의사 형태소에 대한 정보는 상기 의사 형태소를 통신 포맷으로 변경 또는 보완한 통신 데이터를 포함할 수 있다.The
제1 구성 요소(2101)는 수신된 적어도 하나의 의사 형태소를 사용자에게 추천할 수 있다(S2121). 예로, 제1 구성 요소(2101)는 수신된 적어도 하나의 의사 형태소를 디스플레이할 수 있다.The
제1 구성 요소(2101)는 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천할 수 있다(S2123). The
제1 구성 요소(2101)는 적어도 하나의 어절 중에서 하나를 선택하는 사용자 입력에 응답하여, 선택된 어절을 문자 입력 창 내에 디스플레이할 수 있다(S2125).The
다른 실시예로, 도 22에서, 제1 구성 요소(2201)는 문자 입력 창 내에 문자를 입력하는 사용자 입력에 응답하여, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 추천할 수 있다(S2211). 예로, 제1 구성 요소(2201)는 입력된 문자를 분석하여, 추천할 적어도 하나의 의사 형태소를 디스플레이할 수 있다.In another embodiment, in FIG. 22, the
제1 구성 요소(2201)는 추천된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 사용자 입력을 수신할 수 있다(S2213).The
제1 구성 요소(2201)는 선택된 의사 형태소에 대한 정보를 제2 구성 요소(2202)로 전송할 수 있다(S2215). 예로, 제1 구성 요소(2201)는 데이터 인식 모델의 이용을 위하여 제공되는 API 함수의 인자 값으로 선택된 의사 형태소를 적용할 수 있다. 이 경우, API 함수는 선택된 의사 형태소를 데이터 인식 모델에 적용할 인식 데이터로서 제2 구성 요소(2202)로 전송할 수 있다. 이 때, 입력된 문자에 대한 정보는 상기 의사 형태소를 통신 포맷에 따라 변경 또는 보완한 통신 데이터를 포함할 수 있다.The
제2 구성 요소(2202)는 선택된 의사 형태소를 학습된 데이터 인식 모델에 적용할 수 있다(S2117). 적용 결과로서, 제2 구성 요소(2202)는 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 획득할 수 있다(S2219). 그리고, 제2 구성 요소(2202)는 획득된 적어도 하나의 어절에 대한 정보를 제1 구성 요소(2201)로 전송할 수 있다(S2221). 여기서, 어절에 대한 정보는 상기 어절을 통신 포맷으로 변경 또는 보완한 통신 데이터를 포함할 수 있다.The
제1 구성 요소(2201)는 수신된 적어도 하나의 어절을 사용자에게 추천할 수 있다(S2223). 예로, 제1 구성 요소(2201)는 수신된 적어도 하나의 어절을 디스플레이할 수 있다.The
제1 구성 요소(2201)는 적어도 하나의 어절 중에서 하나를 선택하는 사용자 입력에 응답하여, 선택된 어절을 문자 입력 창 내에 디스플레이할 수 있다(S2225).The
또 다른 실시예로, 도 23에서, 제1 구성 요소(2301)는 문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신할 수 있다(S2311). 제1 구성 요소(2301)는 입력된 문자에 대한 정보를 제2 구성 요소(2302)로 전송할 수 있다(S2313). In another embodiment, in FIG. 23, the
제2 구성 요소(2302)는 입력된 문자를 학습된 데이터 인식 모델에 적용하여, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 획득할 수 있다(S2315, S2317).The
제2 구성 요소(2302)는 획득된 적어도 하나의 의사 형태소에 대한 정보를 제1 구성 요소(2301)로 전송할 수 있다(S2319).The
제1 구성 요소(2301)는 수신된 적어도 하나의 의사 형태소 중에서 하나를 선택하는 사용자 입력을 수신할 수 있다(S2321).The
제1 구성 요소(2301)는 선택된 의사 형태소에 대한 정보를 제2 구성 요소(2302)로 전송할 수 있다(S2323). The
제2 구성 요소(2302)는 선택된 의사 형태소를 학습된 데이터 인식 모델에 적용하여, 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 획득할 수 있다(S2325, S2327).The
제2 구성 요소(2302)는 획득된 적어도 하나의 어절에 대한 정보를 제1 구성 요소(2301)로 전송할 수 있다(S2329).The
제1 구성 요소(2301)는 수신된 적어도 하나의 어절을 사용자에게 추천할 수 있다(S2331). 그리고, 적어도 하나의 어절 중에서 하나를 선택하는 사용자 입력에 응답하여, 제1 구성 요소(2301)는 선택된 어절을 문자 입력 창 내에 디스플레이할 수 있다(S2333).The
다양한 실시예에 따르면, 도 23에서, 입력된 문자를 포함하는 적어도 하나의 의사 형태소를 제공하도록 설정된 데이터 인식 모델 및 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 제공하도록 설정된 데이터 인식 모델은 하나의 데이터 인식 모델로 구현될 수 있다.According to various embodiments, in FIG. 23, a data-aware model set to provide at least one pseudo-morpheme that includes an input character and a data-aware model that is set up to provide at least one word- And can be implemented as a recognition model.
예를 들어, 도 23의 2340에 포함되는 동작들(S2315, S2317, S2325, S2327)은 하나의 데이터 인식 모델을 통하여 수행될 수 있다.For example, the operations (S2315, S2317, S2325, S2327) included in 2340 of FIG. 23 can be performed through one data recognition model.
구체적으로, 도 23에서, 제2 구성 요소(2302)는 입력된 문자에 대한 정보를 수신할 수 있다(S2313). 이 경우, 제2 구성 요소(2302)는 입력된 문자에 대한 정보를 학습된 데이터 인식 모델에 적용하여, 입력된 문자를 포함하는 적어도 하나의 어절을 획득할 수 있다.Specifically, in FIG. 23, the
예를 들어, 문자 입력 창 내에 “사”를 입력하는 사용자 입력을 수신하는 경우, 제1 구성 요소(2301)는 상기 “사” 문자를 제2 구성 요소(2302)로 전송할 수 있다. 제2 구성 요소(2302)는 “사” 문자를 학습된 데이터 인식 모델에 적용하여, “사랑은”, “사랑이” 및 “사랑과”와 같은 적어도 하나의 어절을 획득할 수 있다. 제2 구성 요소(2302)가 획득된 적어도 하나의 어절에 대한 정보를 제1 구성 요소(2301)로 전달하면, 제1 구성 요소(2301)는 입력된 문자와 관련된 적어도 하나의 어절을 추천할 수 있다.For example, when receiving a user input to enter " four " in a text input window, the
본 문서의 일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. Some embodiments of the present document may also be embodied in the form of a computer-implemented recording medium, such as a program module, which is executable by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.
또한, 개시된 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)으로 제공될 수 있다. Further, the method according to the disclosed embodiments may be provided as a computer program product.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체 또는 판매자 및 구매자 간에 거래되는 상품을 포함할 수 있다. The computer program product may include a S / W program, a computer readable storage medium storing the S / W program, or a merchandise traded between the merchant and the purchaser.
예를 들어, 컴퓨터 프로그램 제품은 디바이스(1000) 또는 디바이스(1000)의 제조사 또는 전자 마켓(예를 들어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사 또는 전자 마켓의 서버, 또는 중계 서버의 저장매체가 될 수 있다.For example, the computer program product may be a product of the S / W program that is electronically distributed through the
또한, 본 명세서에서, “부” 또는 “모듈”은 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.Also, in this specification, " a " or " module " may be a hardware component such as a processor or circuit, and / or a software component executed by a hardware configuration such as a processor.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
Claims (20)
문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신하는 사용자 입력부; 및
상기 적어도 하나의 프로그램을 실행함으로써 상기 입력된 문자에 대한 추천 단어를 제공하도록 하는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로그램은,
상기 입력된 문자를 분석함으로써, 상기 입력된 문자를 포함하는 적어도 하나의 의사 형태소(pseudo-morpheme)를 추천하는 동작;
상기 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천하는 동작; 및
상기 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 어절을 상기 문자 입력 창 내에 디스플레이하는 동작을 실행하기 위한 적어도 하나의 명령어를
를 포함하는, 디바이스.
A memory in which at least one program is stored;
A user input unit for receiving a user input for inputting a character in a character input window; And
And at least one processor for providing a recommendation word for the input character by executing the at least one program,
Wherein the at least one program comprises:
Analyzing the input character to recommend at least one pseudo-morpheme including the input character;
In response to an input selecting one of the at least one pseudo-morpheme, recommending at least one phrase containing the selected pseudo morpheme; And
In response to an input for selecting one of said at least one phrase, displaying at least one command for performing an operation of displaying said selected phrase in said character input window
.
서로 다른 의미를 갖는 적어도 하나의 명사를 포함하는 것인, 디바이스.
The method of claim 1, wherein the at least one pseudo-
And at least one noun having a different meaning.
상기 적어도 하나의 의사 형태소를 추천하는 동작은, 상기 입력된 문자를 분석한 결과 및 의사 형태소 각각에 대한 상기 사용자의 사용 빈도에 기초하여, 의사 형태소를 추천하는 것인, 디바이스.
The method according to claim 1,
Wherein the recommending action of the at least one pseudo-morpheme is to recommend a pseudo-morpheme based on the result of analyzing the input character and the frequency of use of the user for each of the pseudo-morphemes.
상기 적어도 하나의 어절을 추천하는 동작은, 상기 사용자의 문자 입력 특성에 기초하여, 상기 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천하는, 디바이스.
The method according to claim 1,
Wherein said recommending at least one phrase recommends at least one phrase comprising said selected pseudo morpheme based on character input characteristics of said user.
상기 적어도 하나의 어절을 추천하는 동작은,
상기 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 어절을 포함하는 적어도 하나의 다른 어절을 추천하는 동작;
을 더 포함하고,
상기 선택된 어절을 상기 문자 입력 창 내에 디스플레이하는 동작은,
상기 추천된 적어도 하나의 다른 어절 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 다른 어절을 상기 문자 입력 창 내에 디스플레이하는 동작;
을 포함하는, 디바이스.
The method according to claim 1,
The act of recommending the at least one word-
In response to an input selecting one of said recommended at least one phrase, recommending at least one other phrase comprising said selected phrase;
Further comprising:
And displaying the selected word in the character input window,
Displaying another selected selected word in the character input window in response to an input for selecting one of the recommended at least one other selected word;
/ RTI >
상기 선택된 어절의 다음에 공백 문자가 위치할 것인지 여부를 예측하는 동작; 및
상기 예측된 결과에 기초하여 상기 선택된 어절을 포함하는 상기 다른 어절 및 상기 선택된 어절을 포함하지 않는 다른 어절을 추천하는 동작;
을 실행하는 명령어들을 더 포함하는, 디바이스.
6. The method of claim 5, wherein displaying the selected phrase comprises:
Predicting whether a blank character is to be placed after the selected word; And
Recommending another phrase that includes the selected phrase and another phrase that does not include the selected phrase based on the predicted result;
Further comprising instructions for executing the device.
상기 적어도 하나의 의사 형태소를 추천하는 동작은,
상기 문자 입력 창에 기 디스플레이된 적어도 하나의 어절의 종류 및 순서에 기초하여, 다음에 위치할 어절의 종류를 예측하는 동작; 및
상기 예측 결과에 기초하여, 상기 입력된 문자를 포함하는 상기 적어도 하나의 의사 형태소를 추천하는 동작;
을 더 포함하는, 디바이스.
The method according to claim 1,
The act of recommending the at least one pseudo-
Predicting a type of a next word to be located based on at least one type and order of the at least one word displayed in the character input window; And
Recommending the at least one pseudo-morpheme including the input character based on the prediction result;
≪ / RTI >
상기 선택된 어절을 포함하지 않는 다른 어절은, 상기 문자 입력 창에 기 디스플레이된 적어도 하나의 어절, 상기 선택된 어절 및 공백 문자에 기초하여, 결정되는 것인, 디바이스.
The method according to claim 6,
The other word not including the selected word is determined based on at least one word displayed in the character input window, the selected word and the whitespace character.
상기 적어도 하나의 의사 형태소를 추천하는 동작은,
상기 적어도 하나의 의사 형태소를 상기 문자 입력창 외부에 디스플레이하는 동작; 및
상기 적어도 하나의 의사 형태소 각각에 대하여 추천할 어절이 있는지 여부가 나타나도록, 상기 디스플레이된 적어도 하나의 의사 형태소를 구별되게 표시하는 동작;
을 더 포함하는, 디바이스.
The method according to claim 1,
The act of recommending the at least one pseudo-
Displaying the at least one pseudo-morpheme outside the character input window; And
Displaying the displayed at least one pseudo morpheme differentially so that it appears whether there is a recommended word for each of the at least one pseudo morpheme;
≪ / RTI >
상기 적어도 하나의 의사 형태소를 추천하는 동작은,
상기 입력된 문자를 학습된 데이터 인식 모델에 적용하여 획득된 상기 적어도 하나의 의사 형태소를 추천하는 동작을 포함하고,
상기 데이터 인식 모델은, 사용자가 과거에 입력한 문자들 또는 음성 데이터들에 관한 정보, 의사 형태소들 각각에 대한 통상적인 사용 빈도에 관한 통계 데이터, 상기 디바이스에 의해 추천된 적어도 하나의 의사 형태소 중에서 사용자가 선택한 의사 형태소에 관한 정보 중 적어도 하나를 이용하여 학습된 것인, 디바이스. The method according to claim 1,
The act of recommending the at least one pseudo-
And recommending the at least one pseudo-morpheme obtained by applying the input character to a learned data recognition model,
The data recognition model may include at least one of the following: information about the characters or voice data entered by the user in the past, statistical data about a typical frequency of use for each of the pseudo-morphemes, Is learned using at least one of the information about the selected pseudo morpheme.
문자 입력 창 내에 문자를 입력하는 사용자 입력을 수신하는 동작;
상기 입력된 문자를 분석함으로써, 상기 입력된 문자를 포함하는 적어도 하나의 의사 형태소(pseudo-morpheme)를 추천하는 동작;
상기 적어도 하나의 의사 형태소 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천하는 동작; 및
상기 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 어절을 디스플레이하는 동작;
을 포함하는, 방법.
A method of providing a recommendation word for a character input by a user from a user,
Receiving a user input for inputting a character in a character input window;
Analyzing the input character to recommend at least one pseudo-morpheme including the input character;
In response to an input selecting one of the at least one pseudo-morpheme, recommending at least one phrase containing the selected pseudo morpheme; And
Displaying the selected phrase in response to an input selecting one of the at least one phrase;
≪ / RTI >
서로 다른 의미를 갖는 적어도 하나의 명사를 포함하는 것인, 방법.
12. The apparatus of claim 11, wherein the at least one pseudo-
And at least one noun having a different meaning.
상기 적어도 하나의 의사 형태소를 추천하는 동작은, 상기 입력된 문자를 분석한 결과 및 의사 형태소 각각에 대한 상기 사용자의 사용 빈도에 기초하여, 의사 형태소를 추천하는 것인, 방법.
12. The method of claim 11,
Wherein the recommending action of the at least one pseudo-morpheme is to recommend a pseudo-morpheme based on the result of analyzing the input character and the frequency of use of the user for each of the pseudo-morphemes.
상기 적어도 하나의 어절을 추천하는 동작은,
상기 사용자의 문자 입력 특성에 기초하여, 상기 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천하는 동작;
을 더 포함하는, 방법.
12. The method of claim 11,
The act of recommending the at least one word-
Recommending at least one word phrase including the selected pseudo morpheme based on character input characteristics of the user;
≪ / RTI >
상기 적어도 하나의 어절을 추천하는 동작은,
상기 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 어절을 포함하는 적어도 하나의 다른 어절을 추천하는 동작;
를 더 포함하고,
상기 선택된 어절을 상기 문자 입력 창 내에 디스플레이하는 동작은,
상기 추천된 적어도 하나의 어절 중에서 하나를 선택하는 입력에 응답하여, 상기 선택된 다른 어절을 상기 문자 입력 창 내에 디스플레이하는 동작;
을 포함하는, 방법.
12. The method of claim 11,
The act of recommending the at least one word-
In response to an input selecting one of said recommended at least one phrase, recommending at least one other phrase comprising said selected phrase;
Further comprising:
And displaying the selected word in the character input window,
Displaying another selected selected word in the character input window in response to an input for selecting one of the recommended at least one word;
≪ / RTI >
상기 선택된 어절의 다음에 공백 문자가 위치할 것인지 여부를 예측하는 동작; 및
상기 예측된 결과에 기초하여 상기 선택된 어절을 포함하는 상기 다른 어절 및 상기 선택된 어절을 포함하지 않는 다른 어절을 추천하는 동작;
을 더 포함하는, 방법.
16. The method of claim 15, wherein displaying the selected phrase comprises:
Predicting whether a blank character is to be placed after the selected word; And
Recommending another phrase that includes the selected phrase and another phrase that does not include the selected phrase based on the predicted result;
≪ / RTI >
상기 적어도 하나의 의사 형태소를 추천하는 동작은,
상기 문자 입력 창에 기 디스플레이된 적어도 하나의 어절의 종류 및 순서에 기초하여, 다음에 위치할 어절의 종류를 예측하는 동작; 및
상기 예측 결과에 기초하여, 상기 입력된 문자를 포함하는 상기 적어도 하나의 의사 형태소를 추천하는 동작;
을 더 포함하는, 방법.
12. The method of claim 11,
The act of recommending the at least one pseudo-
Predicting a type of a next word to be located based on at least one type and order of the at least one word displayed in the character input window; And
Recommending the at least one pseudo-morpheme including the input character based on the prediction result;
≪ / RTI >
상기 선택된 어절을 포함하지 않는 다른 어절은, 상기 문자 입력 창에 기 디스플레이된 적어도 하나의 어절, 상기 선택된 어절 및 공백 문자에 기초하여, 결정되는 것인, 방법.
17. The method of claim 16,
Wherein the other word not including the selected word is determined based on at least one word displayed in the character input window, the selected word and the whitespace character.
상기 적어도 하나의 의사 형태소를 추천하는 동작은,
상기 적어도 하나의 의사 형태소를 상기 문자 입력창 외부에 디스플레이하는 동작; 및
상기 적어도 하나의 의사 형태소 각각에 대하여, 추천할 어절이 있는지 여부가 나타나도록, 상기 디스플레이된 적어도 하나의 의사 형태소를 구별되게 표시하는 동작;
를 더 포함하는, 방법.
12. The method of claim 11,
The act of recommending the at least one pseudo-
Displaying the at least one pseudo-morpheme outside the character input window; And
Distinctly displaying the displayed at least one pseudo morpheme for each of the at least one pseudo-morpheme to indicate whether there is a word-of-recommendation;
≪ / RTI >
문자 입력 창 내에 사용자에 의하여 입력된 문자를 분석함으로써, 상기 입력된 문자를 포함하는 적어도 하나의 의사 형태소(pseudo-morpheme)를 추천하는 동작;
상기 적어도 하나의 의사 형태소 중에서 상기 사용자에 의하여 선택된 의사 형태소를 포함하는 적어도 하나의 어절을 추천하는 동작; 및
상기 적어도 하나의 어절 중에서 상기 사용자에 의하여 선택된 어절을 디스플레이하는 동작을 디바이스가 수행 가능하도록 설정된 적어도 하나의 명령어를 포함하는 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품.A computer program product comprising a computer readable recording medium,
Analyzing a character input by a user in a character input window to recommend at least one pseudo-morpheme including the input character;
Recommending at least one word from the at least one pseudo-morpheme, the at least one word including a pseudo-morpheme selected by the user; And
The computer program product comprising at least one instruction that is configured to enable a device to perform an operation of displaying a selected word from the at least one word by the user.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2017/011680 WO2018074895A1 (en) | 2016-10-21 | 2017-10-20 | Device and method for providing recommended words for character input |
EP17862947.3A EP3482306A4 (en) | 2016-10-21 | 2017-10-20 | Device and method for providing recommended words for character input |
CN201780063064.8A CN109804373A (en) | 2016-10-21 | 2017-10-20 | For providing the device and method of the recommendation word of character input |
US15/789,106 US10540441B2 (en) | 2016-10-21 | 2017-10-20 | Device and method for providing recommended words for character input |
US16/724,641 US11481551B2 (en) | 2016-10-21 | 2019-12-23 | Device and method for providing recommended words for character input |
US17/967,924 US20230036080A1 (en) | 2016-10-21 | 2022-10-18 | Device and method for providing recommended words for character input |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662411056P | 2016-10-21 | 2016-10-21 | |
US62/411,056 | 2016-10-21 | ||
KR1020160177389 | 2016-12-23 | ||
KR20160177389 | 2016-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180044187A true KR20180044187A (en) | 2018-05-02 |
KR102417046B1 KR102417046B1 (en) | 2022-07-06 |
Family
ID=62183817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170110349A KR102417046B1 (en) | 2016-10-21 | 2017-08-30 | Device and method for providing recommended words for character input from user |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102417046B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019216484A1 (en) * | 2018-05-08 | 2019-11-14 | 삼성전자 주식회사 | Electronic device and operating method therefor |
CN111125344A (en) * | 2019-12-23 | 2020-05-08 | 北大方正集团有限公司 | Related word recommendation method and device |
CN115407882A (en) * | 2022-07-13 | 2022-11-29 | 穆运洋 | Visualization-based big data analysis and arrangement system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100838818B1 (en) * | 2007-08-13 | 2008-06-17 | 홍성찬 | Character input device |
US20130159337A1 (en) * | 2011-09-27 | 2013-06-20 | Nhn Business Platform Corporation | Method, apparatus and computer readable recording medium for a search using extension keywords |
KR20160055162A (en) * | 2013-08-26 | 2016-05-17 | 삼성전자주식회사 | Electronic device and method for voice recognition |
KR20160105688A (en) * | 2015-02-28 | 2016-09-07 | 삼성전자주식회사 | Synchronization of Text Data among a plurality of Devices |
-
2017
- 2017-08-30 KR KR1020170110349A patent/KR102417046B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100838818B1 (en) * | 2007-08-13 | 2008-06-17 | 홍성찬 | Character input device |
US20130159337A1 (en) * | 2011-09-27 | 2013-06-20 | Nhn Business Platform Corporation | Method, apparatus and computer readable recording medium for a search using extension keywords |
KR20160055162A (en) * | 2013-08-26 | 2016-05-17 | 삼성전자주식회사 | Electronic device and method for voice recognition |
KR20160105688A (en) * | 2015-02-28 | 2016-09-07 | 삼성전자주식회사 | Synchronization of Text Data among a plurality of Devices |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019216484A1 (en) * | 2018-05-08 | 2019-11-14 | 삼성전자 주식회사 | Electronic device and operating method therefor |
KR20190128516A (en) * | 2018-05-08 | 2019-11-18 | 삼성전자주식회사 | Electronic device and operating method for the same |
CN112106037A (en) * | 2018-05-08 | 2020-12-18 | 三星电子株式会社 | Electronic device and operation method thereof |
US11163378B2 (en) | 2018-05-08 | 2021-11-02 | Samsung Electronics Co., Ltd. | Electronic device and operating method therefor |
CN111125344A (en) * | 2019-12-23 | 2020-05-08 | 北大方正集团有限公司 | Related word recommendation method and device |
CN111125344B (en) * | 2019-12-23 | 2023-09-05 | 新方正控股发展有限责任公司 | Related word recommendation method and device |
CN115407882A (en) * | 2022-07-13 | 2022-11-29 | 穆运洋 | Visualization-based big data analysis and arrangement system |
Also Published As
Publication number | Publication date |
---|---|
KR102417046B1 (en) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11507851B2 (en) | System and method of integrating databases based on knowledge graph | |
KR102501714B1 (en) | Device and method for providing response message to user’s voice input | |
US20200118010A1 (en) | System and method for providing content based on knowledge graph | |
KR102473447B1 (en) | Electronic device and Method for controlling the electronic device thereof | |
US20210012766A1 (en) | Voice conversation analysis method and apparatus using artificial intelligence | |
US11481551B2 (en) | Device and method for providing recommended words for character input | |
US10521723B2 (en) | Electronic apparatus, method of providing guide and non-transitory computer readable recording medium | |
KR20180111467A (en) | An electronic device for determining user's emotions and a control method thereof | |
KR102628037B1 (en) | Method and apparatus for providing sales information of goods | |
EP3756185B1 (en) | Electronic device for outputting response to speech input by using application and operation method thereof | |
KR102531654B1 (en) | Method and device for authentication in voice input | |
KR20180055708A (en) | Device and method for image processing | |
KR20180108400A (en) | Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium | |
KR20190117837A (en) | Device and method for providing response message to user input | |
KR20180057507A (en) | Device and method for sending money using voice | |
CN111656438A (en) | Electronic device and control method thereof | |
KR20200036680A (en) | An electronic device and method for obtaining emotional information | |
KR20180060971A (en) | Apparatus and method for providing a sentence based on a user input | |
KR20180081444A (en) | Apparatus and method for processing contents | |
KR102417046B1 (en) | Device and method for providing recommended words for character input from user | |
KR20180072534A (en) | Electronic device and method for providing image associated with text | |
KR102384878B1 (en) | Method and apparatus for filtering video | |
KR102458343B1 (en) | Device and method for transreceiving audio data | |
KR102544250B1 (en) | Method and device for outputting sound | |
KR20200127836A (en) | Artificial intelligence device and method for providing image information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |