KR20180087608A - System and method for providing search service - Google Patents

System and method for providing search service Download PDF

Info

Publication number
KR20180087608A
KR20180087608A KR1020170011813A KR20170011813A KR20180087608A KR 20180087608 A KR20180087608 A KR 20180087608A KR 1020170011813 A KR1020170011813 A KR 1020170011813A KR 20170011813 A KR20170011813 A KR 20170011813A KR 20180087608 A KR20180087608 A KR 20180087608A
Authority
KR
South Korea
Prior art keywords
search
virtual keyboard
keyboard
electronic device
search result
Prior art date
Application number
KR1020170011813A
Other languages
Korean (ko)
Inventor
이용훈
반동현
서대룡
권세
김주희
임진희
강인호
주명진
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020170011813A priority Critical patent/KR20180087608A/en
Publication of KR20180087608A publication Critical patent/KR20180087608A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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/04886Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • G06F17/273
    • G06F17/289
    • G06F17/30699
    • G06F17/30864
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

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)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Disclosed are a system for providing a search service and a method thereof, capable of providing an open application programming interface which can implement a search function in a virtual keyboard. The system for providing a search service includes at least one processor configured to execute instructions readable by a computer. The at least one processor includes: a recognition unit that recognizes a call of an API loaded or coupled for a search service to a keyboard application as the keyboard application installed in an electronic device is executed; and a search result providing unit for receiving a search query from the keyboard application and providing search results corresponding to the search query to the keyboard application when a call of the API is recognized. The keyboard application displays a virtual keyboard including a search function on the electronic device as the keyboard application is executed in the electronic device, and displays the search result corresponding to the search query on the electronic device through the virtual keyboard according to the search function.

Description

검색 서비스를 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING SEARCH SERVICE}SYSTEM AND METHOD FOR PROVIDING SEARCH SERVICE

아래의 설명은 가상 키보드를 통해 검색 서비스를 제공하는 기술에 관한 것이다.The following description relates to a technique for providing a search service through a virtual keyboard.

최근 들어, 디지털 기술의 발달로 인하여 모바일 단말의 사용이 보편화되고 있으며 이를 이용한 다양한 서비스들이 제공되고 있다.In recent years, due to the development of digital technology, the use of mobile terminals has become commonplace, and various services using the services have been provided.

모바일 단말은 스마트폰(smart phone), 태블릿(tablet), 웨어러블 디바이스(wearable device) 등을 포함하며, 통신, 게임, 멀티미디어 서비스 등과 같이 개인용 컴퓨터(PC: Personal Computer)에서 제공할 수 있는 다양한 기능들을 탑재하는 추세로 발전하고 있다.The mobile terminal includes various functions that can be provided by a personal computer (PC) such as a smart phone, a tablet, a wearable device, and communication, game, and multimedia services It is evolving as a mounting trend.

통상 모바일 단말은 사용자로부터 정보를 입력 받을 수 있는 정보 입력 수단을 구비하여야 한다. 최근에는 모바일 단말의 정보 입력 수단으로서 가상 키보드 입력 방식을 사용하는 추세이다. 가상 키보드 입력 방식이란 터치스크린 상에 가상 키보드를 표시하고 사용자가 가상 키보드에서 원하는 키를 접촉하면 그 키에 대응되는 키 값을 입력 받는 방식을 의미할 수 있다.Generally, a mobile terminal should have an information input means for receiving information from a user. In recent years, there has been a tendency to use a virtual keyboard input method as an information input means of a mobile terminal. The virtual keyboard input method may be a method of displaying a virtual keyboard on a touch screen and receiving a key value corresponding to the key when a user touches a desired key on the virtual keyboard.

가상 키보드 관련 기술은 Arthur, C. Lamb, Jr. 등에게 허여된 미국 특허 제5,276,794호에 개시되어 있다. 해당 기술에서는 데이터 필드를 포인터로 선택하면 가상 키보드가 팝업 되어 디스플레이 된다. 가상 키보드는 키 영역과 표시 영역을 가지며, 사용자에 의해 키 영역 내에 구성된 소정의 키가 선택되면 해당 키의 문자가 표시 영역에 표시된다.Virtual keyboard technology is described in Arthur, C. Lamb, Jr. U. S. Patent No. 5,276, 794, which is incorporated herein by reference. In this technique, when a data field is selected as a pointer, a virtual keyboard is popped up and displayed. The virtual keyboard has a key area and a display area. When a predetermined key configured in the key area is selected by the user, characters of the corresponding key are displayed in the display area.

가상 키보드에서 검색 기능을 구현할 수 있는 오픈 API(open application programming interface)를 제공할 수 있는 시스템 및 방법을 제공한다.A system and method for providing an open application programming interface (API) capable of implementing a search function in a virtual keyboard.

키보드 레벨에서 다양한 서비스나 컨텐츠의 추천이 가능한 검색 기능을 제공할 수 있는 시스템 및 방법을 제공한다.And provides a system and method for providing a search function capable of recommending various services or contents at a keyboard level.

컴퓨터로 구현되는 검색 서비스 제공 시스템에 있어서, 상기 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 전자 기기에 설치된 키보드 어플리케이션이 실행됨에 따라 상기 키보드 어플리케이션에 검색 서비스를 위해 탑재 또는 결합된 API의 호출을 인식하는 인식부; 및 상기 API의 호출이 인식되면 상기 키보드 어플리케이션으로부터 검색 질의를 수신하여 상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 검색 결과 제공부를 포함하고, 상기 키보드 어플리케이션은 상기 전자 기기에서 실행됨에 따라 검색 기능이 포함된 가상 키보드를 상기 전자 기기에 표시하고 상기 검색 기능에 따라 상기 검색 질의에 대응되는 검색 결과를 상기 가상 키보드를 통해 상기 전자 기기에 표시하는 것을 특징으로 하는 검색 서비스 제공 시스템을 제공한다.A computer-implemented search service providing system, comprising: at least one processor configured to execute instructions readable by the computer, wherein the at least one processor is configured to cause the keyboard application A recognition unit for recognizing a call of API loaded or combined for the search service; And a search result providing unit for receiving a search query from the keyboard application and providing a search result corresponding to the search query to the keyboard application when the call of the API is recognized, A virtual keyboard including a search function is displayed on the electronic device, and a search result corresponding to the search query is displayed on the electronic device through the virtual keyboard according to the search function .

일 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드를 통해 입력되는 문자를 검색 질의로 하여 검색 결과를 제공할 수 있다.According to an aspect of the present invention, the search result providing unit may provide a search result by using a character input through the virtual keyboard as a search query.

다른 측면에 따르면, 상기 검색 기능은, 상기 가상 키보드 상에 음성 인식 기능, 음악 검색 기능, 코드 검색 기능, 이미지 검색 기능, 텍스트 번역 기능 중 적어도 하나를 포함할 수 있다.According to another aspect, the search function may include at least one of a voice recognition function, a music search function, a code search function, an image search function, and a text translation function on the virtual keyboard.

또 다른 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드 상에 상기 전자 기기와 관련된 위치 정보, 시간 정보, 사용자 히스토리 중 적어도 하나에 대응되는 컨텐츠를 추천할 수 있다.According to another aspect, the search result providing unit may recommend content corresponding to at least one of location information, time information, and user history related to the electronic device on the virtual keyboard.

또 다른 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드 상에 상기 전자 기기의 사용자에 의해 등록된 서비스의 추천 컨텐츠를 제공할 수 있다.According to another aspect, the search result providing unit may provide recommendation contents of a service registered by a user of the electronic device on the virtual keyboard.

또 다른 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자의 주제에 해당되는 컨텐츠를 추천할 수 있다.According to another aspect of the present invention, the search result providing unit may recommend content corresponding to a subject of the character on the virtual keyboard as a search result on characters input through the virtual keyboard.

또 다른 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자에 대한 자동 완성 단어 또는 오타 교정어를 추천할 수 있다.According to another aspect of the present invention, the search result providing unit may recommend an autocomplete word or an orthographic proofreader for the character on the virtual keyboard as a search result on characters input through the virtual keyboard.

또 다른 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자를 사전에 설정된 언어로 번역한 결과를 추천할 수 있다.According to another aspect of the present invention, the search result providing unit may recommend a result of translating the character on the virtual keyboard into a predetermined language as a search result on characters input through the virtual keyboard.

또 다른 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 전자 기기와 관련된 사용자 히스토리를 기반으로 상기 전자 기기의 사용자에 의해 자주 사용되는 문맥을 추천할 수 있다.According to another aspect of the present invention, the search result providing unit may search for a character input through the virtual keyboard, which is frequently used by a user of the electronic device based on a user history related to the electronic device on the virtual keyboard The context can be recommended.

또 다른 측면에 따르면, 상기 검색 결과 제공부는, 상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자에 대응되는 이모지 또는 기프트콘을 추천할 수 있다.According to another aspect of the present invention, the search result providing unit may recommend an anchor or a gift cone corresponding to the character on the virtual keyboard as a search result on characters input through the virtual keyboard.

컴퓨터로 구현되는 검색 서비스 제공 방법에 있어서, 전자 기기에 설치된 키보드 어플리케이션이 실행됨에 따라 상기 키보드 어플리케이션에 검색 서비스를 위해 탑재 또는 결합된 API의 호출을 인식하는 단계; 및 상기 API의 호출이 인식되면 상기 키보드 어플리케이션으로부터 검색 질의를 수신하여 상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계를 포함하고, 상기 키보드 어플리케이션은 상기 전자 기기에서 실행됨에 따라 검색 기능이 포함된 가상 키보드를 상기 전자 기기에 표시하고 상기 검색 기능에 따라 상기 검색 질의에 대응되는 검색 결과를 상기 가상 키보드를 통해 상기 전자 기기에 표시하는 것을 특징으로 하는 검색 서비스 제공 방법을 제공한다.A method of providing a search service implemented by a computer, the method comprising: recognizing a call to an API loaded or coupled for a search service in the keyboard application as a keyboard application installed in the electronic device is executed; And receiving a search query from the keyboard application when a call to the API is recognized and providing a search result corresponding to the search query to the keyboard application, And displaying a search result corresponding to the search query on the electronic device through the virtual keyboard according to the search function.

본 발명의 실시예들에 따르면, 가상 키보드에서 검색 기능을 구현할 수 있는 오픈 API(open application programming interface)를 제공할 수 있다.According to embodiments of the present invention, an open application programming interface (API) capable of implementing a search function in a virtual keyboard can be provided.

본 발명의 실시예들에 따르면, 키보드 상에 검색 기능을 구현함으로써 키보드 레벨에서 다양한 서비스나 컨텐츠를 제공할 수 있다.According to embodiments of the present invention, various services or contents can be provided at the keyboard level by implementing a search function on the keyboard.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 있어서 검색 서비스를 제공하는 시스템 환경의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 5는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.
도 6 내지 도 17은 본 발명의 일실시예에 있어서 가상 키보드 상에서의 검색 기능 구현 예시들을 설명하기 위한 도면이다.
1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
2 is a block diagram for explaining an internal configuration of an electronic device and a server in an embodiment of the present invention.
3 is a diagram illustrating an example of a system environment for providing a search service in an embodiment of the present invention.
4 is a block diagram illustrating an example of components that a processor of a server according to an embodiment of the present invention may include.
5 is a flowchart illustrating an example of a method that a server according to an embodiment of the present invention can perform.
FIGS. 6 to 17 are diagrams for explaining examples of search function implementations on a virtual keyboard in an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들은 가상 키보드 상에 검색 기능을 구현하는 기술에 관한 것으로, 상세하게는 가상 키보드를 대상으로 검색 서비스를 위한 오픈 API를 제공하여 이를 통해 키보드 레벨에서 다양한 서비스나 컨텐츠를 제공할 수 있는 기술에 관한 것이다.Embodiments of the present invention relate to a technology for implementing a search function on a virtual keyboard. More specifically, the present invention provides an open API for a search service targeting a virtual keyboard, thereby providing various services or contents at a keyboard level Technology.

본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 가상 키보드 상에서 검색 기능을 구현할 수 있고, 이를 통해 효율성, 편의성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성한다.Embodiments, including those specifically disclosed herein, may implement search functionality on a virtual keyboard, thereby achieving significant advantages in terms of efficiency, convenience, cost savings, and the like.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. 1 shows an example in which a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170 are included. 1, the number of electronic devices and the number of servers are not limited to those shown in FIG.

복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 전자 기기 1(110)은 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있다.The plurality of electronic devices 110, 120, 130, 140 may be a fixed terminal implemented as a computer device or a mobile terminal. Examples of the plurality of electronic devices 110, 120, 130 and 140 include a smart phone, a mobile phone, a navigation device, a computer, a notebook, a digital broadcast terminal, a PDA (Personal Digital Assistants) ), And tablet PCs. For example, the electronic device 1 110 may communicate with other electronic devices 120, 130, 140 and / or the servers 150, 160 via the network 170 using a wireless or wired communication scheme.

통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 may include, as well as a short-range wireless communication between the devices. For example, the network 170 may be a personal area network (LAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN) , A network such as the Internet, and the like. The network 170 may also include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, It is not limited.

서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130 and 140 through a network 170 to provide commands, codes, files, Lt; / RTI > devices.

일례로, 서버(160)는 네트워크(170)를 통해 접속한 전자 기기 1(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 전자 기기 1(110)은 서버(160)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한 전자 기기 1(110)이 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 어플리케이션)의 제어에 따라 서버(150)에 접속하여 서버(150)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 전자 기기 1(110)이 어플리케이션의 제어에 따라 네트워크(170)를 통해 서비스 요청 메시지를 서버(150)로 전송하면, 서버(150)는 서비스 요청 메시지에 대응하는 코드를 전자 기기 1(110)로 전송할 수 있고, 전자 기기 1(110)은 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.In one example, the server 160 may provide a file for installation of the application to the electronic device 1 (110) connected via the network 170. [ In this case, the electronic device 1 (110) can install an application using a file provided from the server (160). The server 150 is connected to the server 150 in accordance with an operating system (OS) included in the electronic device 1 110 or under control of at least one program (for example, a browser or an installed application) I can receive contents. For example, when the electronic device 1 (110) transmits a service request message to the server 150 via the network 170 under the control of the application, the server 150 transmits a code corresponding to the service request message to the electronic device 1 The first electronic device 110 can provide contents to the user by displaying and displaying a screen according to the code according to the control of the application.

도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 하나의 전자 기기에 대한 예로서 전자 기기 1(110), 그리고 하나의 서버에 대한 예로서 서버(150)의 내부 구성을 설명한다. 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.2 is a block diagram illustrating an internal configuration of an electronic device and a server according to an embodiment of the present invention. In FIG. 2, an internal configuration of the electronic device 1 (110) as an example of one electronic device and the server 150 as an example of one server will be described. Other electronic devices 120, 130, 140 or server 160 may have the same or similar internal configurations.

전자 기기 1(110)과 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 전자 기기 1(110)에 설치되어 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.The electronic device 1 110 and the server 150 may include memories 211 and 221, processors 212 and 222, communication modules 213 and 223 and input / output interfaces 214 and 224. The memories 211 and 221 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. Also, the operating system or at least one program code (code for an application installed in, for example, the electronic device 1 110) may be stored in the memories 211 and 221. These software components may be loaded from a computer readable recording medium separate from the memories 211 and 221. [ Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card. In other embodiments, the software components may be loaded into memory 211, 221 via communication modules 213, 223 rather than a computer readable recording medium. For example, at least one program may be a program installed by a file distribution system (for example, the server 160 described above) that distributes installation files of developers or applications, May be loaded into the memory 211, 221 based on the application described above.

프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.Processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processors 212 and 222 by the memories 211 and 221 or the communication modules 213 and 223. For example, the processor 212, 222 may be configured to execute a command received in accordance with a program code stored in a recording device, such as the memory 211, 221.

통신 모듈(213, 223)은 네트워크(170)를 통해 전자 기기 1(110)과 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(일례로 전자 기기 2(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기 1(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 전자 기기 1(110)의 통신 모듈(213)을 통해 전자 기기 1(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기 1(110)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.The communication modules 213 and 223 may provide functions for the electronic device 1 110 and the server 150 to communicate with each other through the network 170 and may provide functions for communicating with other electronic devices (for example, the electronic device 2 120) Or to communicate with another server (e.g., server 160). The request generated by the processor 212 of the electronic device 1 110 according to the program code stored in the recording device such as the memory 211 is transmitted to the server 170 via the network 170 under the control of the communication module 213 150 < / RTI > Conversely, control signals, commands, contents, files, and the like provided under the control of the processor 222 of the server 150 are transmitted to the communication module 223 of the electronic device 110 via the communication module 223 and the network 170 213 to the electronic device 1 (110). For example, the control signal or command of the server 150 received through the communication module 213 may be transmitted to the processor 212 or the memory 211, May be stored as a storage medium that may further include a < RTI ID = 0.0 >

입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 전자 기기 1(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 전자 기기 2(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.The input / output interface 214 may be a means for interfacing with the input / output device 215. For example, the input device may include a device such as a keyboard or a mouse, and the output device may include a device such as a display for displaying a communication session of the application. As another example, the input / output interface 214 may be a means for interfacing with a device having integrated functions for input and output, such as a touch screen. More specifically, the processor 212 of the electronic device 1 (110) uses the data provided by the server 150 or the electronic device 2 (120) in processing commands of the computer program loaded in the memory 211 A service screen or contents can be displayed on the display through the input / output interface 214. [

또한, 다른 실시예들에서 전자 기기 1(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기 1(110)은 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기 1(110)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기 1(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.Also, in other embodiments, electronic device 1 110 and server 150 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, electronic device 1 110 may be implemented to include at least a portion of input / output devices 215 described above, or may be implemented with other components such as a transceiver, Global Positioning System (GPS) module, camera, Elements. More specifically, when the electronic device 1 (110) is a smart phone, it may be an acceleration sensor, a gyro sensor, a camera, various physical buttons, buttons using a touch panel, input / output ports, It is to be understood that the present invention may be embodied in various forms without departing from the spirit or scope of the invention.

이하에서는 가상 키보드를 통해 검색 서비스를 제공할 수 있는 시스템과 방법의 구체적인 실시예를 설명하기로 한다.Hereinafter, a specific embodiment of a system and method for providing a search service through a virtual keyboard will be described.

도 3은 본 발명의 일실시예에 있어서 검색 서비스를 제공하는 시스템 환경의 예를 도시한 도면이다.3 is a diagram illustrating an example of a system environment for providing a search service in an embodiment of the present invention.

전자 기기(110) 상에 설치된 키보드 앱(10)은 고유 기능인 가상 키보드를 제공하는 것과 아울러, 다른 기능으로서 검색 서비스를 연계하기 위해 다른 프로그램(예컨대, application programming interface, software development kit, framework 등)을 이용하여 제작되거나, 혹은 이들 프로그램과 하나로 묶은 패키지 형태로 제작된 컴퓨터 프로그램을 포괄하여 의미할 수 있다. 키보드 앱(10)은 가상 키보드 상에 서버(150)에서 제공하는 검색 서비스를 구현 가능하도록 개발된 어플리케이션으로, 일례로 도 3을 참조하면 키보드 앱(10)에는 가상 키보드 상에 검색 서비스를 구현할 수 있도록 검색 서비스와 관련하여 서버(150)에 의해 공개된 오픈 API(50)가 탑재 또는 결합될 수 있다. 서버(150)는 키보드 앱(10)이 전자 기기(110) 상에 실행될 때 키보드 앱(10)에 탑재 또는 결합된 오픈 API(50)의 호출에 따라 키보드 앱(10)을 통해 전자 기기(110)로 검색 서비스를 제공하는 것으로, 키보드 앱(10)을 통해 전자 기기(110)의 사용자의 검색 요구에 대응되는 검색 결과를 전자 기기(110)로 제공할 수 있다. 실시예에 따라서는, 키보드 앱(10)과 오픈 API(50)가 별개로 독립된 형태일 수 있다.The keyboard application 10 installed on the electronic device 110 provides a virtual keyboard which is a unique function and other programs (e.g., application programming interface, software development kit, framework, etc.) Or a computer program produced in the form of a package bundled with these programs. The keyboard application 10 is an application developed to enable a search service provided by the server 150 on a virtual keyboard. For example, referring to FIG. 3, a search service can be implemented on a virtual keyboard in the keyboard application 10 The open API 50 disclosed by the server 150 in connection with the search service can be mounted or combined. The server 150 is connected to the electronic device 110 via the keyboard application 10 in response to a call of the open API 50 mounted or coupled to the keyboard app 10 when the keyboard app 10 is executed on the electronic device 110. [ ) To provide a search result corresponding to a search request of a user of the electronic device 110 to the electronic device 110 through the keyboard app 10. In some embodiments, the keyboard application 10 and the open API 50 may be separate and independent.

도 4는 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 5는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.FIG. 4 is a diagram illustrating an example of a component that a server of a server according to an embodiment of the present invention can include; FIG. 5 is a diagram illustrating an example of a method that a server can perform according to an exemplary embodiment of the present invention; Fig.

도 4에 도시된 바와 같이 서버(150)의 프로세서(222)는 구성요소들로서 인식부(410), 검색 결과 생성부(420), 및 검색 결과 제공부(430)를 포함할 수 있다. 이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 5의 방법이 포함하는 단계들(S510 내지 S530)을 수행하도록 서버(150)를 제어할 수 있다. 이때, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 또한, 프로세서(222)의 구성요소들은 운영체제나 적어도 하나의 프로그램이 제공하는 제어 명령에 따라 프로세서(222)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(222)가 상술한 제어 명령에 따라 키보드 앱에 탑재 또는 결합된 오픈 API 호출을 인식하는 기능적 표현으로서 인식부(410)가 사용될 수 있다.As shown in FIG. 4, the processor 222 of the server 150 may include a recognition unit 410, a search result generation unit 420, and a search result providing unit 430 as elements. The components of the processor 222 and the processor 222 may control the server 150 to perform the steps S510 through S530 included in the method of FIG. At this time, the components of the processor 222 and the processor 222 may be implemented to execute instructions according to the code of the operating system and the code of at least one program that the memory 221 contains. In addition, components of processor 222 may be representations of different functions performed by processor 222 in accordance with control commands provided by the operating system or by at least one program. For example, the recognizer 410 may be used as a functional representation in which the processor 222 recognizes an open API call that is mounted or coupled to the keyboard app according to the control command described above.

단계(S510)에서 인식부(410)는 전자 기기(110)에 설치된 키보드 앱이 실행되는 경우 검색 서비스를 위해 키보드 앱에 탑재 또는 결합된 오픈 API 호출을 인식할 수 있다. 본 명세서에서 키보드 앱은 전자 기기(110)의 화면 상에 문자 입력을 위한 가상 키보드를 제공하는 모든 어플리케이션을 포괄하여 의미할 수 있다. 키보드 앱은 도 3을 참조하여 위에서 설명한 바와 같이 서버(150)에서 제공하는 검색 서비스를 가상 키보드 상에 구현하기 위한 오픈 API가 탑재 또는 결합될 수 있으며, 전자 기기(110)에서 실행되는 경우 오픈 API 호출을 통해 가상 키보드 상에 검색 기능을 제공할 수 있다. 키보드 앱은 검색 서비스의 오픈 API가 탑재 또는 결합됨에 따라 검색 기능과 관련된 각종 UI(user interface)가 포함된 가상 키보드를 제공할 수 있다. 인식부(410)는 키보드 앱에 탑재 또는 결합된 오픈 API 호출을 인식함에 따라 가상 키보드 상의 검색 기능 활성화 상태를 인지할 수 있다. 이때, 검색 기능은 키보드 레벨에서 구현 가능한 검색 연관 기능을 모두 포함할 수 있으며, 기본적으로 검색 질의에 대응하여 다양한 서비스나 컨텐츠를 제공할 수 있는 통합 검색 기능은 물론, 가상 키보드를 통해 입력된 문맥(context)에 따라 단어 추천, 오타 수정, 자동 완성, 초성 완성 등을 포함하는 입력 보조 기능, 가상 키보드를 통해 입력된 문맥이나 전자 기기(110)와 관련된 각종 식별 정보(위치, 시간, 히스토리 등)를 기반으로 추천 검색어를 제공하는 검색어 추천 기능, 초성 검색, 음성 인식, 음악 검색, 코드 리더, 텍스트 번역 등 간편 검색 입력 기능 등을 포함할 수 있다. 따라서, 본 발명에서는 키보드 앱에 가상 키보드 상에 검색 기능을 구현할 수 있는 오픈 API가 탑재 또는 결합됨으로써 키보드 레벨에서 키워드 검색, 음성 인식, 음악 검색, 코드 검색, 이미지 검색, 텍스트 번역 등 다양한 방식의 검색 환경을 제공할 수 있다.In step S510, when the keyboard application installed in the electronic device 110 is executed, the recognition unit 410 may recognize an open API call mounted or coupled to the keyboard application for the search service. In this specification, a keyboard application may refer to any application that provides a virtual keyboard for inputting characters on the screen of the electronic device 110. [ 3, an open API for implementing a search service provided by the server 150 on a virtual keyboard may be mounted or coupled, and when executed in the electronic device 110, an open API The search can be provided on the virtual keyboard through a call. As the open API of the search service is loaded or combined, the keyboard application can provide a virtual keyboard including various UIs related to the search function. The recognition unit 410 can recognize the search function activation state on the virtual keyboard by recognizing the open API call mounted or coupled to the keyboard application. At this time, the search function may include all the search related functions that can be implemented at the keyboard level. In addition to the integrated search function that can provide various services or contents corresponding to the search query, (location, time, history, etc.) related to the context or electronic device 110 input through the virtual keyboard, the input assist function including a word recommendation, a typing correction, an autocomplete, And a simple search input function such as a keyword search function, a keyword search function, a voice recognition function, a music search function, a code reader, and a text translation function. Accordingly, in the present invention, an open API capable of implementing a search function on a virtual keyboard is mounted or coupled to a keyboard application, so that various methods such as keyword search, voice recognition, music search, code search, image search, Environment can be provided.

단계(S520)에서 검색 결과 생성부(420)는 오픈 API의 호출이 인식되면 전자 기기(110) 상의 키보드 앱으로부터 검색 질의를 수신하여 수신된 질의에 대응되는 검색 결과를 생성할 수 있다. 사용자는 전자 기기(110)에서 키보드 앱이 제공하는 가상 키보드를 통해 검색 기능을 이용하게 되는데, 일례로 검색 결과 생성부(420)는 사용자가 가상 키보드를 통해 입력하는 문자를 검색 질의로서 수신하여 해당 질의에 대응하는 검색 결과를 생성할 수 있다. 가상 키보드에서 이용 가능한 검색 기능은 텍스트 기반 검색뿐만 아니라 음성 인식, 음악 검색, 코드 검색, 텍스트 번역 등의 간편 검색 입력 기능을 포함할 수 있으며, 검색 결과 생성부(420)는 검색 질의로서 텍스트는 물론, 음성/음악 인식 결과, 코드 인식 결과, 이미지 등을 입력 받을 수 있다. 검색 서비스 대상이 모든 서비스나 컨텐츠가 검색 결과에 포함될 수 있으며, 검색 결과 생성부(420)는 키보드 앱으로부터 수신된 검색 질의에 대응되는 서비스나 컨텐츠를 검색 결과로 생성할 수 있다.In step S520, the search result generating unit 420 may receive a search query from the keyboard application on the electronic device 110 and generate a search result corresponding to the received query if the open API call is recognized. The user uses the search function through the virtual keyboard provided by the keyboard application in the electronic device 110. For example, the search result generating unit 420 receives a character input by the user through the virtual keyboard as a search query, The search result corresponding to the query can be generated. The search function available in the virtual keyboard may include a simple search input function such as speech recognition, music search, code search, and text translation as well as text-based search. , Voice / music recognition result, code recognition result, image, and the like. All services or contents targeted by the search service may be included in the search result, and the search result generating unit 420 may generate a service or content corresponding to the search query received from the keyboard application as a search result.

단계(S530)에서 검색 결과 제공부(430)는 검색 질의에 대응되는 검색 결과를 키보드 앱으로 제공할 수 있다. 검색 결과 제공부(430)에서 제공되는 검색 결과는 키보드 앱이 제공하는 가상 키보드 상에 노출됨으로써 전자 기기(110)의 사용자에게 제공될 수 있다. 다른 예로, 검색 결과 제공부(430)는 일부 환경, 예컨대 키보드 앱이 실행된 직후 검색 질의가 수신되기 이전 초기 상태나 키보드 앱으로부터 일정 시간 이상 검색 질의가 수신되지 않은 경우에는 디폴트로 설정되거나 혹은 사용자에 의해 사전 설정된 추천 기준에 따른 컨텐츠를 키보드 앱을 통해 추천하는 것 또한 가능하다.In step S530, the search result providing unit 430 may provide the search result corresponding to the search query to the keyboard application. The search result provided by the search result providing unit 430 may be provided to the user of the electronic device 110 by being exposed on the virtual keyboard provided by the keyboard application. As another example, the search result providing unit 430 may be set to a default state in some circumstances, for example, in the initial state immediately before the search query is received immediately after the execution of the keyboard application or when the search query is not received from the keyboard application for a predetermined time, It is also possible to recommend content based on preset recommendation criteria through a keyboard app.

본 발명의 실시예들은 검색 서비스를 위해 키보드 앱에 탑재 또는 결합된 오픈 API를 통해 키보드 앱이 제공하는 가상 키보드 상에 다양한 서비스나 컨텐츠를 제공할 수 있는 검색 기능을 구현할 수 있다.Embodiments of the present invention can implement a search function capable of providing various services or contents on a virtual keyboard provided by a keyboard application through an open API installed or coupled to a keyboard application for a search service.

도 6 내지 도 17은 본 발명의 일실시예에 있어서 가상 키보드 상에서의 검색 기능 구현 예시들을 설명하기 위한 도면이다.FIGS. 6 to 17 are diagrams for explaining examples of search function implementations on a virtual keyboard in an embodiment of the present invention.

이하의 실시예에서는 메신저에서 제공되는 가상 키보드를 대표적인 예로 하여 설명하고 있으나, 이에 한정되는 것은 아니며 키보드 앱이 실행되는 모든 환경에서 적용 가능함은 물론이다.In the following embodiments, the virtual keyboard provided in the messenger is described as a representative example. However, the present invention is not limited to this and is applicable to all environments in which a keyboard application is executed.

도 6은 메신저 앱에서 가상 키보드를 표시하는 과정의 일례를 도시한 것이다.6 shows an example of a process of displaying a virtual keyboard in a messenger application.

도 6을 참조하면, 메신저의 대화 화면(600)에는 문자 입력 공간(601)이 포함되며, 사용자가 대화 메시지 작성을 위해 문자 입력 공간(601)을 선택하면 키보드 앱에 의해 대화 화면(600)의 소정 위치, 예컨대 하단에 가상 키보드(610)가 표시될 수 있다. 메신저 이외에도 전자 기기(110)에 설치된 어플리케이션, 예를 들어 메시지, 이메일, 인터넷(포털, 뉴스, 쇼핑 등), 메모, 연락처, 음악, 사진첩, 지도 등의 어플리케이션을 이용하는 경우 해당 어플리케이션의 실행 화면에 제공된 문자 입력 공간에 대한 문자 입력이 요구될 수 있으며, 이때 전자 기기(110)의 사용자가 실행 중인 어플리케이션에서 문자 입력을 위한 데이터 필드를 포인터로 선택하는 경우 키보드 앱을 통해 가상 키보드를 호출할 수 있다.6, the messenger screen 600 includes a character input space 601, and when the user selects a character input space 601 for composing a chat message, The virtual keyboard 610 can be displayed at a predetermined position, for example, at the bottom. When an application such as a message, an e-mail, an Internet (portal, news, shopping, etc.), a memo, a contact, a music, an album and a map is used in addition to the messenger, The user of the electronic device 110 can invoke the virtual keyboard through the keyboard application when the user selects a data field for inputting characters in a running application.

이때, 가상 키보드(610)는 문자 입력을 위한 복수의 키 버튼으로 구성된 키 영역(611)과, 검색과 관련된 서비스와 컨텐츠를 제공하기 위한 검색 서비스 영역(612)으로 구분될 수 있다. 검색 서비스 영역(612)은 키보드 앱에 검색 서비스를 위한 오픈 API가 탑재 또는 결합됨에 따라 가상 키보드(610) 상에 포함되어 구성될 수 있다.At this time, the virtual keyboard 610 can be divided into a key area 611 composed of a plurality of key buttons for inputting characters, and a search service area 612 for providing services related to the search and contents. The search service area 612 may be included and configured on the virtual keyboard 610 as an open API for a search service is loaded or combined in the keyboard application.

가상 키보드(610)는 통합 검색 기능을 가진 키보드로서, 검색어를 입력하기 위한 공간인 검색창을 별도로 구성하지 않고 가상 키보드(610)를 호출한 메신저의 대화 화면(600)에서 제공된 문자 입력 공간(601)을 검색창으로 활용할 수 있다.The virtual keyboard 610 is a keyboard having an integrated search function and includes a character input space 601 provided on the conversation screen 600 of the messenger 600 calling the virtual keyboard 610 without separately configuring a search window, ) Can be used as a search window.

사용자가 별도의 검색 모드에 진입하지 않고도 사용 중이던 앱에서의 입력 작업 중에 키보드 영역에서 제공되는 검색 결과를 활용할 수 있다. 따라서, 원래의 입력 작업을 방해하지 않고 사용 중이던 앱에서의 입력과 검색을 위한 입력을 별도로 구분하지 않아 혼란을 최소화 하고 사용자 편의를 향상시킬 수 있다.The user can utilize the search result provided in the keyboard area during the input operation in the app which is in use without entering the separate search mode. Therefore, it is possible to minimize confusion and improve the user's convenience by not disturbing the original input operation and separately inputting the input and retrieval input in the app that is being used.

문자 입력 공간(601)에 입력된 문자가 없는 초기 상태에는 검색 서비스 영역(612) 상에 디폴트 또는 사용자에 의해 설정된 추천 컨텐츠가 노출될 수 있다. 일례로, 초기 상태의 검색 서비스 영역(612)에는 전자 기기(110)에 대해 식별 가능한 정보, 예컨대 위치, 시간, 히스토리 등을 기반으로 한 추천 검색어(예를 들어, 실시간 급상승 검색어, 기존 검색어 목록 등)나 추천 컨텐츠(예를 들어, 날씨 등)가 노출될 수 있다. 히스토리 기반의 추천 기능은 키보드 앱 상에 문자 입력과 관련된 사용자 히스토리가 저장될 수 있으며 저장된 정보에 대한 통계를 기반으로 최적의 검색어나 컨텐츠를 추천할 수 있다. 다른 예로, 초기 상태의 검색 서비스 영역(612)에는 바로가기처럼 전자 기기(110)의 사용자에 의해 등록된 서비스 목록(예를 들어, 뉴스, 일정, 메모 등)이나 전자 기기(110)의 사용자에 의해 등록된 서비스의 주요 컨텐츠(예컨대, 최신 컨텐츠, 인기 컨텐츠, 날씨 등) 등이 노출될 수 있다.In an initial state in which there is no character input in the character input space 601, the default or recommended content set by the user may be exposed on the search service area 612. [ For example, the search service area 612 in the initial state may include a search term (e.g., a real-time rapid search term, a list of existing search terms, etc.) based on information identifiable with respect to the electronic device 110, ) Or recommended content (e.g., weather, etc.) may be exposed. The history based recommendation function can store the user history related to the character input on the keyboard application and can recommend the optimum search word or contents based on the statistics on the stored information. As another example, in the initial state search service area 612, a service list (e.g., news, schedule, memo, etc.) registered by a user of the electronic device 110, such as a shortcut, (E.g., latest contents, popular contents, weather, etc.) of the service registered by the user can be exposed.

도 7 내지 도 9는 가상 키보드의 문맥에 따른 입력 보조 기능을 설명하기 위한 예시 도면이다.Figs. 7 to 9 are exemplary diagrams for explaining an input assist function according to the context of a virtual keyboard. Fig.

도 7을 참조하면, 문자 입력 공간(701)에 입력된 문자에 대하여 가상 키보드(710)의 검색 서비스 영역(712) 상에 추천 컨텐츠로서 입력 문자에 대응되는 자동 완성 단어를 제공할 수 있다.Referring to FIG. 7, an automatic completion word corresponding to an input character may be provided as a recommended content on a search service area 712 of a virtual keyboard 710 with respect to a character input in the character input space 701.

도 8을 참조하면, 문자 입력 공간(801)에 입력된 문자에 오타가 포함된 경우 가상 키보드(810)의 검색 서비스 영역(812) 상에 추천 컨텐츠로서 오타에 대한 교정어를 제공할 수 있다.Referring to FIG. 8, when a character entered in the character input space 801 includes a typo, a correction word for the typo may be provided as a recommended content on the search service area 812 of the virtual keyboard 810.

도 9를 참조하면, 문자 입력 공간(901)에 입력된 문자가 초성 조합으로 이루어진 경우 가상 키보드(910)의 검색 서비스 영역(912) 상에 추천 컨텐츠로서 초성에 대응되는 예측 단어를 제공할 수 있다.Referring to FIG. 9, if characters input in the character input space 901 are composed of a prefix combination, a prediction word corresponding to the prefix can be provided as a recommended content on the search service area 912 of the virtual keyboard 910 .

자동 완성 단어, 오타 교정어, 초성 예측 단어 이외에도 문자 입력 공간에 입력된 문자에 대하여 해당 문자에 대응하는 이모지를 추천할 수 있으며, 이때 단일 단어에 대한 이모지 추천뿐만 아니라 사용자 히스토리를 기반으로 단어 조합에 대한 이모지 세트를 추천하는 것 또한 가능하다. 단어별로 이모지를 조합하여 사용한 문장의 경우 이러한 사용자 히스토리를 기반으로 이후 유사 문자 입력 시 조합 이모지를 바로 추천할 수 있다. 예를 들어, '밥 먹었어?'라는 문장에 대해 '밥'을 대신하여 밥 이미지의 아이콘을, '먹었어'를 대신하여 입 이미지의 아이콘을 조합하여 이용한 이력이 있는 경우, 이후 '밥'을 입력할 때 입력 문자 '밥'에 대해 밥 이미지의 아이콘과 입 이미지의 아이콘으로 이루어진 이모지 세트를 추천할 수 있다. 더 나아가, 전자 기기(110)의 사용자가 자주 사용하는 문맥을 DB로 구축하여 이러한 DB를 바탕으로 입력 문자에 대응하는 문맥 중 사용자가 자주 사용하는 문맥을 추천할 수 있다. 또한, 문자 입력 공간에 입력된 문자에 대하여 전자 기기(110)의 사용자에 의해 선택된 언어로 번역하여 번역 결과를 제공하는 것 또한 가능하다.In addition to the autocomplete word, the typo correction word, and the predicting prediction word, it is also possible to recommend emotions corresponding to the characters inputted in the character input space. In addition to the emotion recommendation for a single word, It is also possible to recommend a set of emoticons for. In the case of a sentence using a combination of words by word, it is possible to immediately recommend a combination of images in the input of similar characters based on the user history. For example, if there is a history of using the icons of the image of Bob in place of 'Bob' and the icon of the image of the mouth in place of 'Eat', for the sentence 'Did you eat rice?', Then input 'rice' , It is possible to recommend an image set consisting of an icon of the Bob image and an icon of the mouth image with respect to the input character 'Bob'. Furthermore, a context frequently used by the user of the electronic device 110 can be constructed as a DB, and a context frequently used by a user among the contexts corresponding to input characters can be recommended based on the DB. It is also possible to translate a character input in the character input space into a language selected by a user of the electronic device 110 and provide a translation result.

입력 문자에 대해 자동 완성 단어, 오타 교정어, 초성 예측 단어, 추천 검색어 내지 이모지 등을 추천할 때 사용자마다 추천 결과에 대한 선택이 다를 수 있다. 이에, 사용자 별로 추천 결과에 대한 선택을 누적하고 이러한 사용자 별 히스토리를 기반으로 동일한 입력에 대해 사용자마다 추천하는 내용을 달리하는 개인화가 가능하다.When recommending an autocomplete word, a typo corrective word, a preliminary predictive word, a suggested search term or an emoticon for an input character, the selection of a recommendation result may be different for each user. Accordingly, it is possible to accumulate the selection of the recommendation result for each user, and to personalize the recommended input for each user based on the user-specific history.

도 10 내지 도 12는 가상 키보드의 문맥에 따른 검색어 추천 기능을 설명하기 위한 예시 도면이다.10 to 12 are exemplary diagrams for explaining a search word recommendation function according to the context of a virtual keyboard.

가상 키보드는 문자 입력 공간에 입력된 문맥이나 전자 기기(120)와 관련된 정보(위치, 시간, 히스토리 등)를 기반으로 추천 검색어를 제공하는 검색어 추천 기능을 제공할 수 있다.The virtual keyboard can provide a search word recommendation function for providing a recommendation word based on a context input in a character input space or information (location, time, history, and the like) related to the electronic device 120.

일례로, 도 10을 참조하면 문자 입력 공간(1001)에 입력된 문자에 대하여 가상 키보드(1010)의 검색 서비스 영역(1012) 상에 추천 컨텐츠로서 입력 문자에 대응되는 추천 검색어를 제공할 수 있다. 이때, 입력 문자가 속한 주제를 파악하여 해당 주제에 해당되는 연관 검색어나 인기 검색어 등을 추천 검색어로 제공할 수 있다.For example, referring to FIG. 10, a recommendation word corresponding to an input character may be provided as a recommended content on a search service area 1012 of a virtual keyboard 1010 with respect to a character input in the character input space 1001. At this time, the subject to which the input character belongs can be grasped, and the related search word or the popular search word corresponding to the subject can be provided as a recommendation word.

도 11에 도시한 바와 같이, 가상 키보드(1110)의 검색 서비스 영역(1112) 상에 제공된 추천 검색어 중 특정 검색어를 선택하는 경우 검색 서비스 영역(1112)을 확장하거나 추가의 펼침 영역에 특정 검색어에 대응되는 검색 결과(1113)를 제공할 수 있다. 이때, 가상 키보드(1110)에서 제공되는 검색 결과(1113)는 컨텐츠를 분류한 컬렉션 별로 필터링 하여 볼 수 있는 검색탭(예컨대, 통합, 뉴스, 연예, 스포츠, 동영상, 블로그, 이미지 등)과 같은 필터를 제공할 수 있다.As shown in FIG. 11, when a specific search term is selected from the search terms provided on the search service area 1112 of the virtual keyboard 1110, the search service area 1112 may be expanded or a specific search term may be added to the additional search area 1112 Quot; search result 1113 " At this time, the search result 1113 provided by the virtual keyboard 1110 may be a filter such as a search tab (e.g., integration, news, entertainment, sports, video, Can be provided.

문자 입력 공간(1101)에 입력된 문자에 대하여 해당 단어에 대응되는 정답형 정보나 해당 정보의 링크를 검색 결과(1113)로 제공할 수 있다. 예를 들어, 입력 문자 'TV'에 대하여 TV 편성표에 대한 정보를 제공하고, '내일'에 대하여 내일 날씨에 대한 정보를 제공하고, '영화'에 대하여 영화 순위에 대한 정보를 제공하고, '먹자'에 대하여 주변 맛집에 대한 정보를 제공하고, '선물'에 대하여 선물 추천 결과를 제공하고, '[상호명]'에 대하여 길찾기나 내비게이션 링크를 제공할 수 있다.Correct answer information corresponding to the character input to the character input space 1101 or a link of the corresponding information can be provided as the search result 1113. [ For example, the input character 'TV' may be provided with information on the TV schedule, 'tomorrow' may be provided with information on tomorrow's weather, 'movie' may be provided with information on the movie ranking, 'Provides information about the nearby restaurants, provides the recommendation result for' gift ', and provides a route search or navigation link for' [business name] '.

그리고, 가상 키보드(1110)를 호출한 어플리케이션을 파악하여 검색 범위를 한정할 수 있는 카테고리나 주제를 결정할 수 있다. 예를 들어, 쇼핑 앱을 사용하는 중에 특정 상품명을 입력한 경우 서버(150)에서 제공하는 검색 결과 중 쇼핑 주제에 적합한 컨텐츠를 선별하여 가상 키보드(1110) 상에 표시할 수 있다.Then, the application that called the virtual keyboard 1110 can be grasped and a category or a topic that can limit the search range can be determined. For example, when a specific product name is inputted while using the shopping app, content suitable for a shopping subject among the search results provided by the server 150 can be selected and displayed on the virtual keyboard 1110.

도 12를 참조하면, 가상 키보드(1210)에서 제공되는 검색 결과(1213)에서 특정 컨텐츠를 선택하는 경우 문자 입력 공간(1201)에 해당 컨텐츠의 웹뷰로 연결되는 링크 정보를 입력할 수 있다. 이때, 키보드 앱은 검색 결과(1213)에서의 선택 시 해당 검색 결과를 스크린 캡쳐(screen capture)하여 캡쳐 이미지를 링크 정보와 함께 문자 입력 공간(1201)에 삽입할 수 있다. 다시 말해, 가상 키보드(1210)에서 검색 결과(1213)에 대한 선택 조작 한번으로 링크 정보와 이미지가 한꺼번에 문자 입력 공간(1201)에 삽입될 수 있다.Referring to FIG. 12, when selecting a specific content in the search result 1213 provided by the virtual keyboard 1210, link information linked to the web view of the corresponding content may be input into the character input space 1201. At this time, the keyboard application can screen capture the search result at the time of selection in the search result 1213, and insert the captured image into the character input space 1201 together with the link information. In other words, the link information and the image can be inserted into the character input space 1201 at once by the selection operation for the search result 1213 in the virtual keyboard 1210. [

검색 결과(1213)에서의 선택에 따른 컨텐츠 링크 정보가 문자 입력 공간(1201)에 입력된 후 사용자의 전송 요청이 있을 때 상대방에게 전송될 수 있으며, 다른 예로 문자 입력 공간(1201)으로의 입력 과정을 거치지 않고 검색 결과(1213)에서 특정 컨텐츠가 선택되는 경우 해당 컨텐츠의 링크 정보(및 캡쳐된 이미지)가 상대방에게 바로 전송될 수 있다.The content link information according to the selection in the search result 1213 may be input to the character input space 1201 and then transmitted to the other party when a transmission request of the user is made. The link information (and the captured image) of the corresponding content can be directly transmitted to the other party when the specific content is selected in the search result 1213 without going through.

이외에도, 정해진 일정 시간 동안 문자 입력 공간에 아무런 입력이 없거나 추가 입력이 없는 경우에 가상 키보드의 키보드 영역이나 검색 서비스 영역 상에 컨텐츠를 자동 추천할 수 있다. 이때, 일정 시간은 시스템에 디폴트 값으로 설정되거나 혹은 사용자에 의해 직접 설정되는 것 또한 가능하다. 예를 들어, 문자 입력 공간에 10초 동안 아무 입력이 발생하지 않을 경우 가상 키보드의 검색 서비스 영역 상에 실시간 급상승 검색어를 추천할 수 있으며, 이 외에도 여러 검색어 차트나 추천 정보 등을 제공할 수도 있다.In addition, when there is no input or additional input in the character input space for a predetermined period of time, the content can be automatically recommended on the keyboard area or the search service area of the virtual keyboard. At this time, it is also possible that the predetermined time is set to a default value in the system or directly set by the user. For example, if there is no input for 10 seconds in the character input space, you can recommend a real-time zoom search term in the search service area of the virtual keyboard. In addition, it may provide various search word charts and recommendation information.

가상 키보드에서의 검색 기능은 기본적으로 검색어를 입력하기 위한 공간인 검색창을 별도로 구성하지 않고 가상 키보드를 호출한 어플리케이션 상의 문자 입력 공간을 검색창으로 활용하나, 가상 키보드에서 별도의 검색 모드로 진입하는 경로를 제공해주는 것 또한 가능하다. 예를 들어, 검색 서비스 영역에 검색 모드로 진입하기 위한 메뉴(예를 들어, 'K' 모양의 버튼 등)를 할당하고 해당 메뉴 선택 시에 별도의 검색창을 포함하는 검색 모드를 제공할 수 있다. 가상 키보드에서 별도의 검색 모드로 진입하는 경우 검색창이 표시되고 입력 문자와 별개로 검색창에 입력된 키워드에 대응되는 검색 결과를 제공할 수 있다. 이때, 검색창과 함께 추천 검색어 목록이 제공될 수 있으며, 검색창에 키워드가 입력되기 이전의 추천 검색어 목록에는 인터넷 상의 실시간 인기 검색어, 사용자 히스토리 기반의 최근 검색어, 키보드를 호출한 메신저 상의 대화 내용을 기반으로 추출된 연관 검색어 등이 포함될 수 있으며, 검색창에 키워드가 입력된 이후의 추천 검색어 목록에는 입력된 키워드와 관련된 연관 검색어 등이 포함될 수 있다.The search function on the virtual keyboard basically utilizes the character input space on the application that calls the virtual keyboard as a search window without separately configuring a search window, which is a space for inputting a search word, It is also possible to provide a route. For example, a menu for entering a search mode into a search service area (e.g., a 'K' shaped button) may be allocated and a search mode including a separate search window may be provided when the menu is selected . When the virtual keyboard enters a separate search mode, a search window is displayed and a search result corresponding to the keyword entered in the search window separately from the input character can be provided. In this case, a list of suggested search terms may be provided along with a search window. In the list of recommended search terms before the keyword is inputted in the search window, a list of real-time popular search words on the Internet, recent search words based on user history, And a related search word related to the input keyword may be included in the list of the recommended search terms after the keyword is inputted in the search window.

도 13는 가상 키보드의 간편 검색 입력 기능을 설명하기 위한 예시 도면이다.13 is an exemplary diagram for explaining a simple search input function of the virtual keyboard.

키보드 앱에 검색 서비스를 위한 오픈 API가 탑재 또는 결합됨에 따라 가상 키보드에는 음성 인식, 음악 검색, 코드 검색, 텍스트 번역 등 간편 검색 입력 기능이 포함되어 구성될 수 있다.As the keyboard app is loaded or combined with an open API for the search service, the virtual keyboard can be configured to include simple search input functions such as voice recognition, music search, code search, and text translation.

일례로, 도 13에 도시한 바와 같이 가상 키보드(1310)는 검색 서비스 영역(1312)과 함께, 간편 검색 메뉴 목록(1314)를 제공할 수 있다. 이때, 간편 검색 메뉴 목록(1314)에는 음성 인식 결과를 질의로 인식할 수 있는 '음성 인식' 메뉴, 음악을 인식하여 검색할 수 있는 '음악 검색' 메뉴, QR코드나 바코드 등을 읽어 검색할 수 있는 '코드 검색' 메뉴, 이미지를 질의로 검색할 수 있는 '이미지 검색' 메뉴, 입력 문자를 선택 언어로 번역할 수 있는 '텍스트 번역' 메뉴 등이 포함될 수 있다.As an example, the virtual keyboard 1310, along with the search service area 1312, may provide a quick search menu list 1314, as shown in FIG. At this time, in the quick search menu list 1314, a 'voice recognition' menu capable of recognizing the voice recognition result as a query, a 'music search' menu capable of searching and recognizing the music, a QR code, a barcode, A 'text search' menu, an 'image search' menu in which an image can be searched by a query, a 'text translation' menu in which an input character can be translated into a selected language, and the like.

가상 키보드(1310)에서는 오타 등을 자동으로 교정하는 기능은 물론, 음성 입력 디테이션(dictation)을 통한 음성 인식 기능을 제공할 수 있으며, 한국어의 경우 한국어에 특화된 인식 엔진과 한국어 언어처리 기술에 의한 고품질 오인식 교정 로직을 지원할 수 있다.The virtual keyboard 1310 can provide not only a function of automatically correcting typo etc., but also a speech recognition function through dictation of speech. In the case of Korean, a recognition engine specialized for Korean and a Korean language processing technology And can support high quality false-positive calibration logic.

더 나아가, 가상 키보드(1310)에는 서버(150)에서 제공하는 검색 서비스에 의해 뉴스나 캘린더, 메모, 사전 등 다양한 서비스 링크를 검색 서비스 영역(1412)에 고정시킬 수 있는 기능이 더 포함될 수 있다. 예를 들어, 도 14에 도시한 바와 같이 메신저의 대화 화면(1400)에 가상 키보드(1410)가 표시된 경우 가상 키보드(1410)의 검색 서비스 영역(1412) 상에 바로가기처럼 사용자에 의해 설정된 서비스 링크가 표시될 수 있다. 가상 키보드(1410)의 검색 서비스 영역(1412) 상에서 특정 링크를 선택하는 경우 검색 서비스 영역(1412)을 확장하거나 추가의 펼침 영역에 해당 서비스와 관련된 컨텐츠(예컨대, 최신 컨텐츠, 인기 컨텐츠 등)를 추천할 수 있다. 서비스에 따라 가상 키보드(1410)에서 제공되는 추천 컨텐츠를 필터링 하여 볼 수 있는 검색탭(예컨대, 통합, 뉴스, 연예, 스포츠, 동영상, 블로그, 이미지 등)과 같은 필터를 제공할 수 있다.Furthermore, the virtual keyboard 1310 may further include a function of fixing various service links such as news, calendars, memos, and dictionaries to the search service area 1412 by the search service provided by the server 150. [ For example, when a virtual keyboard 1410 is displayed on the conversation screen 1400 of the messenger as shown in FIG. 14, a service link 1410 set by the user like a shortcut on the search service area 1412 of the virtual keyboard 1410 May be displayed. When a specific link is selected on the search service area 1412 of the virtual keyboard 1410, the search service area 1412 is extended or a content (e.g., latest content, popular content, etc.) related to the service is recommended in the additional expanded area can do. (E.g., integrated, news, entertainment, sports, video, blog, image, etc.) that can be viewed by filtering the recommended content provided by the virtual keyboard 1410 according to the service.

그리고, 가상 키보드(1310)에는 서버(150)에서 제공하는 검색 서비스에 의해 이모지 검색 기능이 포함될 수 있으며, 이때 이모지 검색 기능을 통해 제공되는 이모지는 키보드 앱과는 무관하게 서버(150)에서 제공하는 컨텐츠를 의미할 수 있다. 일례로, 가상 키보드(1310)에서 이모지 메뉴(미도시)를 선택하는 경우 소정 기준으로 자동 선정된 이모지 또는 랜덤하게 선정된 이모지를 문자 입력 공간(1301)에 바로 입력할 수 있다. 사용자가 이모지 목록에서 직접 골라서 입력하는 것은 물론, 이모지에 대한 커스터마이징(customizing)을 구현하기 위한 것으로, 사용자의 프로파일(나이, 성별, 기호 등) 등을 기준으로 자동 선정된 이모지 또는 임의로 자동 선정된 이모지를 바로 입력하는 것 또한 가능하다.In addition, the virtual keyboard 1310 may include an image search function by a search service provided by the server 150. The image search provided by the image search function may be performed by the server 150 regardless of the keyboard application Quot; content " For example, when an imaginary menu (not shown) is selected from the virtual keyboard 1310, the automatically selected emoticon or randomly selected emoticon can be directly input to the character input space 1301 according to a predetermined criterion. It is designed to implement customizing of aimage, as well as inputting a user's selection directly from the image list. It is automatically selected emotion based on the user's profile (age, sex, symbol, etc.) It is also possible to directly input an emoticon.

또한, 가상 키보드(1310)에는 서버(150)에서 제공하는 검색 서비스에 의해 촬영 영상을 문자 입력 공간(1301)에 바로 입력할 수 있는 카메라 메뉴(미도시)가 더 포함될 수 있다. 일례로, 가상 키보드(1310)에서 카메라 메뉴를 선택하는 경우 가상 키보드(1310) 상에 카메라 촬영 모드를 실행하여 이를 통해 촬영된 영상을 문자 입력 공간(1301)에 입력할 수 있다. 다른 예로, 가상 키보드(1310)에서 카메라 메뉴를 선택하는 경우 가상 키보드(1310) 상에 카메라 촬영 모드를 실행하고 영상에 적용 가능한 스티커 목록을 제공한 후 촬영된 영상에 스티커 목록에서 선택된 특정 스티커를 적용하여 스티커가 적용된 영상을 문자 입력 공간(1301)에 입력할 수 있다. 예를 들어, 사용자가 가상 키보드(1310) 상의 카메라 메뉴를 통해 본인의 얼굴을 촬영하면 촬영된 영상에서 얼굴의 각 부위를 인식하여 다양한 표정 스티커를 입력할 수 있는 기능을 제공하고, 이러한 기능을 통해 표정 스티커가 적용된 영상을 문자 입력 공간(1301)에 입력할 수 있다. 더 나아가, 가상 키보드(1310) 상에 카메라 촬영 모드를 이용하여 텍스트를 촬영한 경우 촬영된 영상 내에서 텍스트를 추출하여 추출된 텍스트를 문자 입력 공간(1301)에 입력하는 것 또한 가능하다.The virtual keyboard 1310 may further include a camera menu (not shown) for directly inputting the photographed image into the character input space 1301 by the search service provided by the server 150. [ For example, when the camera menu is selected from the virtual keyboard 1310, the camera photographing mode is executed on the virtual keyboard 1310, and the photographed image can be input to the character input space 1301. As another example, when the camera menu is selected from the virtual keyboard 1310, a camera photographing mode is executed on the virtual keyboard 1310, a list of stickers applicable to the image is provided, and a specific sticker selected from the sticker list is applied And input the image to which the sticker is applied in the character input space 1301. For example, when a user photographs his or her face through a camera menu on the virtual keyboard 1310, the user can recognize various parts of the face in the photographed image and input various facial expression stickers. The image to which the facial expression sticker is applied can be input into the character input space 1301. [ Furthermore, when the text is photographed using the camera photographing mode on the virtual keyboard 1310, it is also possible to extract the text within the photographed image and input the extracted text into the character input space 1301.

이외에도, 가상 키보드(1310)에는 서버(150)에서 제공하는 검색 서비스에 의해 음성 녹음 기능 및/또는 영상 녹화 기능 등이 더 포함될 수 있으며, 이를 통해 음성을 녹음하거나 영상을 녹화한 경우 해당 컨텐츠를 서버(150)에 업로드 한 후 업로드 된 컨텐츠에 접근할 수 있는 링크 정보를 문자 입력 공간(1301)에 자동 입력할 수 있다. 또한, 가상 키보드(1310)에 입력 문자를 손글씨 패턴으로 변환하여 이미지 형태로 문자 입력 공간(1301)에 입력하는 기능을 추가할 수 있다. 이때, 손글씨 패턴은 디폴트로 설정된 내장 프리셋을 이용하거나 혹은 온라인 상에서 여러 종류 중 어느 하나의 패턴을 선택할 수 있으며, 다른 예로는 정해진 문자열을 사용자가 종이에 직접 써서 카메라로 촬영한 후 촬영 영상의 분석을 통해 사용자의 손글씨 패턴을 인식 및 저장할 수 있고, 향후 입력 문자에 대해 사용자의 손글씨 패턴을 적용할 수 있다.In addition, the virtual keyboard 1310 may further include a voice recording function and / or a video recording function according to a search service provided by the server 150. When a voice is recorded or an image is recorded, The user can automatically input the link information for accessing the uploaded content into the character input space 1301 after uploading the uploaded content. It is also possible to add a function of converting input characters into handwritten patterns in the virtual keyboard 1310 and inputting them into the character input space 1301 in the form of an image. At this time, the handwriting pattern can be selected from a built-in preset set as a default, or a pattern of any one of various types can be selected online. As another example, a user can directly write a character string on a paper sheet, The user's handwriting pattern can be recognized and stored and the user's handwriting pattern can be applied to the input character in the future.

도 15 내지 도 17은 가상 키보드의 추가 검색 기능을 설명하기 위한 예시 도면이다.15 to 17 are exemplary diagrams for explaining the additional search function of the virtual keyboard.

키보드 앱에 검색 서비스를 위한 오픈 API가 탑재 또는 결합됨에 따라 가상 키보드에는 일반 검색용 검색창 이외에 다양한 컨텐츠의 검색 내지 입력 환경이 포함되어 구성될 수 있다.As the keyboard API is loaded or combined with the open API for the search service, the virtual keyboard can be configured to include search / input environment for various contents in addition to the general search search window.

도 15를 참조하면, 메신저의 대화 화면(1500)에 가상 키보드(1510)가 표시된 경우 가상 키보드(1510)의 소정 위치, 예컨대 검색 서비스 영역(1512) 상에 추가 검색 환경과 관련된 부가 기능에 접근할 수 있는 부가 기능 메뉴가 포함될 수 있다.Referring to FIG. 15, when a virtual keyboard 1510 is displayed on a conversation screen 1500 of a messenger, an additional function related to the additional search environment is accessed on a predetermined location of the virtual keyboard 1510, for example, An additional function menu may be included.

자판 영역을 불필요하게 차지하지 않도록 하기 위해 가상 키보드(1510) 상에 부가 기능 별 메뉴 버튼을 각각 할당하는 형태가 아닌, 검색 서비스 영역(1512) 상에 기본 버튼으로 할당되어 있는 소정 메뉴, 일례로 검색 메뉴(1512-2)를 부가 기능 메뉴로 활용할 수 있다. 예를 들어, 검색 메뉴(1512-2)는 단순 탭(tap) 하면 도 10을 통해 설명한 바와 같이 일반 검색으로 작동하고, 탭앤홀드(tap&hold)(롱 탭) 하면 추가 검색으로 작동하여 가상 키보드(1510) 상에 키보드 앱을 통해 지원 가능한 부가 기능에 접근할 수 있는 메뉴 목록(1517)을 제공할 수 있다.In order not to unnecessarily occupy the keyboard region, a predetermined menu allocated as a basic button on the search service area 1512, which is not a form in which a menu button for each additional function is allocated on the virtual keyboard 1510, The menu 1512-2 can be used as an additional function menu. For example, the search menu 1512-2 operates as a normal search as described with reference to FIG. 10 when tapping, and operates as an additional search when tap and hold (long tap) A menu list 1517 for accessing the additional functions that can be supported through the keyboard application can be provided.

검색 서비스 영역(1512)의 최소 공간에 상위 메뉴로서 부가 기능 메뉴를 할당하고 부가 기능 메뉴를 선택하는 경우 확장 레이어를 통해 부가 기능 별 메뉴 버튼으로 구성된 메뉴 목록(1517)을 제공할 수 있다. 일례로, 검색 메뉴(1512-2)에 대해 정해진 시간 이내에 단순 탭이 종료되는 경우 메뉴 목록(1517)의 확장 레이어가 보여지지 않으나, 해당 시간 이상 탭을 유지하는 경우에는 메뉴 목록(1517)의 확장 레이어가 펼쳐지는 형태로 구현될 수 있다. 다른 예로, 탭을 유지하는 시간과는 무관하게 검색 메뉴(1512-2)가 탭 되는 경우 메뉴 목록(1517)의 확장 레이어가 항상 반투명하게 보여지도록 구현하는 것 또한 가능하다. 검색 메뉴(1512-2)가 선택됨에 따라 펼쳐지는 메뉴 목록(1517)은 적어도 하나의 열과 행으로 구성된 배열 형태, 혹은 원이나 반원의 방사 형태 등으로 정렬되어 표시될 수 있다.When an additional function menu is allocated as the upper menu in the minimum space of the search service area 1512 and an additional function menu is selected, a menu list 1517 composed of menu buttons for each additional function can be provided through the extension layer. For example, if the simple tab is terminated within a predetermined time with respect to the search menu 1512-2, the extension layer of the menu list 1517 is not shown. However, if the tab is held longer than the predetermined time, Layers can be implemented in an expanded form. As another example, it is also possible to implement the enhancement layer of the menu list 1517 to be always translucent when the search menu 1512-2 is touched regardless of the time to hold the tab. The menu list 1517 expanded according to the selection of the search menu 1512-2 may be arranged and displayed in an array form of at least one row and a row or a radiation form of a circle or a semicircle.

도 16에 도시한 바와 같이, 메뉴 목록(1517)에는 이미지를 검색하기 위한 '이미지 검색' 메뉴(1617-1), 이모지를 검색하기 위한 '이모지 검색' 메뉴(1617-2), 움직이는 이미지(이른바, 움짤 등)를 검색하기 위한 '움짤 검색' 메뉴(1617-3), 번역 결과를 검색하기 위한 '번역 검색' 메뉴(1617-4), 최근 검색어를 검색하기 위한 '최근 검색' 메뉴(1617-5), 선물 등 쇼핑 결과를 검색하기 위한 '쇼핑 검색' 메뉴(1617-6), 사용자가 직접 그림을 그려 입력하기 위한 '이미지 에디터' 메뉴(1617-7) 등이 포함될 수 있다. 가상 키보드(1510)에서 이미지, 이모지, 움짤, 번역문 등 다양한 검색 환경을 제공할 수 있고 이를 통해 검색된 컨텐츠를 문자 입력 공간에 입력할 수 있다.As shown in FIG. 16, the menu list 1517 includes an 'image search' menu 1617-1 for searching an image, an 'image search' menu 1617-2 for searching for an image, a moving image A 'Search Search' menu 1617-3 for searching for a translation result, a 'Translation Search' menu 1617-4 for searching a translation result, a 'Recent Search' menu 1617 -5), a 'shopping search' menu 1617-6 for searching for a shopping result such as a gift, and an 'image editor' menu 1617-7 for directly inputting a picture by the user. The virtual keyboard 1510 can provide a variety of browsing environments such as images, emoji, hum, translations, etc., and the retrieved contents can be input into the character input space.

일례로, 사용자가 최근 일정 기간 동안 검색어로 이용한 키워드나 자주 이용하는 키워드를 최근 검색어로 저장하고, 이후 사용자가 가상 키보드(1510)에서 '최근 검색' 메뉴(1617-5)를 선택하는 경우 최근 검색어를 제공하여 검색을 위한 키워드로 바로 입력 가능한 환경을 제공할 수 있다. 이외에, '최근 검색' 메뉴(1617-5)와 같은 맥락에서 상용구를 검색하기 위한 '상용구 검색' 메뉴(미도시) 등을 추가할 수 있다. 예를 들어, 사용자가 자주 입력하는 상용구(예컨대, 문장, URL, 계좌번호 등)를 원하는 대로 미리 등록해 두고 이후 가상 키보드(1510)에서 '상용구 검색' 메뉴를 이용하여 원하는 상용구를 한 번의 입력으로 문자 입력 공간에 바로 입력할 수 있다. 이와 같이, '상용구 검색' 메뉴를 이용하여 저장된 상용구를 불러와 입력하는 것도 가능하나, 가상 키보드(1510) 상의 각 키에 원하는 상용구를 사전에 매핑하여 설정해 두고 상용구가 매핑된 키 중 어느 하나의 키를 특정 키 버튼과 조합해서 입력하면 해당 키의 문자 대신 매핑된 상용구를 문자 입력 공간에 바로 입력할 수 있다.For example, if a user stores a keyword used as a search term or a frequently used keyword in a recent period as a recent search term and then selects a 'recent search' menu 1617-5 on the virtual keyboard 1510, It is possible to provide an environment in which keywords can be input directly as search keywords. In addition, a 'search for a boilerplate' menu (not shown) for searching for boilerplate in the same context as the 'recent search' menu 1617-5 can be added. For example, a user may pre-register a frequently used input form (e.g., sentence, URL, account number, etc.) as desired, and then input a desired input form into a single input using the ' You can type directly into the character input space. In this way, it is also possible to input and save a saved boilerplate by using the 'search for a boilerplate' menu, but it is also possible to pre-map and set a desired boilerplate to each key on the virtual keyboard 1510, Is input in combination with a specific key button, a mapped input word can be directly input into the character input space instead of the character of the corresponding key.

다른 예로, 본 발명에서는 문자 입력 중 가상 키보드(1510)를 통해 간단한 쇼핑이 가능한 환경을 제공할 수 있다. 예를 들어, 도 17에 도시한 바와 같이 메신저의 대화 화면(1700)에서 가상 키보드(1710)를 이용하여 문자 입력 공간(1701)에 '커피'라는 텍스트를 입력하고 '쇼핑 검색' 메뉴(1617-6)를 선택한 경우 입력 문자에 대응되는 쇼핑 검색 결과(1713)를 제공할 수 있다. 이때, 쇼핑 검색 결과(1813)는 쇼핑 전체 카테고리에서 검색된 결과일 수 있고, 더 나아가 가상 키보드(1810)를 호출한 앱의 종류에 따라, 예를 들어 메신저 앱인 경우 사용자를 위한 구매보다는 다른 사람에게 선물하는 개념으로 대화 중에 간단하게 선물하기 좋은 기프트콘 등의 검색 결과로 한정될 수 있다.As another example, in the present invention, it is possible to provide a simple shopping environment through the virtual keyboard 1510 during character input. For example, as shown in FIG. 17, a text 'coffee' is input into a character input space 1701 using a virtual keyboard 1710 in a conversation screen 1700 of a messenger, and a 'shopping search' menu 1617- 6) is selected, the shopping search result 1713 corresponding to the input character can be provided. At this time, the shopping search result 1813 may be a result retrieved from the entire shopping category. Further, depending on the type of the application that called the virtual keyboard 1810, for example, in the case of the instant messenger application, The concept can be limited to search results such as gift cones that are simple to present during a conversation.

또 다른 예로, 본 발명에서는 사용자가 가상 키보드(1510)를 통해 이미지 에디터를 이용하여 직접 그린 그림을 문자 입력 공간에 바로 입력 가능한 환경을 제공할 수 있다. 다시 말해, 사용자가 가상 키보드(1510)에서 '이미지 에디터' 메뉴(1617-7)를 선택하는 경우 가상 키보드(1510) 상에 이미지 작성을 위한 다양한 툴을 제공하고 해당 툴을 이용하여 작성된 그림을 사용자의 요청에 따라 문자 입력 공간에 바로 입력할 수 있다. '이미지 에디터' 메뉴(1617-7)를 통해 제공되는 이미지 에디터는 슬라이드 창에 그림을 그리는 것은 물론, 이 외에도 사전에 저장된 이미지(사진, 동영상 등)를 불러오거나 카메라를 이용하여 이미지를 새로 찍은 후 해당 이미지 상에 그림을 그리는 등 다양한 작업이 가능하다.As another example, the present invention can provide an environment in which a user can directly input a picture drawn directly by using an image editor through a virtual keyboard 1510 into a character input space. In other words, when the user selects the 'image editor' menu 1617-7 on the virtual keyboard 1510, various tools for image creation are provided on the virtual keyboard 1510, The user can directly input the character input space into the character input space. The image editor provided through the 'Image Editor' menu (1617-7) not only draws pictures on the slide window, but also recalls pre-stored images (photos, videos, etc.) It is possible to do various work such as drawing a picture on the image.

상기한 메뉴 목록(1517)을 구성하는 하위 메뉴들은 예시적인 것으로 이러한 것으로만 한정되지 않으며, 일부 메뉴가 생략되거나 추가되는 것 또한 가능하다.The submenus constituting the menu list 1517 are illustrative and not limited thereto, and it is also possible that some menus are omitted or added.

도 6 내지 도 17을 통해 설명한 검색과 관련된 기능들은 키보드 앱에 검색 서비스를 위한 오픈 API가 탑재 또는 결합됨에 따라 가상 키보드 상에 구현될 수 있다.Functions related to the search described with reference to FIGS. 6 to 17 can be implemented on a virtual keyboard as an open API for a search service is loaded or combined in a keyboard application.

따라서, 본 발명은 키보드 앱에 검색 서비스를 위한 오픈 API가 탑재 또는 결합됨에 따라 가상 키보드를 통해 검색과 관련된 다양한 서비스와 컨텐츠를 제공할 수 있다. 가상 키보드에는 도 6 내지 도 17을 통해 설명한 적어도 하나의 검색 기능이 포함될 수 있다.Therefore, according to the present invention, an open API for a search service is loaded or coupled to a keyboard application, so that various services and contents related to search can be provided through a virtual keyboard. The virtual keyboard may include at least one search function described with reference to FIGS.

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

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

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. At this time, the medium may be a program that continuously stores a computer executable program, or temporarily stores the program for execution or downloading. Further, the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, but is not limited to a medium directly connected to any computer system, but may be dispersed on a network. Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like. As another example of the medium, a recording medium or a storage medium that is managed by a site or a server that supplies or distributes an application store or various other software is also enumerated.

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

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

Claims (20)

컴퓨터로 구현되는 검색 서비스 제공 시스템에 있어서,
상기 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
전자 기기에 설치된 키보드 어플리케이션이 실행됨에 따라 상기 키보드 어플리케이션에 검색 서비스를 위해 탑재 또는 결합된 API의 호출을 인식하는 인식부; 및
상기 API의 호출이 인식되면 상기 키보드 어플리케이션으로부터 검색 질의를 수신하여 상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 검색 결과 제공부
를 포함하고,
상기 키보드 어플리케이션은 상기 전자 기기에서 실행됨에 따라 검색 기능이 포함된 가상 키보드를 상기 전자 기기에 표시하고 상기 검색 기능에 따라 상기 검색 질의에 대응되는 검색 결과를 상기 가상 키보드를 통해 상기 전자 기기에 표시하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
A computer-implemented search service providing system,
At least one processor configured to execute instructions readable by the computer,
Lt; / RTI >
Wherein the at least one processor comprises:
A recognition unit that recognizes a call of an API loaded or coupled to the keyboard application for a search service when a keyboard application installed in the electronic device is executed; And
A search result providing unit for receiving a search query from the keyboard application and providing search results corresponding to the search query to the keyboard application,
Lt; / RTI >
The keyboard application displays a virtual keyboard including a search function on the electronic device as it is executed in the electronic device and displays a search result corresponding to the search query on the electronic device through the virtual keyboard according to the search function that
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드를 통해 입력되는 문자를 검색 질의로 하여 검색 결과를 제공하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
Providing a search result by using a character input through the virtual keyboard as a search query
The search service providing system comprising:
제1항에 있어서,
상기 검색 기능은 음성 인식 기능, 음악 검색 기능, 코드 검색 기능, 이미지 검색 기능, 텍스트 번역 기능 중 적어도 하나를 포함하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
Wherein the search function includes at least one of a voice recognition function, a music search function, a code search function, an image search function, and a text translation function
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드 상에 상기 전자 기기와 관련된 위치 정보, 시간 정보, 사용자 히스토리 중 적어도 하나에 대응되는 컨텐츠를 추천하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
Recommending contents corresponding to at least one of position information, time information, and user history related to the electronic device on the virtual keyboard
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드 상에 상기 전자 기기의 사용자에 의해 등록된 서비스의 추천 컨텐츠를 제공하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
Providing recommended content of a service registered by a user of the electronic device on the virtual keyboard
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자의 주제에 해당되는 컨텐츠를 추천하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
And recommending a content corresponding to a subject of the character on the virtual keyboard as a search result on characters input through the virtual keyboard
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자에 대한 자동 완성 단어 또는 오타 교정어를 추천하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
And recommending an autocomplete word or orthographic proofreader for the character on the virtual keyboard as a search result for the character input through the virtual keyboard
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자를 사전에 설정된 언어로 번역한 결과를 추천하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
And recommending a result obtained by translating the character into a predetermined language on the virtual keyboard as a search result on characters input through the virtual keyboard
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 전자 기기와 관련된 사용자 히스토리를 기반으로 상기 전자 기기의 사용자에 의해 자주 사용되는 문맥을 추천하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
Recommending a context frequently used by a user of the electronic device based on a user history related to the electronic device on the virtual keyboard as a search result for characters input through the virtual keyboard
The search service providing system comprising:
제1항에 있어서,
상기 검색 결과 제공부는,
상기 가상 키보드를 통해 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자에 대응되는 이모지 또는 기프트콘을 추천하는 것
을 특징으로 하는 검색 서비스 제공 시스템.
The method according to claim 1,
The search result providing unit,
Recommending an emotion or gift cone corresponding to the character on the virtual keyboard as a search result for a character input through the virtual keyboard
The search service providing system comprising:
컴퓨터로 구현되는 검색 서비스 제공 방법에 있어서,
전자 기기에 설치된 키보드 어플리케이션이 실행됨에 따라 상기 키보드 어플리케이션에 검색 서비스를 위해 탑재 또는 결합된 API의 호출을 인식하는 단계; 및
상기 API의 호출이 인식되면 상기 키보드 어플리케이션으로부터 검색 질의를 수신하여 상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계
를 포함하고,
상기 키보드 어플리케이션은 상기 전자 기기에서 실행됨에 따라 검색 기능이 포함된 가상 키보드를 상기 전자 기기에 표시하고 상기 검색 기능에 따라 상기 검색 질의에 대응되는 검색 결과를 상기 가상 키보드를 통해 상기 전자 기기에 표시하는 것
을 특징으로 하는 검색 서비스 제공 방법.
A computer-implemented search service providing method,
Recognizing a call to an API loaded or coupled to the keyboard application for a search service as the keyboard application installed in the electronic device is executed; And
Receiving a search query from the keyboard application when a call to the API is recognized and providing a search result corresponding to the search query to the keyboard application
Lt; / RTI >
The keyboard application displays a virtual keyboard including a search function on the electronic device as it is executed in the electronic device and displays a search result corresponding to the search query on the electronic device through the virtual keyboard according to the search function that
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드로 입력되는 문자를 검색 질의로 수신하여 상기 문자에 대응되는 검색 결과를 제공하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
Receiving a character input through the virtual keyboard in a search query and providing a search result corresponding to the character
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드 상에 상기 전자 기기와 관련된 위치 정보, 시간 정보, 사용자 히스토리 중 적어도 하나에 대응되는 컨텐츠를 추천하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
Recommending contents corresponding to at least one of position information, time information, and user history related to the electronic device on the virtual keyboard
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드 상에 상기 전자 기기의 사용자에 의해 등록된 서비스의 추천 컨텐츠를 제공하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
Providing recommended content of a service registered by a user of the electronic device on the virtual keyboard
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드로 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자의 주제에 해당되는 컨텐츠를 추천하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
And recommending a content corresponding to a subject of the character on the virtual keyboard as a search result on characters input to the virtual keyboard
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드로 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자에 대한 자동 완성 단어 또는 오타 교정어를 추천하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
And recommending an autocomplete word or orthographic proofreader for the character on the virtual keyboard as a search result for characters input to the virtual keyboard
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드로 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자를 사전에 설정된 언어로 번역한 결과를 추천하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
And recommending a result of translating the character into a predetermined language on the virtual keyboard as a result of searching for characters input by the virtual keyboard
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드로 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 전자 기기와 관련된 사용자 히스토리를 기반으로 상기 전자 기기의 사용자에 의해 자주 사용되는 문맥을 추천하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
Recommending a context frequently used by a user of the electronic device based on a user history associated with the electronic device on the virtual keyboard as a search result for characters input to the virtual keyboard
The search service providing method comprising:
제11항에 있어서,
상기 검색 질의에 대응되는 검색 결과를 상기 키보드 어플리케이션으로 제공하는 단계는,
상기 가상 키보드로 입력되는 문자에 대한 검색 결과로서 상기 가상 키보드 상에 상기 문자에 대응되는 이모지 또는 기프트콘을 추천하는 것
을 특징으로 하는 검색 서비스 제공 방법.
12. The method of claim 11,
Wherein the step of providing a search result corresponding to the search query to the keyboard application comprises:
And recommending an emotion or gift cone corresponding to the character on the virtual keyboard as a search result for characters input to the virtual keyboard
The search service providing method comprising:
제11항 내지 제19항 중 어느 한 항의 검색 서비스 제공 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium for executing the search service providing method according to any one of claims 11 to 19.
KR1020170011813A 2017-01-25 2017-01-25 System and method for providing search service KR20180087608A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170011813A KR20180087608A (en) 2017-01-25 2017-01-25 System and method for providing search service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170011813A KR20180087608A (en) 2017-01-25 2017-01-25 System and method for providing search service

Publications (1)

Publication Number Publication Date
KR20180087608A true KR20180087608A (en) 2018-08-02

Family

ID=63251434

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170011813A KR20180087608A (en) 2017-01-25 2017-01-25 System and method for providing search service

Country Status (1)

Country Link
KR (1) KR20180087608A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102081692B1 (en) * 2018-11-13 2020-04-27 주식회사 아게르냐 Touch screen keyboard system that provides farmers and fishermen information according to the language
KR20200100027A (en) * 2018-08-31 2020-08-25 엔에이치엔 주식회사 Method and device for text-based image retrieval
WO2022019715A1 (en) * 2020-07-23 2022-01-27 삼성전자 주식회사 Method and apparatus for providing content search using keypad in electronic device
WO2023018086A1 (en) * 2021-08-10 2023-02-16 삼성전자 주식회사 Electronic device and method for synchronizing autocomplete text on external device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200100027A (en) * 2018-08-31 2020-08-25 엔에이치엔 주식회사 Method and device for text-based image retrieval
KR102081692B1 (en) * 2018-11-13 2020-04-27 주식회사 아게르냐 Touch screen keyboard system that provides farmers and fishermen information according to the language
WO2022019715A1 (en) * 2020-07-23 2022-01-27 삼성전자 주식회사 Method and apparatus for providing content search using keypad in electronic device
US11782596B2 (en) 2020-07-23 2023-10-10 Samsung Electronics Co., Ltd. Apparatus and method for providing content search using keypad in electronic device
WO2023018086A1 (en) * 2021-08-10 2023-02-16 삼성전자 주식회사 Electronic device and method for synchronizing autocomplete text on external device

Similar Documents

Publication Publication Date Title
KR102378513B1 (en) Message Service Providing Device and Method Providing Content thereof
US10733360B2 (en) Simulated hyperlinks on a mobile device
KR101882293B1 (en) Integrated keyboard for character input and content recommendation
CN108432190B (en) Response message recommendation method and equipment thereof
CN110785756B (en) Method and apparatus for data content filtering
KR102030784B1 (en) Application integration with a digital assistant
CN109857327B (en) Information processing apparatus, information processing method, and storage medium
CN106612372B (en) Message providing method and device and display control method and device
CN107111516B (en) Headless task completion in a digital personal assistant
KR102447503B1 (en) Message Service Providing Device and Method Providing Content thereof
CN110276007B (en) Apparatus and method for providing information
CN107368508B (en) Keyword search method and system using communication tool service
KR102039553B1 (en) Method and apparatus for providing intelligent service using inputted character in a user device
US9335965B2 (en) System and method for excerpt creation by designating a text segment using speech
JP2020042826A (en) Incorporating selectable application link to conversation with personal assistant module
KR20180087608A (en) System and method for providing search service
KR20160016530A (en) Device and method for performing functions
KR20160016491A (en) Device and method for performing functions
US11425071B2 (en) Uniform resource identifier and image sharing for contextual information display
JP6378263B2 (en) Translation method using image, user terminal, server, system, and computer program
KR101982771B1 (en) Integrated keyboard for character input and content recommendation
KR102131404B1 (en) Method and apparatus of providing message, Method and apparatus of controlling display and computer program for executing one of the method
KR101844872B1 (en) Method and apparatus of providing message, Method and apparatus of controlling display and computer program for executing one of the method
KR20210052912A (en) Method and apparatus for recommending app function shortcuts through app usage pattern and conversation analysis
JP6340444B2 (en) Query delete interaction

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal