KR102184962B1 - Voice input processing system and method thereof - Google Patents
Voice input processing system and method thereof Download PDFInfo
- Publication number
- KR102184962B1 KR102184962B1 KR1020180059186A KR20180059186A KR102184962B1 KR 102184962 B1 KR102184962 B1 KR 102184962B1 KR 1020180059186 A KR1020180059186 A KR 1020180059186A KR 20180059186 A KR20180059186 A KR 20180059186A KR 102184962 B1 KR102184962 B1 KR 102184962B1
- Authority
- KR
- South Korea
- Prior art keywords
- keyword
- field
- reserved word
- voice input
- association
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 133
- 238000012545 processing Methods 0.000 title claims abstract description 37
- 238000004891 communication Methods 0.000 claims description 44
- 239000000284 extract Substances 0.000 claims description 37
- 238000003672 processing method Methods 0.000 claims description 14
- 230000000875 corresponding effect Effects 0.000 description 102
- 238000003860 storage Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 230000007717 exclusion Effects 0.000 description 6
- 230000002996 emotional effect Effects 0.000 description 5
- 230000004308 accommodation Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 230000029058 respiratory gaseous exchange Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 235000005135 Micromeria juliana Nutrition 0.000 description 2
- 241000246354 Satureja Species 0.000 description 2
- 235000007315 Satureja hortensis Nutrition 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 210000004185 liver Anatomy 0.000 description 2
- 235000012149 noodles Nutrition 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 241000283707 Capra Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000013405 beer Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 235000013410 fast food Nutrition 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000002304 perfume Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 235000013547 stew Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/638—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 음성 입력 처리 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자로부터 음성으로 입력받은 문장 또는 구문을 텍스트로 변환한 후 변환된 텍스트에서 키토크를 검색하고 검색된 키토크의 분야와 관련된 정보를 제공하는 음성 입력 처리 시스템 및 그 방법에 관한 것이다.The present invention relates to a speech input processing system and method thereof, and more particularly, information related to the field of the searched keytalk after converting a sentence or phrase received by a user into text, searching for a keytalk in the converted text, and It relates to a voice input processing system and method for providing a.
Description
본 발명은 음성 입력 처리 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자로부터 음성으로 입력받은 문장 또는 구문을 텍스트로 변환한 후 변환된 텍스트에서 키토크를 검색하고 검색된 키토크의 분야와 관련된 정보를 제공하는 음성 입력 처리 시스템 및 그 방법에 관한 것이다.The present invention relates to a speech input processing system and method thereof, and more particularly, information related to the field of the searched keytalk after converting a sentence or phrase received by a user into text, searching for a keytalk in the converted text, and It relates to a voice input processing system and method for providing a.
종래의 검색 방식에 따르면, 사용자는 검색 창에 검색 키워드를 입력하여 원하는 웹 문서 등을 검색하여 찾을 수 있다. 예를 들어 사용자는 영화 제목 "인터스텔라"를 검색창에 입력하여 영화 "인터스텔라"에 관한 정보를 검색할 수 있다. 다만 사용자가 자신이 찾으려는 영화 제목을 기억하지 못할 경우 다른 방식의 정보 제공이 요구된다. 사용자는 예를 들어 자신이 찾으려는 영화에 출연한 배우나 해당 영화의 감독, 제작자 등을 키워드로 입력하여 검색을 시도할 수 있다. 영화 정보 사이트나 영화 리뷰 사이트에는 영화 정보와 함께 출연진 정보도 제공되는 경우가 많으므로, 운이 나쁘지 않다면 사용자는 배우, 감독, 제작자 등을 키워드로 하여 원하는 영화를 찾을 수도 있을 것이다. According to a conventional search method, a user can search and find a desired web document by entering a search keyword in a search window. For example, the user may search for information on the movie "Interstellar" by entering the movie title "Interstellar" in a search box. However, if the user cannot remember the title of the movie he is looking for, another method of providing information is required. For example, a user may try to search by entering an actor who appeared in a movie he is looking for, a director, or a producer of the movie as a keyword. Movie information sites and movie review sites often provide information on cast members as well as movie information, so if you are not lucky, users may be able to find a movie you want with keywords such as actors, directors, and producers.
그런데 더 나아가, 이와 같이 정형화된 정보가 아닌 비정형적 언어, 예를 들어 감정 언어에 기반한 정보 제공이라면 종래의 검색 방식을 사용할 수 없다. 예를 들어 "재미있는 영화" 또는 "슬플 때 보는 영화" 등의 검색어에 대해서 종래 검색엔진들이 제공하는 응답은 누군가가 "재미있는 영화" 또는 "슬플 때 보는 영화"라는 키워드를 포함하여 작성해 둔 문서를 검색하는 것에 불과할 것이다. 하지만 비정형적 언어는 출연 배우, (정형화된) 영화 장르, 개봉 년도 등 정형화된 정보와는 다른 방식의 접근이 필요하다. 누군가가 "재미있는 영화" 또는 "슬플 때 보는 영화"라는 키워드를 포함하여 작성해 두지 않았더라도, 실제로 많은 사람들이 "재미있다"거나 "슬플 때 보면 좋다"고 느낄 수 있는 영화들이 있을 수 있다. 더 나아가 영화 외의 다른 분야에 대해서도, 정형화되지 않은 언어를 이용한 정보 제공 요청에 대해서 다른 접근이 필요할 수 있다.However, furthermore, if information is provided based on informal language, for example, emotional language, rather than formal information, the conventional search method cannot be used. For example, the response from conventional search engines to search terms such as "Fun movies" or "Movies you watch when you are sad" is a search for documents written by someone including the keywords "Fun Movies" or "Movies you watch when you are sad" It will be nothing more than doing. However, atypical language requires a different approach from standardized information such as actors, (standardized) movie genre, and release year. Even if someone doesn't include the keywords "fun movies" or "movies to watch when you're sad," there are actually movies that many people find "fun" or "nice to watch when you're sad." Furthermore, for other fields other than movies, a different approach may be needed to requests for information in a non-standard language.
예를 들어 사용자가"분위기 있고 조용한"이라고 검색어를 입력한 경우, 사용자는 "분위기 있고 조용한" 맛집을 원할수도 있고, "분위기 있고 조용한" 숙박시설을 원할수도 있으므로 정형화되지 않은 언어를 이용한 정보 제공 요청에 대하여 분야별로 정보가 정리되어 제공될 필요가 있다.For example, if the user enters the search term "atmosphere and quiet", the user may want a restaurant that is "atmosphere and quiet", or may want accommodations that are "atmosphere and quiet", requesting information in unstructured language. It is necessary to provide information organized by field.
또한 일단 분야가 결정되어 사용자가 그 분야에서 새롭게 검색하거나 기존의 검색어와 결합하여 그 분야에 대해 검색하고자 하는 경우, 사용자로부터 새로운 검색어를 입력받아 해당 분야에 대해서 검색을 수행하거나 기존의 검색어와 결합하여 해당 분야에 대해서 검색을 수행하여 그 결과가 사용자에게 제공될 필요가 있다. In addition, once a field is determined and the user searches for a new field in that field or combines with an existing search word to search for the field, a new search word is input from the user and the search is performed for the field or combined with an existing search word. It is necessary to perform a search on the field and provide the results to the user.
본 발명은 사용자로부터 음성으로 입력받은 문장 또는 구문을 텍스트로 변환한 후 변환된 텍스트에서 키토크를 검색하고 검색된 키토크의 분야와 관련된 정보를 제공하는 방법 및 장치를 제공하기 위한 것이다.The present invention is to provide a method and apparatus for converting a sentence or phrase inputted by a user into text, searching for a keytalk in the converted text, and providing information related to the field of the searched keytalk.
본 발명의 일 실시예에 따른 음성 입력 처리 시스템은 음성 입력 처리 장치, 및 통신망을 통해 상기 음성 입력 처리 장치와 연결된 제2 제어부를 구비한 정보 제공 장치로 구성된 음성 입력 시스템으로서, 상기 음성 입력 처리 장치는, 음성 입력을 수신하기 위한 통합 음성 입력 버튼을 표시하는 표시부; 상기 통합 음성 입력 버튼이 선택되면 사용자로부터 상기 음성 입력을 수신하는 입력부; 및 상기 입력부로부터 입력된 음성을 텍스트로 변환하고 상기 변환된 텍스트로부터 키토크 및 분야 관련 단어를 추출하고, 상기 키토크와 관련된 정보를 상기 정보 제공 장치에 요청하는 제1 제어부;를 포함하며, 상기 정보 제공 장치의 제2 제어부는 각 분야에 대하여 기본 키토크와 대표 속성 키워드 간의 연관도인 예약어-키워드 연관도, 및 객체 항목과 대표 속성 키워드 간의 연관도인 객체-키워드 연관도를 산출하고, 상기 산출된 연관도를 이용하여 키토크와 각 객체 항목 쌍에 대응하는 예약어-객체 연관도를 획득하며, 분야별로 획득된 예약어-객체 연관도에 따라 예약어-객체 연관도가 높은 순서대로 객체 항목을 상기 음성 입력 처리 장치에 제공한다.A voice input processing system according to an embodiment of the present invention comprises a voice input processing device and an information providing device having a second control unit connected to the voice input processing device through a communication network, wherein the voice input processing device A display unit for displaying an integrated voice input button for receiving a voice input; An input unit configured to receive the voice input from a user when the integrated voice input button is selected; And a first control unit for converting the voice input from the input unit into text, extracting keytalk and field-related words from the converted text, and requesting information related to the keytalk to the information providing device, wherein the The second control unit of the information providing device calculates a reserved word-keyword association, which is a degree of association between a basic keytalk and a representative attribute keyword, and an object-keyword association, which is a degree of association between an object item and a representative attribute keyword. Using the calculated correlation, the keytalk and the reserved word-object correlation corresponding to each object item pair are obtained, and the object items are recalled in the order of the highest reserved word-object correlation according to the reserved word-object correlation obtained for each field. Provided to a voice input processing device.
상기 키토크는 분야별로 설정된다.The key torque is set for each field.
상기 키토크와 관련된 정보는 상기 분야와 상기 분야에 해당하는 정보에 대한 전체보기버튼과 함께 표시된다.The information related to the keytalk is displayed together with a view button for the field and information corresponding to the field.
상기 분야를 선택하거나 상기 전체보기버튼을 선택하면 상기 분야의 모든 정보와 재검색 버튼 및 추가 입력 검색 버튼이 추가로 표시된다.When the field is selected or the view all button is selected, all information of the field, a re-search button, and an additional input search button are additionally displayed.
상기 입력부는 상기 재검색 버튼 또는 상기 추가 입력 검색 버튼이 선택되면 상기 사용자로부터 음성 입력을 수신한다.The input unit receives a voice input from the user when the re-search button or the additional input search button is selected.
상기 재검색 버튼이 선택되면 상기 제어부는 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 키토크를 추출한다.When the re-search button is selected, the control unit converts the input voice into text and extracts key talk from the text.
상기 제어부는 상기 분야에서 상기 키토크와 관련된 정보를 상기 정보 제공 장치에 요청한다.The control unit requests the information providing device for information related to the key talk in the field.
상기 추가 입력 검색 버튼이 선택되면 상기 제어부는 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 추가 키토크를 추출한다.When the additional input search button is selected, the control unit converts the input voice into text and extracts an additional keytalk from the text.
상기 제어부는 상기 분야에서 상기 키토크 및 상기 추가 키토크와 관련된 정보를 상기 정보 제공 장치에 요청한다.The control unit requests information related to the keytalk and the additional keytalk from the information providing device in the field.
본 발명의 일 실시예에 따른 음성 입력 처리 방법은 음성 입력 처리 장치, 및 통신망을 통해 상기 음성 입력 처리 장치와 연결된 제2 제어부를 구비한 정보 제공 장치로 구성된 음성 입력 시스템에 의한 음성 입력 처리 방법으로서, 음성 입력을 수신하기 위한 통합 입력 버튼을 표시하며; 상기 통합 입력 버튼이 선택되면 사용자로부터 상기 음성 입력을 수신하며; 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 키토크 및 분야 관련 단어를 추출하고 상기 키토크와 관련된 정보를 정보 제공 장치에 요청하며; 상기 정보 제공 장치의 제2 제어부에 의해, 각 분야별로 기본 키토크와 대표 속성 키워드 간의 연관도인 예약어-키워드 연관도, 및 객체 항목과 대표 속성 키워드 간의 연관도인 객체-키워드 연관도를 산출하며; 상기 산출된 연관도를 이용하여 키토크와 각 객체 항목 쌍에 대응하는 예약어-객체 연관도를 획득하며; 상기 음성 입력 처리 장치에 분야별로 획득된 예약어-객체 연관도에 따라 예약어-객체 연관도가 높은 순서대로 객체 항목을 제공한다.A voice input processing method according to an embodiment of the present invention is a voice input processing method by a voice input system comprising a voice input processing device and an information providing device having a second control unit connected to the voice input processing device through a communication network. , Displaying an integrated input button for receiving a voice input; Receiving the voice input from a user when the integrated input button is selected; Converting the input voice into text, extracting keytalk and field-related words from the text, and requesting information related to the keytalk from an information providing device; A second control unit of the information providing device calculates a reserved word-keyword association, which is a degree of association between a basic keytalk and a representative attribute keyword, and an object-keyword association, which is a degree of association between an object item and a representative attribute keyword, ; Obtaining a keytalk and a reserved word-object correlation corresponding to each object item pair by using the calculated correlation; Object items are provided to the voice input processing device in the order of the reserved word-object correlation according to the reserved word-object correlation obtained for each field.
상기 키토크는 분야별로 설정된다.The key torque is set for each field.
상기 키토크와 관련된 정보는 상기 분야와 상기 분야에 해당하는 정보에 대한 전체보기버튼과 함께 표시된다.The information related to the keytalk is displayed together with a view button for the field and information corresponding to the field.
상기 분야를 선택하거나 상기 전체보기버튼을 선택하면 상기 분야의 모든 정보와 재검색 버튼 및 추가 입력 검색 버튼이 추가로 표시된다.When the field is selected or the view all button is selected, all information of the field, a re-search button, and an additional input search button are additionally displayed.
상기 재검색 버튼 또는 상기 추가 입력 검색 버튼이 선택되면 상기 사용자로부터 음성 입력을 수신한다.When the re-search button or the additional input search button is selected, a voice input is received from the user.
상기 재검색 버튼이 선택되면 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 키토크를 추출한다.When the re-search button is selected, the input voice is converted into text and keytalk is extracted from the text.
상기 분야에서 상기 키토크와 관련된 정보를 상기 정보 제공 장치에 요청한다.In this field, information related to the keytalk is requested from the information providing device.
상기 추가 입력 검색 버튼이 선택되면 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 추가 키토크를 추출한다.When the additional input search button is selected, the input voice is converted into text, and additional keytalk is extracted from the text.
상기 분야에서 상기 키토크 및 상기 추가 키토크와 관련된 정보를 상기 정보 제공 장치에 요청한다.In the above field, information related to the keytalk and the additional keytalk is requested from the information providing device.
본 발명의 일 실시예에 따른 음성 입력 처리 시스템 및 그 방법은 사용자로부터 수신한 음성에서 키토크를 추출하고, 추출된 키토크를 이용하여 검색을 수행하고 그 결과를 분야별로 제공할 수 있다.The voice input processing system and method according to an embodiment of the present invention may extract a keytalk from a voice received from a user, perform a search using the extracted keytalk, and provide the result for each field.
본 발명의 일 실시예에 따른 음성 입력 처리 시스템 및 그 방법은 사용자가 분야를 선택하고 사용자로부터 새로운 음성을 수신하고 수신한 음성에서 키토크를 추출한 후 사용자가 선택한 분야에서 추출된 키토크를 이용하여 새로운 검색을 수행하고 그 결과를 제공할 수 있다.The voice input processing system and method according to an embodiment of the present invention include a user selecting a field, receiving a new voice from the user, extracting key talk from the received voice, and then using the key talk extracted from the field selected by the user. You can perform a new search and provide the results.
본 발명의 일 실시예에 따른 음성 입력 처리 시스템 및 그 방법은 사용자가 분야를 선택하고 사용자로부터 새로운 음성을 수신하고 수신한 음성에서 키토크를 추출한 후 사용자가 선택한 분야에서 기존의 키토크와 추출된 키토크를 이용하여 새로운 검색을 수행하고 그 결과를 제공할 수 있다.In the voice input processing system and method according to an embodiment of the present invention, a user selects a field, receives a new voice from the user, extracts a key talk from the received voice, and then extracts an existing key talk from the field selected by the user. You can use keytalk to perform a new search and provide the results.
도 1은 본 명세서의 일 실시 예에 따르는 속성 언어를 이용한 정보 제공 시스템의 망 구성도이다.
도 2는 본 명세서의 일 실시 예에 따르는 단말의 블록구성도이다.
도 3은 본 명세서의 일 실시 예에 따르는 정보 제공 장치의 블록구성도이다.
도 4는 본 명세서의 일 실시 예에 따르는 정보 제공 인터페이스를 통한 정보 제공 과정의 순서도이다.
도 5는 본 명세서의 일 실시 예에 따르는 단계 910의 상세순서도이다.
도 6은 본 명세서의 일 실시 예에 따르는 단계 510의 상세 순서도이다.
도 7은 본 명세서의 일 실시 예에 따르는 단계 530의 상세 순서도이다.
도 8은 본 명세서의 다른 실시 예에 따르는 정보 제공 과정의 순서도이다.
도 9는 본 명세서의 일 실시 예에 따르는 정보 제공 과정의 순서도이다.
도 10은 본 명세서의 일 실시 예에 따르는 저장된 객체-키워드 연관도의 예시이다.
도 11은 본 명세서의 일 실시 예에 따르는 기본 예약어-키워드 연관도의 예시이다.
도 12는 본 명세서의 일 실시 예에 따르는 단계 940의 상세 순서도이다.
도 13은 본 명세서의 다른 실시 예에 따르는 정보 제공 과정의 순서도이다.
도 14는 본 명세서의 또 다른 실시 예에 따르는 정보 제공 과정의 순서도이다.
도 15는 본 명세서의 제1 실시 예에 따르는 단계 1340의 상세 순서도이다.
도 16은 본 명세서의 다른 실시 예에 따르는 단계 1340의 상세 순서도이다.
도 17은 본 명세서의 또 다른 실시 예에 따르는 단계 1340의 상세 순서도이다.
도 18은 본 명세서의 변형 예에 따르는 단계 1320의 상세 순서도이다.
도 19는 단계 1840에서 제공되는 인터페이스 정보에 따라 생성된 인터페이스(1900)의 예시이다.
도 20은 본 명세서의 일 실시 예에 따르는 용어 계층을 나타낸 도면이다.
도 21은 본 발명의 일 실시예에 따른 가상 입력 인터페이스 프로그램 설치 과정의 순서도이다.
도 22는 본 발명의 일 실시예에 따른 음성 입력 처리 방법을 수행하는 패키지의 인터페이스 페이지를 나타내는 도면이다.
도 23은 도 22의 통합 음성 입력 버튼을 선택하고 음성을 입력한 결과를 표시하는 인터페이스 페이지를 나타내는 도면이다.
도 24는 도 23의 결과표시부에서 전체표시버튼이 선택된 경우 표시되는 인터페이스 페이지를 나타내는 도면이다.
도 25는 본 발명의 일 실시예에 따른 음성 입력 처리 방법을 나타내는 순서도이다.1 is a network configuration diagram of an information providing system using an attribute language according to an embodiment of the present specification.
2 is a block diagram of a terminal according to an embodiment of the present specification.
3 is a block diagram of an information providing apparatus according to an embodiment of the present specification.
4 is a flowchart of a process of providing information through an information providing interface according to an embodiment of the present specification.
5 is a detailed flowchart of
6 is a detailed flowchart of
7 is a detailed flowchart of
8 is a flowchart of a process of providing information according to another embodiment of the present specification.
9 is a flowchart of a process of providing information according to an embodiment of the present specification.
10 is an example of a stored object-keyword association diagram according to an embodiment of the present specification.
11 is an example of a basic reserved word-keyword association diagram according to an embodiment of the present specification.
12 is a detailed flowchart of
13 is a flowchart of a process of providing information according to another embodiment of the present specification.
14 is a flowchart of a process of providing information according to another embodiment of the present specification.
15 is a detailed flowchart of
16 is a detailed flowchart of
17 is a detailed flowchart of
18 is a detailed flowchart of
19 is an example of an
20 is a diagram illustrating a term hierarchy according to an embodiment of the present specification.
21 is a flowchart of a process of installing a virtual input interface program according to an embodiment of the present invention.
22 is a diagram illustrating an interface page of a package that performs a voice input processing method according to an embodiment of the present invention.
FIG. 23 is a diagram illustrating an interface page displaying a result of selecting the integrated voice input button of FIG. 22 and inputting voice.
24 is a diagram illustrating an interface page displayed when an all display button is selected in the result display unit of FIG. 23.
25 is a flowchart illustrating a method of processing a voice input according to an embodiment of the present invention.
이하, 본 명세서의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present specification will be described in detail with reference to the accompanying drawings.
실시 예를 설명함에 있어서 본 명세서가 속하는 기술 분야에 익히 알려져 있고 본 명세서와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 명세서의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present specification pertains and are not directly related to the present specification will be omitted. This is to more clearly convey the gist of the present specification by omitting unnecessary description.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components in the accompanying drawings are exaggerated, omitted, or schematically illustrated. In addition, the size of each component does not fully reflect the actual size. The same reference numerals are assigned to the same or corresponding components in each drawing.
이하, 도면들을 참고하여 본 명세서의 실시 예들에 대해 설명하도록 한다.Hereinafter, embodiments of the present specification will be described with reference to the drawings.
본 명세서의 일부 실시 예에 따르면 예약어는 다른 키워드들과의 연관도 정보를 통해 표현, 정의되거나 그 특성, 활용방식, 성질 등이 표현, 정의될 수 있는 문자열을 의미할 수 있다. 하지만 다른 방식, 예를 들어 관리자의 수동 입력에 따라 정의/표현되는 예약어가 본 발명에 적용되는 것도 가능하다. 연관도 정보의 상세한 구성은 후술한다. 예약어는 토크(talk)의 키(key)가 된다는 의미에서 키토크(keytalk)TM라고 지칭될 수도 있다.According to some embodiments of the present specification, a reserved word may mean a character string that may be expressed or defined through information on a degree of association with other keywords, or its characteristics, usage methods, and properties may be expressed and defined. However, other methods, for example, reserved words defined/expressed according to manual input by an administrator may be applied to the present invention. The detailed configuration of the correlation information will be described later. The reserved word may also be referred to as a keytalk TM in the sense that it becomes a key of talk.
도 1은 본 명세서의 일 실시 예에 따르는 속성 언어를 이용한 정보 제공 시스템의 망 구성도이다.1 is a network configuration diagram of an information providing system using an attribute language according to an embodiment of the present specification.
도 1을 참조하면, 본 명세서의 일 실시 예에 따르는 정보 제공 시스템은 단말(200), 정보 제공 장치(300) 및 통신망(150)을 포함할 수 있다.Referring to FIG. 1, an information providing system according to an embodiment of the present specification may include a terminal 200, an
단말(200)은 예를 들어 스마트폰, PDA, 태블릿 PC, 노트북 컴퓨터, 랩탑 컴퓨터, 개인용 컴퓨터 기타 통신을 수행하고 사용자의 입력을 수신하고 화면을 출력할 수 있는 전자적 기기 또는 이와 유사한 기기로써 구현될 수 있다.The terminal 200 may be implemented as an electronic device or similar device capable of performing communication, receiving user input, and outputting a screen, for example, a smart phone, PDA, tablet PC, notebook computer, laptop computer, personal computer, etc. I can.
정보 제공 장치(300)는 예를 들어 워크스테이션, 서버, 일반용 컴퓨터, 기타 통신을 수행할 수 있는 전자적 기기 또는 이와 유사한 기기로써 구현될 수 있다.The
단말(200)과 정보 제공 장치(300)는 통신망(150)을 통해 연결되며 통신망(150)을 통해 서로 통신한다.The terminal 200 and the
통신망(150)은 예를 들어 LTE(Long Term Evolution), LTE-A(LTE-Advanced), WI-FI, LAN(Local Area Network), WAN(Wide Area Network), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications) 기타 과거, 현재에 개발되었거나 향후 사용 가능하게 되는 통신 방식 중 적어도 일부를 이용하여 구현될 수 있다. 이하에서는 편의를 위해 통신망(150)을 언급하지 않고 단말(200)과 정보 제공 장치(300)가 직접 통신하는 것처럼 설명한다.The
단말(200)과 정보 제공 장치(300)의 구체적인 동작 및 구성에 대해서는 도 2 내지 도 8을 참조하여 후술한다.Detailed operations and configurations of the terminal 200 and the
도 2는 본 명세서의 일 실시 예에 따르는 단말(200)의 블록구성도이다.2 is a block diagram of a terminal 200 according to an embodiment of the present specification.
도 2를 참조하면 본 명세서의 일 실시 예에 따르는 단말(200)은 입력부(210), 표시부(220), 통신부(230), 저장부(240) 및 제어부(250)를 포함할 수 있다. Referring to FIG. 2, a terminal 200 according to an exemplary embodiment of the present specification may include an
입력부(210)는 사용자의 입력 동작을 입력 신호로 변환하여 제어부(250)에게 송신한다. 입력부(210)는 예를 들어 키보드, 마우스, 터치스크린 상의 터치센서, 터치패드, 키패드, 음성 입력, 기타 현재, 과거에 가능하거나 미래에 가능해질 입력 처리 장치들로써 구현될 수 있다. 입력부(210)는 예를 들어 사용자의 정보 제공 요청 입력을 수신하여 제어부(250)에게 전달할 수 있다.The
표시부(220)는 제어부(250)의 제어에 따라 화면을 출력한다. 표시부(220)는 예를 들어 LCD(액정표시장치), LED(발광 다이오드), OLED(유기 발광 다이오드), 프로젝터, 기타 현재, 과거에 가능하거나 미래에 가능해질 표시 장치들로써 구현될 수 있다. 표시부(220)는 예를 들어 정보 제공을 위한 인터페이스 페이지나 정보 제공 결과 페이지를 표시할 수 있다. 실시 예에 따라서는 화면 출력 대신 음성 출력이나 진동 등 기타 사용자에게 정보를 전달할 수 있는 다른 방식을 사용하는 구성부가 표시부(220) 대신 사용될 수도 있다.The
통신부(230)는 정보 제공 장치(300) 및/또는 기타 외부 장치와 데이터를 주고받는다. 통신부(230)는 정보 제공 장치(300)로부터 수신한 데이터를 제어부(250)에게 전달한다. 또한 통신부(230)는 제어부(250)의 제어에 따라 데이터를 정보 제공 장치(300)에게 전달한다. 통신부(230)가 사용하는 통신 기술은 통신망(150)의 유형이나 기타 사정에 따라 달라질 수 있다.The
저장부(240)는 제어부(250)의 제어에 따라 데이터를 저장하고 요청된 데이터를 제어부(250)에게 전달한다.The
제어부(250)는 단말(200)의 전반적인 동작과 각 구성부를 제어한다. 제어부(250)는 특히 후술하는 바와 같이 입력부(210)로부터 입력된 정보에 따라 정보 제공 요청, 기타 데이터를 정보 제공 장치(300)에게 송신하고, 정보 제공 장치(300)로부터 수신한 페이지 정보에 따라 결과 페이지 및/또는 인터페이스 페이지를 표시부(220)를 통해 표시한다.The
제어부(250)가 수행하는 동작은 물리적으로 분리돼 있는 여러 연산 장치에 의하여 분산 처리될 수 있다. 제어부(250)가 수행하는 동작 중 일부는 제1 서버가 수행하고 다른 동작은 제2 서버가 수행하는 방식도 가능하다. 이 경우 제어부(250)는 물리적으로 분리돼 있는 연산 장치의 총합으로써 구현될 수 있다.The operation performed by the
저장부(240)는 물리적으로 분리돼 있는 저장장치의 총합으로 구현될 수도 있다.The
제어부(250)나 저장부(240)가 물리적으로 분리돼 있는 여러 장치의 총합으로 구현되는 경우 여러 장치들 사이의 통신이 필요할 수 있다. 여기서는 설명의 단순화를 위하여 저장부(240)나 제어부(250)가 하나의 객체로 구현된 경우를 가정하여 설명할 것이다.When the
단말(200)이 데이터를 송수신하는 경우 관점에 따라 제어부(250)의 제어에 따라 통신부(230)가 데이터를 송수신한다고 표현할 수도 있고, 제어부(250)가 통신부(230)를 제어하여 데이터를 송수신한다고 표현할 수도 있다. When the terminal 200 transmits and receives data, it may be expressed that the
단말(200)의 각 구성부의 구체적인 동작에 대해서는 도 4 내지 도 8을 참조하여 후술한다.Detailed operations of each component of the terminal 200 will be described later with reference to FIGS. 4 to 8.
도 3은 본 명세서의 일 실시 예에 따르는 정보 제공 장치(300)의 블록구성도이다.3 is a block diagram of an
도 3을 참조하면 본 명세서의 일 실시 예에 따르는 정보 제공 장치(300)는 통신부(310), 제어부(320) 및 저장부(330)를 포함할 수 있다.Referring to FIG. 3, the
통신부(310)는 단말(200) 및/또는 기타 외부 장치와 데이터를 주고받는다. 통신부(310)는 단말(200)로부터 수신한 데이터를 제어부(320)에게 전달한다. 또한 통신부(310)는 제어부(320)의 제어에 따라 데이터를 단말(200)에게 전달한다. 통신부(310)가 사용하는 통신 기술은 통신망(150)의 유형이나 기타 사정에 따라 달라질 수 있다.The
저장부(330)는 제어부(320)의 제어에 따라 데이터를 저장하고 제어부(320)로부터 요청된 데이터를 제어부(320)에게 전달한다.The
제어부(320)는 정보 제공 장치(300)의 전반적인 동작과 각 구성부를 제어한다. 제어부(320)는 특히 후술하는 바와 같이 인터페이스 페이지 요청, 정보 제공 결과 페이지 요청, 기타 데이터를 통신부(310)를 통해 수신하면 저장부(330)로부터 필요한 데이터를 불러오고(load) 페이지 정보를 생성하여 페이지 정보를 통신부(310)를 통해 단말기(200)에게 전달한다.The
정보 제공 장치(300)가 데이터를 송수신하는 경우 관점에 따라 제어부(320)의 제어에 따라 통신부(310)가 데이터를 송수신한다고 표현할 수도 있고, 제어부(320)가 통신부(310)를 제어하여 데이터를 송수신한다고 표현할 수도 있다.When the
한편 저장부(330)는 단말(200)에 사용자가 입력한 입력어에서 예약어를 검색하여 예약어를 시각적으로 구분하기 위한 프로그램 코드, 및/또는 그 프로그램을 설치하기 위한 설치 패키지(설치 프로그램 코드)를 저장한다. 이하 단말(200)에 사용자가 입력한 입력어에서 예약어를 검색하여 예약어를 시각적으로 구분하기 위한 프로그램 코드, 및/또는 그 프로그램을 설치하기 위한 설치 패키지(설치 프로그램 코드)를 가상 입력 인터페이스 프로그램이라 칭한다.Meanwhile, the
정보 제공 장치(300)을 개발하는 개발자 또는 관리자는 가상 입력 인터페이스 프로그램을 저장부(330)에 저장할 수 있다. 정보 제공 장치(300)가 통신부(310)를 통해 가상 입력 인터페이스 프로그램을 요청하는 요청 메시지를 수신하면 제어부(320)는 통신부(310)를 통해 가상 입력 인터페이스 프로그램을 단말(200)에 전달한다.A developer or manager who develops the
정보 제공 장치(300)의 각 구성부의 구체적인 동작에 대해서는 도 4 내지 도 8을 참조하여 후술한다.Detailed operations of each component of the
다른 실시 예에 따르면 시각적으로 정보를 제공하기 위한 페이지 대신 음성이나 다른 방식으로 정보를 제공하기 위한 데이터가 송수신될 수 있다.According to another embodiment, instead of a page for visually providing information, data for providing information may be transmitted/received by voice or other methods.
도 4는 본 명세서의 일 실시 예에 따르는 정보 제공 인터페이스를 통한 정보 제공 과정의 순서도이다. 4 is a flowchart of a process of providing information through an information providing interface according to an embodiment of the present specification.
단계 410에서 정보 제공 장치(300)의 제어부(320)는 인터페이스 페이지 정보를 생성한다. 인터페이스 페이지 정보는 인터페이스 페이지를 생성하기 위해 필요한 정보이다. 인터페이스 페이지는 사용자의 입력을 유도하고 사용자의 입력을 수신하여 정보 제공 장치(300)에게 전달하기 위한 페이지이다. 예를 들어 인터페이스 페이지 정보는 HTML 문서 또는 기타 마크업 언어 문서 형태가 될 수 있다. 다른 실시 예에서, 단말(200)이 인터페이스 페이지의 서식 정보를 미리 가지고 있으며, 컨텐츠에 해당하는 사항만이 정보 제공 장치(300)로부터 단말(200)에 전달될 수도 있다. 이하에서는 편의를 위해 인터페이스 페이지 정보 또는 기타의 페이지 정보는 HTML 문서 형식으로 전달된다고 가정하고 설명한다. 하지만 본 명세서의 권리 범위가 여기에 한정되는 것은 아니다. In
단계 420에서 정보 제공 장치(300)의 통신부(310)는 인터페이스 페이지 정보를 단말(200)에게 전달한다.In step 420, the
단계 430에서 단말(200)의 제어부(250)는 인터페이스 페이지 정보를 이용하여 인터페이스 페이지를 구성한다. 예를 들어 제어부(250)은 웹 브라우저를 구동하여 HTML 문서를 해석하여 웹 페이지의 형태로 인터페이스 페이지를 구성할 수 있다. 웹 브라우저 대신 별도의 애플리케이션이 사용될 수도 있다.In
단계 440에서 단말(200)의 표시부(220)는 사용자(400)에게 인터페이스 페이지를 표시한다. 인터페이스 페이지는 예를 들어 사용자(400)가 정보 제공을 요청하고, 정보 제공을 위한 키워드를 입력 및/또는 선택하고 기타 정보 제공을 위한 설정을 할 수 있는 인터페이스를 포함할 수 있다.In
단계 450에서 단말(200)의 입력부(210)는 인터페이스 페이지를 통해 입력된 사용자(400)의 선택 입력을 수신하여 제어부(250)에 전달한다. In
단계 460에서 단말(200)의 통신부(230)는 제어부(250)의 제어에 따라 사용자의 선택 입력을 식별할 수 있는 입력 정보를 정보 제공 장치(300)에게 전달한다.In step 460, the
단계 470에서 정보 제공 장치(300)의 제어부(320)는 사용자의 입력(예를 들어, 키워드 및/또는 기타 정보 제공 설정)을 이용하여 결과 페이지 정보를 생성한다. 결과 페이지 정보를 생성하는 위한 준비과정과 결과 페이지 정보를 생성하는 과정에 대해서는 도 5 내지 도 8을 참조하여 후술한다. 결과 페이지 정보는 예를 들어 HTML 문서 형식 및/또는 이미지 형식으로 구성될 수 있다.In
단계 480에서 정보 제공 장치(300)의 통신부(310)는 결과 페이지 정보를 단말(200)에게 전달한다.In
단계 490에서 단말(200)의 제어부(250)는 통신부(230)가 수신한 결과 페이지 정보를 이용하여 결과 페이지를 구성한다. 예를 들어 제어부(250)는 HTML형식의 결과 페이지 정보를 해석하여 결과 페이지를 구성할 수 있다. In
단계 495에서 단말(200)의 표시부(220)는 결과 페이지를 사용자(400)에게 제공한다.In
도 4의 실시 예에서 사용자에게 시각적 형태의 페이지를 제공하는 것을 가정하였으나, 음성을 통해 인터페이스나 결과 정보를 제공하는 것도 가능하다. 이 경우 표시부(220) 대신 음성 출력부가 이용될 수 있을 것이다. 시각적/청각적 방식 대신 현재 가능하거나 미래에 가능해질 다른 방식의 인터페이스 방식이 사용자(400)와의 관계에서 사용될 수도 있다. 이 경우 정보 제공 장치(300)는 인터페이스 방식에 맞도록 페이지 정보 대신 다른 방식으로 변환된 정보를 단말(200)에게 제공할 수 있다.In the embodiment of FIG. 4, it is assumed that a page in a visual form is provided to the user, but it is also possible to provide an interface or result information through voice. In this case, an audio output unit may be used instead of the
도 5 이후의 실시 예에서 사용자(400)는 자신이 관심을 가지는 특정 관심 분야의 객체에 관한 정보를 제공받고자 한다. 하지만 본 명세서의 권리 범위가 이에 한정되는 것은 아니다.In the embodiment after FIG. 5, the
관심 분야는 예를 들어 객체의 유형이 될 수 있다. 예를 들어 관심 분야가 '유명인' 이라면 이 관심 분야에 해당하는 객체는 '유시민', '유재석', '테일러 스위프트' 등을 포함할 수 있다. 예를 들어 관심 분야가 '영화'라면 이 관심 분야에 해당하는 객체는 '덩케르크', '스파이더맨: 홈커밍', '슈퍼배드 3' 등을 포함할 수 있다. 예를 들어 관심 분야가 '방송 프로그램' 이라면 이 관심 분야에 해당하는 객체는 '무한도전', '아메리칸 아이돌', '왕좌의 게임' 등을 포함할 수 있다.The area of interest can be, for example, the type of object. For example, if the field of interest is'celebrity', objects corresponding to the field of interest may include'Citizen Yoo','Jaeseok Yoo', and'Taylor Swift'. For example, if the field of interest is'movie', objects corresponding to this field of interest may include'Dunkirk','Spider-Man: Homecoming', and'Superbad 3'. For example, if the field of interest is'broadcasting program', objects corresponding to this field of interest may include'Infinite Challenge','American Idol','Game of Thrones', and the like.
이하의 실시 예들에서 키워드들 간의 관계(연관도/가중치 등등)를 평가하기 위해 문서가 수집된다. 수집된 문서는 모두 동등한 가치를 가지는 것으로 평가될 수도 있고, 최신의 문서가 더 높은 가치를 가지는 것으로 평가될 수도 있다. 즉, 평가 시점 기준 문서의 나이와 그 문서 내에 등장하는 키워드들 간의 연관도는 음의 상관관계를 가질 수 있다.In the following embodiments, a document is collected to evaluate the relationship (relevance/weight, etc.) between keywords. Collected documents may all be evaluated as having equal value, or newer documents may be evaluated as having higher value. That is, the association between the age of the document at the time of evaluation and the keywords appearing in the document may have a negative correlation.
후술하는 도 5 이후의 과정에서도 문서의 최신성에 따라 가치가 달리 평가될 수 있다. 예를 들어 평가 시점 기준 1일 지난 문서에 두 키워드가 함께 등장한 경우가, 평가 시점 기준 10일 지난 문서에 두 키워드가 함께 등장한 경우에 비해 10배 더 높은 연관도로 평가될 수 있다. 문서의 나이는 예를 들어 초단위/분단위/시간 단위로 평가되거나 일 단위/월 단위/연 단위 등으로 평가될 수도 있다. 제어부(320)는 문서의 나이가 반영되기 전 평가된 해당 문서에 의하나 부분 연관도 값을 문서의 나이로 나누어 문서 나이가 반영된 부분 연관도를 추출하고, 이러한 부분 연관도를 누적하여 두 키워드 사이의 연관도를 추출할 수 있다. Even in the process after FIG. 5 to be described later, the value may be evaluated differently according to the freshness of the document. For example, a case where two keywords appear together in a
문서의 나이를 확인하기 위한 문서의 생성 시점은 예를 들어 문서 내에 포함된 게시 시점 및/또는 메타데이터를 이용하여 파악하거나, 주기적인 크롤링을 통해, 이전의 크롤링에 발견되지 않은 문서가 새로 발견되는 경우 새로운 크롤링 시점에 신규 문서가 추가된 것으로 파악할 수도 있다.The creation time of a document to check the age of a document can be determined using, for example, the posting time and/or metadata included in the document, or through periodic crawling, when a new document not found in the previous crawl is found. In this case, it may be determined that a new document was added at the time of a new crawl.
도 9는 본 명세서의 일 실시 예에 따르는 정보 제공 과정의 순서도이다.9 is a flowchart of a process of providing information according to an embodiment of the present specification.
단계 910에서 제어부(320)는 객체 항목과 대표 속성 키워드 쌍에 대응하는 객체-키워드 연관도를 저장부(330)에 저장한다.In
도 10은 본 명세서의 일 실시 예에 따르는 저장된 객체-키워드 연관도의 예시이다.10 is an example of a stored object-keyword association diagram according to an embodiment of the present specification.
도 10의 실시 예에서 객체 항목은 모두 m개(i1 내지 im)가 있고 대표 속성 키워드는 모두 n개(k1 내지 kn)가 있다. In the embodiment of FIG. 10, there are m number of object items (i 1 to i m ) and n number of representative attribute keywords (k 1 to k n ).
예를 들어 객체 항목 i5와 대표 속성 키워드 k3의 객체-키워드 연관도는 w5,3이 된다. For example, the object-keyword association of the object item i 5 and the representative attribute keyword k 3 is w 5,3 .
단계 910의 과정은 예를 들어 도 5 내지 도 8의 실시 예들 중 일부에 따라 수행되거나 이와 유사한 과정, 또는 이에 상응하는 과정으로 수행될 수 있다. 다른 실시 예에 따르면 단계 910의 과정은 관리자의 입력으로 수행되거나 외부 시스템에서 결정된 객체-키워드 연관도를 네트워크 또는 저장매체를 통해 전달받아 수행될 수 있다.The process of
도 5는 본 명세서의 일 실시 예에 따르는 단계 910의 상세순서도이다.5 is a detailed flowchart of
도 5를 참조하면, 단계 510에서 제어부(320)는 제1 집합 문서들로부터 대표 속성 키워드 후보집합을 추출한다. 제어부(320)는 예를 들어 제1 집합 문서 중 관심 분야에 해당하는 문서에 자주 등장하는 키워드들을 대표 속성 키워드 후보집합으로 수집할 수 있다. Referring to FIG. 5, in
도 6은 본 명세서의 일 실시 예에 따르는 단계 510의 상세 순서도이다.6 is a detailed flowchart of
제어부(320)는 특정 분야에 속하는 객체 항목을 나타내는 객체 키워드와 같은 문서에 등장하는 키워드들 및 특정 분야를 나타내는 분야 키워드와 같은 문서에 등장하는 키워드들을 제1 속성 키워드 후보집합 및 제2 속성 키워드 후보집합으로 설정할 수 있다. The
예를 들어 정보 제공 서비스를 제공하려는 관심 분야가 유명인이라면, 분야 키워드는 '유명인', '연예인', '영화배우', '스타', '셀럽', 'celeb' 등을 포함할 수 있다. 분야 키워드는 관리자에 의하여 설정되거나 제어부(320)에 의하여 추천, 설정될 수 있다. 제어부(320)는 일부 분야 키워드들을 획득한 뒤 이 분야 키워드들과의 연관도가 미리 설정된 값 이상으로 분석된 유사 키워드를 추가적 분야 키워드로 추천/설정할 수 있다.For example, if the field of interest to provide information provision service is a celebrity, the field keyword may include'celebrity','celebrity','movie actress','star','celebrity','celeb', and the like. The field keyword may be set by an administrator or recommended and set by the
정보 제공 서비스를 제공하려는 관심 분야가 유명인이라면, 객체 키워드는 해당 관심 분야에 속하는 개별 인물이 될 수 있다. 예를 들어 "유재석", "테일러 스위프트", "스테판 커리" 등이 관심 분야 유명인에 해당하는 객체 키워드가 될 수 있다. If the field of interest to provide the information providing service is a celebrity, the object keyword may be an individual person belonging to the field of interest. For example, "Jaeseok Yoo", "Taylor Swift", and "Stephane Curry" may be object keywords corresponding to celebrities in the field of interest.
분야 키워드와 객체 키워드의 관계를 설명하자면, 예를 들어 분야 키워드가 객체 키워드의 속성 또는 유형에 해당할 수 있다. 분야 키워드가 집합을 나타낸다면 객체 키워드는 그 집합에 속하는 원소들을 나타내는 것이 될 수 있다.To describe the relationship between the field keyword and the object keyword, for example, the field keyword may correspond to the attribute or type of the object keyword. If the field keyword indicates a set, the object keyword may indicate elements belonging to the set.
객체 키워드는 관리자에 의해 설정되거나, 분야 키워드와 비슷한 방식으로 선정될 수 있다. 또 다른 실시 예에 따르면 제어부(320)는 수집된 문서들의 문맥을 분석하여 상기 분야 키워드가 나타내는 집합에 속하는 원소로 판단되는 키워드들을 객체 키워드로 선정할 수 있다. Object keywords may be set by an administrator or may be selected in a similar manner to field keywords. According to another embodiment, the
인기 객체 키워드와 비인기 객체 키워드는 해당 객체 키워드의 검색/수집량에 따라 구분될 수 있다. 제어부(320)는 각 객체 키워드가 포함된 문서를 검색/수집하고 수집량이 특정 문턱값 이상인 객체 키워드를 인기 객체 키워드로 설정하고 나머지 객체 키워드를 비인기 객체 키워드로 설정할 수 있다.Popular object keywords and non-popular object keywords can be classified according to the amount of search/collection of the corresponding object keywords. The
인기 분야 키워드와 비인기 분야 키워드는 해당 분야 키워드의 검색/수집량에 따라 구분될 수 있다. 제어부(320)는 각 분야 키워드가 포함된 문서를 검색/수집하고 수집량이 특정 문턱값 이상인 분야 키워드를 인기 분야 키워드로 설정하고 나머지 분야 키워드를 비인기 분야 키워드로 설정할 수 있다. 다만 인기 객체 키워드와 비인기 객체 키워드를 구분하는 문턱값과 인기 분야 키워드-비인기 분야 키워드를 구분하는 문턱값은 서로 다른 값이 될 수 있다. 이하에서 편의를 위해 인기 객체 키워드와 인기 분야 키워드를 통틀어 인기 분야객체 키워드라고 칭한다. 또한 편의를 위해 비인기 객체 키워드와 비인기 분야 키워드를 통틀어 비인기 분야객체 키워드라고 칭한다.Popular field keywords and non-popular field keywords may be classified according to the amount of search/collection of keywords in the field. The
변형 실시 예에서는 인기 분야객체 키워드 대신 인기 분야 키워드 또는 인기 객체 키워드만이 사용될 수도 있다. 변형 실시 예에서는 비인기 분야객체 키워드 대신 비인기 분야 키워드 또는 비인기 객체 키워드만이 사용될 수도 있다.In a modified embodiment, only the popular field keyword or the popular object keyword may be used instead of the popular field object keyword. In a modified embodiment, only an unpopular field keyword or an unpopular object keyword may be used instead of the unpopular field object keyword.
단계 610에서 제어부(320)는 인기 분야객체 키워드와 같은 문서에 함께 등장하는 키워드들을 제1 속성 키워드 후보집합으로 설정한다.In
제어부(320)는 인기 분야객체 키워드가 포함된 문서들을 검색/수집하고, 수집된 문서에 포함된 키워드들을 제1 속성 키워드 후보집합으로 설정할 수 있다. 다른 실시 예에 따르면 제어부(320)는 수집된 문서에 포함된 키워드들 중 분야 키워드 및 객체 키워드를 제1 속성 키워드 후보집합에서 제외할 수 있다. 아울러 제어부(320)는 미리 설정된 의미 없는 키워드, 예를 들어 조사/관사 등을 제1 속성 키워드 후보집합에서 제외할 수 있다. 또 다른 실시 예에 따르면 제어부(320)는 수집된 문서에 포함된 키워드들 중 미리 설정된 사전(dictionary)에 등록된 키워드를 제1 속성 키워드 후보집합에 포함시킬 수 있다.The
또 다른 실시 예에 따르면, 제어부(320)는 인기 분야객체 키워드가 포함된 문서를 검색/수집하고, 수집된 문서에서 인기 분야객체 키워드 또는 그 키워드가 포함된 문장으로부터 미리 설정된 거리 이내에 배치된 키워드들을 제1 속성 키워드 후보집합에 포함시킬 수도 있다. 또 다른 실시 예에 따르면, 제어부(320)는 인기 분야객체 키워드가 포함된 문서를 검색/수집하고, 문맥을 분석하여 인기 분야객체 키워드를 수식/설명하는 용도로 사용된 키워드들을 제1 속성 키워드 후보집합에 포함시킬 수도 있다.According to another embodiment, the
키워드 사이의 거리 또는 키워드와 문장 사이의 거리는 예를 들어 두 키워드 또는 키워드와 문장 사이에 위치하는 문장의 개수, 두 키워드 또는 키워드와 문장 사이에 위치하는 단어의 개수, 두 키워드 또는 키워드와 문장 사이에 위치하는 어절의 개수, 두 키워드 또는 키워드와 문장 사이에 문자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.The distance between keywords or between a keyword and a sentence is, for example, the number of two keywords or sentences placed between a keyword and a sentence, the number of words placed between two keywords or a keyword and a sentence, between two keywords or a keyword and a sentence. It may be determined based on one or more of the number of positioned words, two keywords, or the number of characters between a keyword and a sentence.
제어부(320)는 키워드 분석을 위해 형태소 분석을 먼저 수행할 수 있다.The
단계 620에서 제어부(320)는 비인기 분야객체 키워드와 같은 문서에 함께 등장하는 키워드들을 제2 속성 키워드 후보집합으로 설정한다. In
제어부(320)는 비인기 분야객체 키워드가 포함된 문서를 검색/수집하고, 수집된 문서에 포함된 키워드들을 제2 속성 키워드 후보집합으로 설정할 수 있다. 다른 실시 예에 따르면 제어부(320)는 수집된 문서에 포함된 키워드들 중 분야 키워드 및 객체 키워드를 제2 속성 키워드 후보집합에서 제외할 수 있다. 아울러 제어부(320)는 미리 설정된 의미 없는 키워드, 예를 들어 조사/관사 등을 제2 속성 키워드 후보집합에서 제외할 수 있다. 또 다른 실시 예에 따르면 제어부(320)는 수집된 문서에 포함된 키워드들 중 미리 설정된 사전(dictionary)에 등록된 키워드를 제2 속성 키워드 후보집합에 포함시킬 수 있다.The
또 다른 실시 예에 따르면, 제어부(320)는 비인기 분야객체 키워드가 포함된 문서를 검색/수집하고, 수집된 문서에서 비인기 분야객체 키워드 또는 그 키워드가 포함된 문장으로부터 미리 설정된 거리 이내에 배치된 키워드들을 제2 속성 키워드 후보집합에 포함시킬 수도 있다. 또 다른 실시 예에 따르면, 제어부(320)는 비인기 분야객체 키워드가 포함된 문서를 검색/수집하고, 문맥을 분석하여 비인기 분야객체 키워드를 수식/설명하는 용도로 사용된 키워드들을 제2 속성 키워드 후보집합에 포함시킬 수도 있다.According to another embodiment, the
키워드 사이의 거리 또는 키워드와 문장 사이의 거리는 예를 들어 두 키워드 또는 키워드와 문장 사이에 위치하는 문장의 개수, 두 키워드 또는 키워드와 문장 사이에 위치하는 단어의 개수, 두 키워드 또는 키워드와 문장 사이에 위치하는 어절의 개수, 두 키워드 또는 키워드와 문장 사이에 문자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.The distance between keywords or between a keyword and a sentence is, for example, the number of two keywords or sentences placed between a keyword and a sentence, the number of words placed between two keywords or a keyword and a sentence, between two keywords or a keyword and a sentence. It may be determined based on one or more of the number of positioned words, two keywords, or the number of characters between a keyword and a sentence.
제어부(320)는 키워드 분석을 위해 형태소 분석을 먼저 수행할 수 있다.The
단계 630에서 제어부(320)는 상기 제1 속성 키워드 후보집합 및 상기 제2 속성 키워드 후보집합 모두에 속한 키워드들을 상기 대표 속성 키워드 후보집합으로 설정할 수 있다. 즉, 인기 분야객체 키워드를 수식하는 표현으로도 쓰이면서 비인기 분야객체 키워드를 수식하는 표현으로도 쓰이는 키워드들이 대표 속성 키워드 후보집합에 수집될 수 있다.In
다른 실시 예에 따르면, 단계 510에서 제어부(320)는 인기/비인기 여부에 관계 없이 객체 키워드 및/또는 분야 키워드와 함께 등장하는 키워드들을 대표 속성 키워드 후보집합에 포함시킬 수도 있다.According to another embodiment, in
도 5로 돌아가서, 단계 520에서 제어부(320)는 제2 집합 문서들로부터 대표 속성 키워드 후보집합에 포함되는 각 대표 속성 키워드와 연관된 둘 이상의 하위 키워드들을 추출한다. Returning to FIG. 5, in
단계 520의 하위 키워드 추출에 사용되는 제2 집합 문서와 단계 510의 대표 속성 키워드 후보집합 추출에 사용되는 제1 집합 문서는 서로 다른 문서 집합일 수도 있고 서로 같은 문서 집합일 수도 있다. 예를 들어, 제1 집합 문서는 수집 가능한 문서 전부를 포함하는 집합이고, 제2 집합 문서는 정보 제공 서비스를 제공하고자 하는 특정 관심 분야가 주요한 키워드로 사용된 문서들만을 포함하는 집합이 될 수 있다. 제어부(320)는 수집 가능한 문서들을 분석하여 자주 등장하는 키워드들을 기반으로 각 문서가 정보 제공 서비스를 제공하고자 하는 특정 관심 분야가 주요한 키워드로 사용된 문서인지 분석할 수 있다. 다른 실시 예에 따르면 제1 집합 문서 및 제2 집합 문서 모두 수집 가능한 관련문서 전부를 포함하는 집합이 될 수 있다. 또 다른 실시 예에 따르면, 제1 집합 문서는 수집 가능한 관련문서 전부를 포함하는 집합이고 제2 집합 문서는 정보 제공 서비스를 제공하고자 하는 특정 관심분야에 관련된 문서만을 포함하는 집합이 될 수 있다. 또 다른 실시 예에 따르면 제2 집합 문서는 수집 가능한 관련문서 전부를 포함하는 집합이고 제1 집합 문서는 정보 제공 서비스를 제공하고자 하는 특정 관심분야에 관련된 문서만을 포함하는 집합이 될 수 있다. The second set document used for extracting the lower keyword in
단계 520을 위해, 제어부(320)는 예를 들어, 정보 제공 서비스를 제공하고자 하는 특정 관심분야에 관련된 문서만을 포함하는 집합을 생성하기 위해 해당 관심분야 자체를 나타내는 분야 키워드를 포함하는 문서들 및/또는 해당 관심분야에 속하는 객체 키워드를 포함하는 문서들을 수집하고, 그들 중 분야 키워드/객체 키워드의 비중이 미리 설정된 값 이상인 문서들을 추출하여 특정 관심분야에 관련된 문서만을 포함하는 집합을 생성할 수 있다. 분야 키워드/객체 키워드의 비중은 분야 키워드/객체 키워드의 등장 빈도나 등장 위치, 문맥 등을 통해 판단할 수 있다. 예를 들어 분야 키워드/객체 키워드가 자주 등장하거나 분야 키워드/객체 키워드가 해당 문서의 타이틀로 사용되거나 큰 글자 또는 강조를 위한 글자체로 표시되는 문서는 특정 관심분야에 관련된 문서로 분류할 수 있을 것이다.For
단계 520에서 제어부(320)는 예를 들어 상기 제2 집합 문서 중 적어도 일부를 분석하여 각 대표 속성 키워드와 가장 연관도가 높은 하위 키워드들을 미리 설정된 개수만큼 추출하여 각 대표 속성 키워드와 연관된 둘 이상의 하위 키워드들을 추출할 수 있다.In
제어부(320)는 예를 들어 하위 키워드가 대표 속성 키워드와 동일 또는 유사한 문맥에 등장하는 빈도를 고려하여 대표 속성 키워드와 하위 키워드 사이의 연관도를 판단할 수 있다. 예를 들어 특정 문장에서 키워드 A의 주변에 등장하는 단어들은 다른 문서에서도 키워드 A와 연관된 단어의 주변에 등장할 수 있으리라고 볼 수 있다. The
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too humid, so I suffered."
위 두 문장을 살펴보면 같은 문맥에서 "더워서"라는 단어가 "습해서"라는 단어로 대체되었다. 제어부(320)는 "덥다"와 "습하다"가 서로 연관된 단어라는 것을 유추할 수 있다.Looking at the above two sentences, the word "because it's hot" has been replaced by the word "because it's wet" in the same context. The
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on vacation with a big heart, but because it was July, it was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "여행"과 "휴가"가 연관된 단어라는 것을 유추할 수 있다.Similarly, the
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was August, the weather was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "7월"과 "8월"이 연관된 단어라는 것을 유추할 수 있다.Similarly, the
제어부(320)는 이전에 수집된 문서들을 통해 "덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 저장해 둘 수 있다 이후 아래와 같은 문장을 수집한다고 가정한다.The
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on vacation with a big heart, but because it was July, the weather was too humid, so I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 힘들었다.""I went on a trip with a big heart, but it was hard because the weather was too hot because it was August."
두 문장이 동일한 문맥은 아니지만 덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 알고 있다면, 제어부(320)는 위 문장을 통해 "고생했다"와 "힘들었다" 역시 연관된 단어임을 학습할 수 있을 것이다.If the two sentences are not the same context, but know that hot" and "wet" are related words, "July" and "August" are related words, and "travel" and "vacation" are related words, the controller 320 ) Through the above sentence, you can learn that "I suffered" and "I had a hard time" are also related words.
동일/유사한 문맥에 등장하는 빈도가 높은 키워드 쌍은 서로 연관도가 높은 것으로 판단할 수 있다. 아울러 두 키워드가 등장하는 문맥의 유사도가 높을수록 두 키워드 사이의 연관도가 높은 것으로 판단할 수 있다. 제어부(320)는 수집되는 문서들을 이용해 학습을 진행하여 키워드들 사이의 연관도를 설정하고, 설정된 키워드 간 연관도와 문장의 문맥을 이용하여 해당 문장에서 등장하는 키워드들의 연관도를 설정하는 식으로 키워드 간 연관도 판단의 정확성을 높일 수 있다.Keyword pairs with a high frequency appearing in the same/similar context may be determined to have a high correlation with each other. In addition, the higher the similarity between the context in which the two keywords appear, the higher the correlation between the two keywords can be determined. The
이와 유사한 학습 방식으로 NNLM(Neural Net Language Model), RNNLM(Recurrent Neural Net Language Model), word2vec, 스킵그램(skipgram) 및 CBOW(Continuous Bag-of-Words)방식이 알려져 있다. 특히 word2vec을 이용할 경우 word2vec은 문서들을 이용해 학습하여 각 키워드들을 벡터에 대응시키고, 두 키워드 사이의 유사도는 두 벡터의 코사인 유사도 계산을 통해 파악할 수 있다.As similar learning methods, NNLM (Neural Net Language Model), RNNLM (Recurrent Neural Net Language Model), word2vec, skipgram, and CBOW (Continuous Bag-of-Words) methods are known. In particular, when word2vec is used, word2vec learns using documents and associates each keyword with a vector, and the similarity between the two keywords can be determined by calculating the cosine similarity of the two vectors.
이러한 방식 또는 유사한 방식으로, 제어부(320)는 제2 집합 문서 중 적어도 일부를 분석하여 각 대표 속성 키워드와 가장 연관도가 높은 하위 키워드들을 미리 설정된 개수만큼 추출할 수 있다.In this manner or a similar manner, the
단계 530에서 제어부(320)는 상기 제2 집합 문서들로부터 상기 대표 속성 키워드 후보집합 내 각 대표 속성 키워드와 하위 키워드 쌍에 대응되는 연관 가중치를 추출할 수 있다.In
도 7은 본 명세서의 일 실시 예에 따르는 단계 530의 상세 순서도이다.7 is a detailed flowchart of
단계 710에서 제어부(320)는 상기 제2 집합 문서 중 적어도 일부를 분석하여 상기 하위 키워드들 사이의 상호 연관도를 추출할 수 있다. 예를 들어 대표 속성 키워드 A1에 대해 연관된 하위 키워드로서 수집된 것이 B11 내지 B150의 50개 하위 키워드라고 가정한다. 이 경우 제어부(320)는 이들 50개 하위 키워드들에 대해 두 하위 키워드가 같은 문서에 함께 등장하는 빈도를 이용하여 두 하위 키워드 사이의 상호 연관도를 추출할 수 있다. B11 과 B12가 같은 문서에 등장하는 빈도에 따라 B11 과 B12 사이의 상호 연관도가 결정된다. 다른 실시 예에 따르면 B11 과 B12가 같은 문서에 등장하는 빈도가 상호 연관도에 영향을 주는 것에 더하여, B11 과 B12가 같은 문서에 등장하는 경우 두 키워드 B11 과 B12 사이의 거리(또는 두 키워드가 등장하는 문장 사이의 거리)가 가까울수록 높은 상호 연관도가 인정될 수 있다. 비슷한 방식으로 하위 키워드들 사이의 상호 연관도가 추출될 수 있다. 키워드 사이의 거리 또는 키워드와 문장 사이의 거리는 예를 들어 두 키워드 또는 키워드와 문장 사이에 위치하는 문장의 개수, 두 키워드 또는 키워드와 문장 사이에 위치하는 단어의 개수, 두 키워드 또는 키워드와 문장 사이에 위치하는 어절의 개수, 두 키워드 또는 키워드와 문장 사이에 위치하는 문자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.In
단계 720에서 제어부(320)는 상기 하위 키워드들 사이의 상호 연관도를 기초로 각 대표 속성 키워드와 하위 키워드 간의 연관 가중치를 추출할 수 있다. 제어부(320)는 예를 들어, 각 대표 속성 키워드에 상응하는 하위 키워드 집합에 대하여, 상기 하위 키워드 집합 내의 특정 하위 키워드와 상기 하위 키워드 집합 내의 다른 하위 키워드 간의 상호 연관도와, 상기 특정 하위 키워드와 상기 대표 속성 키워드 사이의 연관 가중치가, 서로 양의 상관관계를 가지도록 상기 특정 하위 키워드와 상기 대표 속성 키워드 사이의 연관 가중치를 설정할 수 있다.In
예를 들어 대표 속성 키워드 A1의 하위 키워드 B11과 A1의 다른 하위 키워드들 (B12 내지 B150) 사이의 상호 연관도가 높을 수록 A1과 B11사이의 연관 가중치가 높게 설정될 수 있다. 예를 들면, B11과 A1의 다른 하위 키워드들 (B12 내지 B150) 사이의 상호 연관도 산술평균(또는 총합)이 B11과 A1 사이의 연관 가중치가 될 수 있다. 단순한 산술평균 대신 기하 평균/조화 평균이 사용될 수도 있다. 하위 키워드 B11과 A1의 다른 하위 키워드들 (B12 내지 B150) 사이의 상호 연관도 중 가장 높은 2개(예시)와 가장 낮은 2개(예시)를 제외하고 평균을 구하는 절삭 평균이 사용될 수도 있다. 상호 연관도의 산술 평균 대신 중앙값(median)이 사용될 수도 있다.For example, as the correlation between the sub-keyword B1 1 of the representative attribute keyword A1 and the other sub-keywords B1 2 to B1 50 of A1 is higher, the association weight between A1 and B1 1 may be set higher. For example, an arithmetic mean (or sum) of correlations between B1 1 and other sub-keywords of A1 (B1 2 to B1 50 ) may be an association weight between B1 1 and A1. Instead of a simple arithmetic mean, a geometric mean/harmonized mean may be used. A cutting average that is averaged out of the correlations between the sub-keywords B1 1 and other sub-keywords of A1 (B1 2 to B1 50 ) may be used, excluding the two highest (example) and the lowest two (example). have. A median may be used instead of the arithmetic mean of the correlation.
일부 실시 예에 따르면, A1에 대한 B11의 연관 가중치를 계산하기 위해서 사용되는 "B11과 B12가 같은 문서에 등장하는 빈도"는 단순히 B11과 B12가 같이 등장하는(또는 같은 문장에 등장하는, 또는 근접하여 등장하는) 문서의 개수에 따라 달라지는 것이 아니라, B11과 B12가 같이 등장하는(또는 같은 문장에 등장하는, 또는 근접하여 등장하는) 문서의 개수를 B11이 등장하는 문서의 개수 및/또는 B12이 등장하는 문서의 개수로 나누어 구할 수 있다. 유사한 방식으로 "B11과 B12가 같은 문서에 등장하는 빈도"는 B11과 B12가 같이 등장하는(또는 같은 문장에 등장하는, 또는 근접하여 등장하는) 문서의 개수와 양의 상관관계를 가지고 B11이 등장하는 문서의 개수 및/또는 B12이 등장하는 문서의 개수와 음의 상관관계를 가지도록 설정될 수 있다. 단순하게 흔히 사용되는 단어가 대표 속성 키워드 A1에 높은 연관 가중치를 가지는 것을 방지하기 위한 일종의 노멀라이제이션(normalization)이다.According to some embodiments, "B1 1 and B1 2, which are used to calculate the association weight of B1 1 with respect to A1, are "The frequency that appears in the same document" simply means that B1 1 and B1 2 It does not depend on the number of documents appearing together (or appearing in the same sentence or in close proximity), but B1 1 and B1 2 The number of documents appearing together (or appearing in the same sentence, or appearing in close proximity) can be obtained by dividing the number of documents in which B1 1 appears and/or the number of documents in which B1 2 appears. In a similar way, "B1 1 and B1 2 "The frequency of appearance in the same document" means that B1 1 and B1 2 Appeared to as (to appear or are in the same sentence, or close to the emergence of) correlation of the number and the notes of the document to the number and the positive correlation between the B1 1 appeared number of documents and / or to have B1 2 appeared in the document It can be set to have a relationship. It is simply a kind of normalization to prevent a commonly used word from having a high association weight to the representative attribute keyword A1.
도 5로 돌아와서, 단계 540에서 제어부(320)는 상기 제1 집합 문서들로부터 객체 항목과 하위 키워드 간의 하위 연관도를 추출할 수 있다. Returning to FIG. 5, in
제1 집합 문서들 중에서 객체 항목을 나타내는 객체 키워드(예를 들어 "테일러 스위프트")와 같은 문서, 또는 같은 문장 또는 근접한 문장에 자주 등장한 하위 키워드들은 해당 객체 항목과 연관된 것으로 판단할 수 있다. 제어부(320)는 해당 객체 항목의 객체 키워드가 등장한 문서를 수집하고, 그 문서들 내에 함께 등장한 빈도에 따라 하위 키워드와 객체 키워드 사이의 하위 연관도를 추출할 수 있다. 특히 제어부(320)는 하위 키워드가 객체 키워드와 같은 문장에 등장하면 하위 키워드가 객체 키워드와 다른 문장에 등장한 경우에 비해 하위 키워드와 객체 항목 사이의 연관도가 더 높은 것으로 설정할 수 있다. Among the first set of documents, a document such as an object keyword indicating an object item (for example, "Taylor Swift"), or sub-keywords frequently appearing in the same sentence or adjacent sentence may be determined to be related to the object item. The
제어부(320)는 하위 키워드가 등장한 문장이 객체 키워드가 등장한 문장과 근접할 수록 하위 키워드와 해당 객체 키워드의 객체 항목 사이의 연관도가 더 높은 것으로 설정할 수 있다. 두 문장의 근접도는 예를 들어 두 문장 사이에 위치하는 문장의 개수, 두 문장 사이에 위치하는 단어의 개수, 두 문장 사이에 위치하는 어절의 개수, 두 문장 사이에 위치하는 문자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다. The
제어부(320)는 하위 키워드가 등장한 위치가 객체 키워드가 등장한 위치와 근접할 수록 하위 키워드와 해당 객체 키워드의 객체 항목 사이의 연관도가 더 높은 것으로 설정할 수 있다. 하위 키워드와 객체 키워드 사이의 근접도는 예를 들어 하위 키워드와 객체 키워드 사이에 위치하는 문장의 개수, 하위 키워드와 객체 키워드 사이에 위치하는 단어의 개수, 하위 키워드와 객체 키워드 사이에 위치하는 어절의 개수, 하위 키워드와 객체 키워드 사이에 위치하는 문자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.The
단계 550에서 제어부(320)는 단계 540의 하위 연관도 및 단계 530의 연관 가중치를 이용하여 상기 객체 항목과 상기 각 대표 속성 키워드 간의 객체-키워드 연관도를 추출할 수 있다.In
예를 들어 객체 항목 C와 대표 속성 키워드 A1 사이의 객체-키워드 연관도는 C와 A1의 하위 키워드들 (예를 들어 B11 내지 B150) 사이의 하위 연관도 및 각 하위 키워드들의 연관 가중치를 이용하여 추출될 수 있다. 예를 들어 객체 항목 C와 대표 속성 키워드 A1 사이의 객체-키워드 연관도는, 객체 항목 C와 B11 내지 B150 사이의 하위 연관도가 높을수록 높게 설정될 수 있다. For example, the object-keyword association between the object item C and the representative attribute keyword A1 uses the sub-keywords of C and A1 (for example, B1 1 to B1 50 ) and the association weights of each sub-keyword. Can be extracted. For example, the object-keyword association degree between the object item C and the representative attribute keyword A1 may be set higher as the lower degree of association between the object item C and B1 1 to B1 50 is higher.
아울러 A1과의 관계에서 연관 가중치가 더 높은 하위 키워드에 대해서 객체 항목 C와의 하위 연관도가 높다면, 연관 가중치가 더 낮은 하위 키워드에 대해서 하위 연관도가 높은 경우에 비하여 객체 C와 대표 속성 키워드 A1 사이의 객체-키워드 연관도가 더 높게 설정될 수 있다. 예를 들어 표 1의 경우가 표 2의 경우보다 연관 가중치 높은 쪽(B11)의 하위 연관도가 높으므로, 표 1의 경우가 표 2의 경우보다 객체 C와 대표 속성 키워드 A1 사이의 객체-키워드 연관도가 높게 설정될 수 있다.In addition, in the relationship with A1, if the sub-keyword with a higher association weight has a higher sub-relationship with the object item C, the sub-keyword with a lower association weight has a higher sub-relationship with the object C and the representative attribute keyword A1. The object-keyword association between them may be set higher. For example, in the case of Table 1 , the sub-relationship of the one with higher association weight (B1 1 ) than in the case of Table 2 is higher, so that in the case of Table 1, the object between object C and the representative attribute keyword A1- Keyword relevance may be set high.
일 실시 예에 따르면 각 하위 키워드에 대응되는 연관가중치 및 하위 연관도를 곱한 값의 총합으로 (또는 이 총합을 이용하여) 객체 C와 대표 속성 키워드 A1 사이의 객체-키워드 연관도를 구할 수도 있다. 표 1의 경우 0.5×0.5+0.2×0.2=0.29가 되고, 표 2의 경우 0.2×0.5+0.5×0.2=0.20이 되므로, 표 1의 경우가 표 2의 경우보다 객체 C와 대표 속성 키워드 A1 사이의 객체-키워드 연관도가 높게 설정될 수 있다. 상술한 객체-키워드 연관도 산정 방식은 예시적인 것에 불과하고, 단계 540의 C와의 하위 연관도 및 단계 530의 A1과의 연관 가중치가 C 및 A1 사이의 객체-키워드 연관도와 양의 상관관계에 있다면 다른 방식이 사용되어도 무방하다.According to an embodiment, the object-keyword association degree between the object C and the representative attribute keyword A1 may be obtained as the sum of the product of the association weight corresponding to each sub-keyword and the sub-relationship (or using this total). In the case of Table 1, 0.5×0.5+0.2×0.2=0.29, and in the case of Table 2, 0.2×0.5+0.5×0.2=0.20, so the case of Table 1 is between the object C and the representative attribute keyword A1 than the case of Table 2. The object-keyword association degree of may be set to be high. The above-described method of calculating the object-keyword association is only exemplary, and if the sub-relationship with C in
이후 통신부(310)가 특정 대표 속성 키워드와 연관된 정보 제공 요청을 수신하면, 제어부(320)는 단계 550에서 추출한 객체-키워드 연관도를 기반으로 결과 항목을 통신부(310)를 통해 제공할 수 있다. 예를 들어 어느 하나의 대표 속성 키워드를 포함한 정보 제공 요청을 수신한 경우 제어부(320)는 해당 대표 속성 키워드와의 관계에서 객체-키워드 연관도가 가장 높은 순서대로 객체 항목에 관한 정보를 제공할 수 있다. Thereafter, when the
다른 실시 예에서, 둘 이상의 대표 속성 키워드 및 그에 대응되는 가중치를 포함한 정보 제공 요청을 수신한 경우 제어부(320)는 각 객체 항목에 대해 정보 제공 요청에 포함된 대표 속성 키워드들과의 객체-키워드 연관도에 가중치를 곱한(또는 이와 유사하게 가중치를 부가한) 값의 총합(또는 평균)이 가장 높은 순서대로 객체 항목에 관한 정보를 제공할 수 있다.In another embodiment, when receiving an information provision request including two or more representative attribute keywords and weights corresponding thereto, the
도 8은 본 명세서의 다른 실시 예에 따르는 정보 제공 과정의 순서도이다.8 is a flowchart of a process of providing information according to another embodiment of the present specification.
도 8의 실시 예는 도 5의 실시 예와 동일한 과정들에 더해서 단계 520과 단계 530의 사이에 두 단계들(523, 526)을 더 포함하고 있다. 여기서는 중복된 설명을 피하고 단계 523 및 단계 526에 대해서만 설명한다.The example of FIG. 8 further includes two
단계 523에서 제어부(320)는, 단계 520에서 추출된 하위 키워드들 각각이, 감정 언어(감정어)에 해당하는지 판단한다. 이를 위해 저장부(330) 또는 외부 서버가 감정어 사전(dictionary)를 보유할 수 있다. 감정어 사전은 어떤 단어(키워드)가 감정어인지 여부를 판단하기 위한 도구로서, 예를 들어 감정어 목록을 보유할 수 있다. 감정어 목록에 포함된 키워드는 감정어라고 할 수 있고, 그렇지 않은 키워드는 감정어가 아니라고 판단할 수 있다. 다만 이러한 판단은 사전적 의미에 기반한 것이고, 시대에 따라 변하는 대중의 단어 사용을 반영하지 못할 수 있다. 따라서 제어부(320)는 대표 속성 키워드 자체의 감정어 여부를 판단하지 않고, 대표 속성 키워드에 연관된 하위 키워드들의 감정어 여부를 기준으로 대표 속성 키워드를 활용할지 여부를 판단한다.In
다른 실시 예에서 제어부(320)는 감정어 사전에 감정어인 것으로 등록된, 미리 설정된 수 이상의 단어와 연관도가 높은(미리 설정된 값 이상인) 것으로 학습된 다른 단어를 감정어 사전에 추가할 수 있다.In another embodiment, the
단계 526에서 제어부(320)는 연관된 하위 키워드의 감정 언어 비율(또는 숫자)이 높은 순서대로 미리 설정된 개수의 대표 속성 키워드만을 대표 속성 키워드 후보집합 내에 남기고 나머지를 제거할 수 있다. 이러한 과정을 통해 감정 언어와 거리가 먼 키워드가 감정 언어처럼 취급되는 것을 방지할 수 있다.In
도 9로 돌아와서, 단계 920에서 제어부(320)는 예약어와 대표 속성 키워드 쌍에 대응하는 기본 예약어-키워드 연관도를 저장부(330)에 저장한다.Returning to FIG. 9, in
예약어는 대표 속성 키워드들의 가중치로 표현될 수 있는 표현들을 포함할 수 있다. 예를 들어, "심심해"도 예약어가 될 수 있고, "예쁜"도 예약어가 될 수 있다. The reserved word may include expressions that can be expressed by weights of representative attribute keywords. For example, "bored" can be a reserved word, and "pretty" can be a reserved word.
예약어 "심심해"에 대하여 기본 예약어-키워드 연관도가 높은 대표 속성 키워드는 예를 들어 "재미있는", "흥미진진한", "시간때우기용" 등 심심한 상황을 해결할 수 있는 대표 속성 키워드들을 포함할 수 있다. Regarding the reserved word "boring", the basic reserved word-keyword representative attribute keywords with high correlation may include representative attribute keywords that can solve a boring situation such as "interesting", "exciting", "for getting out of time". .
예약어 "예쁜"에 대하여 기본 예약어-키워드 연관도가 높은 대표 속성 키워드는 예를 들어 "아름다운", "귀여운", "눈길을 끄는" 등의 "예쁜"과 유사하거나 "예쁜"을 설명하는 대표 속성 키워드들을 포함할 수 있다.For the reserved word "pretty", the default reserved word-keyword related representative attribute keyword is, for example, "beautiful", "cute", "eye-catching", such as "pretty" or a representative attribute describing "pretty" Can include keywords.
단계 920의 과정은 예를 들어 관리자의 입력으로 수행되거나 외부 시스템에서 결정된 기본 예약어-키워드 연관도를 네트워크 또는 저장매체를 통해 전달받아 수행될 수 있다. 다른 실시 예에 따르면 단계 920의 과정은 인터넷, SNS, 뉴스 등 수집 가능한 문서들을 분석하여 도 5 내지 도 8의 과정과 비슷한 방식으로 수행될 수도 있다. 아울러 단계 920의 과정은 후술하는 바와 같이 사용자의 피드백을 반영하는 과정을 포함할 수 있다. The process of
단계 920의 과정은 도 15 내지 도 17 중 어느 하나를 참조하여 후술하는 방식으로 수행될 수도 있다.The process of
도 11은 본 명세서의 일 실시 예에 따르는 기본 예약어-키워드 연관도의 예시이다.11 is an example of a basic reserved word-keyword association diagram according to an embodiment of the present specification.
도 11의 실시 예에서 예약어는 모두 q개(C1 내지 Cq)가 있고 대표 속성 키워드는 모두 n개(k1 내지 kn)가 있다. In the embodiment of FIG. 11, all of the reserved words are q (C 1 to C q ), and all of the representative attribute keywords are n (k 1 to k n ).
예를 들어 예약어 C5와 대표 속성 키워드 k3의 기본 예약어-키워드 연관도는 v3,5이 된다.For example, the basic reserved word-keyword association of the reserved word C 5 and the representative attribute keyword k 3 is v 3,5 .
단계 930에서 통신부(310)가 단말(200)로부터 수신 예약어를 수신하여 획득하고 수신 예약어를 제어부(320)에게 전달한다.In
수신 예약어는 단말(200)이 검색 사용자로부터 수신한 예약어이다. 단말(200)은 음성 입력을 전기적 신호(음성 신호)로 변환하여 검색 장치(300)에게 전달할 수 있다. 검색 장치(300)의 제어부(320)는 음성 신호를 분석하여 텍스트로 변환하고 변환 텍스트를 예약어에 매칭시킬 수 있다. 제어부(320)는 또한 음성 신호를 분석하여 음성의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 정황 정보로서 활용할 수도 있다.The reception reserved word is a reserved word received by the terminal 200 from a search user. The terminal 200 may convert a voice input into an electrical signal (voice signal) and transmit it to the
다른 실시 예에 따르면 단말(200)은 음성 입력을 텍스트로 변환하여 변환 텍스트를 검색 장치(300)에게 전달할 수 있다. 단말(200)은 수신한 음성 입력의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 분석 정보를 검색 장치(300)에게 전달할 수 있다. 검색 장치(300)는 분석 정보를 일종의 정황 정보로서 활용할 수도 있다.According to another embodiment, the terminal 200 may convert a voice input into text and transmit the converted text to the
단계 940에서 제어부(320)는 객체-키워드 연관도 및 기본 예약어-키워드 연관도를 이용하여 상기 수신 예약어와 각 객체 항목 쌍에 대응하는 예약어-객체 연관도를 획득한다.In
도 12는 본 명세서의 일 실시 예에 따르는 단계 940의 상세 순서도이다.12 is a detailed flowchart of
도 12를 참조하면 단계 1210에서 제어부(320)는 수신 예약어에 대한 각 객체 항목 및 대표 속성 키워드 쌍에 상응하는 조정 객체-키워드 연관도를 획득한다. Referring to FIG. 12, in
일 실시 예에 따르면 제어부(320)는 각 객체 항목 및 대표 속성 키워드 쌍에 대하여 상기 객체 항목 및 상기 대표 속성 키워드 쌍에 상응하는 객체-키워드 연관도에 상기 수신 예약어 및 상기 대표 속성 키워드 쌍에 상응하는 기본 예약어-키워드 연관도를 적용하여 상기 수신 예약어에 대한 각 객체 항목 및 대표 속성 키워드 쌍에 상응하는 조정 객체-키워드 연관도를 획득할 수 있다. According to an embodiment, for each object item and representative attribute keyword pair, the
특히 제어부(320)는 각 객체 항목 및 대표 속성 키워드 쌍에 대하여 상기 객체 항목 및 상기 대표 속성 키워드 쌍에 상응하는 객체-키워드 연관도에 상기 수신 예약어 및 상기 대표 속성 키워드 쌍에 상응하는 기본 예약어-키워드 연관도를 곱한 값을 이용하여 상기 수신 예약어에 대한 각 객체 항목 및 대표 속성 키워드 쌍에 상응하는 조정 객체-키워드 연관도를 획득할 수 있다. In particular, for each object item and representative attribute keyword pair, the
또한 제어부(320)는 각 객체 항목 및 대표 속성 키워드 쌍에 대하여 상기 객체 항목 및 상기 대표 속성 키워드 쌍에 상응하는 객체-키워드 연관도와 양의 상관 관계를 가지고, 상기 수신 예약어 및 상기 대표 속성 키워드 쌍에 상응하는 기본 예약어-키워드 연관도와 양의 상관 관계를 가지도록 상기 수신 예약어에 대한, 각 객체 항목 및 대표 속성 키워드 쌍에 상응하는 조정 객체-키워드 연관도를 설정할 수도 있다. In addition, the
본 명세서에서 객체-키워드 연관도, 기본 예약어-키워드 연관도, 조정 객체-키워드 연관도, 기본 예약어-하위 키워드 연관도와 기타 연관관계를 나타내는 값은 모두 값이 클수록 더 연관관계가 긴밀한 값인 것으로 가정하였다. 다른 실시 예에서 일부 연관도 값은 연관도 값이 작을수록 연관관계가 긴밀하고 다른 연관도 값은 연관도 값이 클수록 연관관계가 긴밀한 경우에는 그에 맞도록 양의 상관관계-음의 상관관계가 적절히 대체하여 사용될 수 있을 것이다.In this specification, it is assumed that the higher the value, the closer the relationship is, the higher the value of the object-keyword association, the basic reserved word-keyword association, the adjusted object-keyword association, the basic reserved word-subkeyword association, and other values representing the association. . In another embodiment, in some cases, when the association value is smaller, the association is tighter, and for other association values, when the association value is larger, the association is tight, so that the positive correlation-negative correlation is appropriate. It could be used instead.
예를 들어 제어부(320)는 수신 예약어가 C2일 때 객체 항목 i4 및 대표 속성 키워드 k3 쌍에 상응하는 조정 객체-키워드 연관도를 획득하기 위해서 객체 항목 i4 및 대표 속성 키워드 k3 쌍에 상응하는 객체-연관도 w4,3에 수신 예약어 C2 및 대표 속성 키워드 k3 쌍에 상응하는 기본 예약어-키워드 연관도 v3,4를 적용하여 조정 객체-키워드 연관도를 획득할 수 있다. For example, when the reception reserved word is C 2 , in order to obtain a coordinated object-keyword association corresponding to the object item i 4 and the representative attribute keyword k 3 pair, the
특히 연관도의 적용 방식은 객체-연관도와 기본 예약어-키워드 연관도를 곱하는 방식이 될 수 있다. 예를 들어 제어부(320)는 수신 예약어가 C2일 때 객체 항목 i4 및 대표 속성 키워드 k3 쌍에 상응하는 조정 객체-키워드 연관도를 획득하기 위해서 객체 항목 i4 및 대표 속성 키워드 k3 쌍에 상응하는 객체-연관도 w4,3에 수신 예약어 C2 및 대표 속성 키워드 k3 쌍에 상응하는 기본 예약어-키워드 연관도 v3,2를 곱한 값인 (w4,3Хv3, 2)를 이용하여 조정 객체-키워드 연관도를 획득할 수 있다. 다른 실시 예에서 제어부(320)는 곱하기 대신 조정 객체-키워드 연관도가 w4,3 및 v3,2과 양의 상관 관계를 가지도록 하는 다른 연산/이용 방식을 적용한 함수 f(w4,3, v3, 2)를 활용하여 조정 객체-키워드 연관도를 획득할 수도 있다. 또한 (w4,3Хv3,2)를 조정 객체-키워드 연관도로써 활용하는 방법 및 (w4,3Хv3, 2)에 기타 요인에 기반한 보정을 가하여 조정 객체-키워드 연관도로써 활용하는 방법 모두 활용될 수 있다.In particular, the method of applying the degree of association may be a method of multiplying the degree of object-relatedness and the basic reserved word-keyword association. For example, when the reception reserved word is C 2 , in order to obtain a coordinated object-keyword association corresponding to the object item i 4 and the representative attribute keyword k 3 pair, the
단계 1220에서 제어부(320)는 특정 객체 항목에 대한 상기 조정 객체-키워드 연관도를 누적한 값을 이용하여 예약어-객체 연관도를 획득할 수 있다. 예를 들어 제어부(320)는 특정 객체 항목에 대한 상기 조정 객체-키워드 연관도의 누적값과 양의 상관 관계를 가지도록 상기 수신 예약어 및 상기 특정 객체 항목 쌍에 상응하는 상기 예약어-객체 연관도를 설정할 수 있다. 객체 항목 i4 및 수신 예약어 C2 쌍에 상응하는 예약어-객체 연관도는 예를 들어 를 이용하여 획득될 수 있다. f(w4,j,vj,2)는 객체 항목 i4 및 수신 예약어 C2, 키워드 kj에 대응하는 조정 객체-키워드 연관도이다.In
예를 들어 객체 항목 i4 및 수신 예약어 C2 쌍에 대응하는 예약어-객체 연관도는 이 될 수 있다. 다른 예에서 객체 항목 i4 및 수신 예약어 C2 쌍에 대응하는 예약어-객체 연관도는 에 대해 기타 요인에 의한 보정을 가한 값이 될 수 있다.For example, the reserved word-object association corresponding to the pair of object item i 4 and received reserved word C 2 is Can be In another example, the reserved word-object association corresponding to the pair of object item i 4 and received reserved word C 2 is It may be a value that has been corrected by other factors.
도 9로 돌아와서 단계 950에서 제어부(320)는 수신 예약어에 대응하는 예약어-객체 연관도에 따라 객체 항목을 제공할 수 있다. 예를 들어 수신 예약어 C2에 대응하는 예약어-객체 연관도가 아래 표 3과 같다면 제어부(320)는 표 4의 순서로 객체 항목을 제공할 수 있다.Returning to FIG. 9, in
즉, 제어부(320)는 수신 예약어에 대응하는 예약어-객체 연관도가 높은 순서대로 객체 항목을 제공할 수 있다. 객체 항목을 제공받은 단말(200)은 표시부(220)를 통해 객체 항목 i3에 대한 정보를 사용자에게 제공할 수 있다. 단말(200)은 필요에 따라 하위 순서의 다른 객체 항목에 대한 정보도 제공할 수 있다. 단말(200)은 표시부(220) 대신 스피커를 통해 음성으로 객체 항목 i3에 대한 정보를 사용자에게 제공할 수 있다.That is, the
도 13은 본 명세서의 다른 실시 예에 따르는 정보 제공 과정의 순서도이다.13 is a flowchart of a process of providing information according to another embodiment of the present specification.
도 13 내지 도 17의 과정은 도 5 내지 도 12의 과정을 일부 이용하거나 도 5 내지 도 12의 과정을 일부 변경하여 수행될 수도 있다. 도 13 내지 도 17의 과정을 설명하면서 필요한 경우 도 5 내지 도 12에 관한 설명을 원용할 수 있다.The processes of FIGS. 13 to 17 may be performed by partially using the processes of FIGS. 5 to 12 or partially changing the processes of FIGS. 5 to 12. While describing the process of FIGS. 13 to 17, descriptions of FIGS. 5 to 12 may be used if necessary.
도 13을 참조하면, 단계 1310에서 제어부(320)는 제1 집합 문서들로부터 대표 속성 키워드 후보집합을 추출한다. 제어부(320)는 예를 들어 제1 집합 문서 중 관심 분야에 해당하는 문서에 자주 등장하는 키워드들을 대표 속성 키워드 후보집합으로 수집할 수 있다. 단계 1310의 과정은 예를 들어 도 5의 단계 510의 과정과 동일 또는 유사하게 진행될 수 있다. 단계 1310의 과정은 도 6의 과정과 동일 또는 유사한 과정을 통해 진행될 수 있다. 도 6의 과정에 대한 설명은 다시 반복하지 않는다.Referring to FIG. 13, in
단계 1320에서 제어부(320)는 예약어 집합을 설정한다. 예를 들어 관리자가 수동으로 입력하여 예약어 집합이 설정될 수 있다. 변형 예에 따르면, 제어부(320)가 예약어로 적합한 어절/구절 등을 예약어 후보로서 설정하고, 예약어 후보 중 하나 이상을 예약어로서 설정할 수 있는 인터페이스를 제공할 수도 있다.In
도 18은 본 명세서의 변형 예에 따르는 단계 1320의 상세 순서도이다.18 is a detailed flowchart of
단계 1810에서 제어부(320)는 하나의 언어단위 또는 둘 이상의 연속된 언어단위들의 문서 집합 내 등장 횟수를 획득한다. 여기서 문서 집합은 도 5의 단계 510 과정에서 사용되는 문서 집합과 같은 문서 집합일 수도 있고 다른 문서 집합이 될 수도 있다.In
언어단위는 예를 들어 어절/단어/형태소/음절/문자 중 어느 하나가 될 수 있다. 기타 문장을 구분하는 여러 기준으로 나누어진 단위가 본 실시 예에서의 언어단위가 될 수 있다. The language unit may be, for example, any one of a word/word/morpheme/syllable/letter. A unit divided by several criteria for classifying other sentences may be the language unit in the present embodiment.
제어부(320)는 단계 1810 이전에 문서 집합의 각 문서들이 포함하는 문서들을 어절 단위로 나누어 배열 또는 리스트 등의 형태로 저장할 수 있다. 제어부(320)는 실시 예에 따라 각 어절에서 무의미한 단어, 예를 들어 한국어에서 일부 조사나 '이', '저' 등 지시형용사, 기타 분석에 필요하지 않은 단어들을 어절에서 삭제하거나 배열/리스트에서 제거할 수 있다. 또한 제어부(320)는 실시 예에 따라서 어절이 하나의 단어로 이루어진 경우 해당 단어를 기본형(또는 미리 설정된 형식)으로 전환할 수 있다.Before
변형 예에 따르면 제어부(320)는 단계 1810 이전에 문서 집합의 각 문서들이 포함하는 문서들을 단어 단위로 나누어 배열 또는 리스트 등의 형태로 저장할 수 있다. 제어부(320)는 실시 예에 따라 각 단어를 기본형(또는 미리 설정된 형식)으로 전환할 수 있다. 제어부(320)는 실시 예에 따라 무의미한 단어, 예를 들어 한국어에서 일부 조사나 '이', '저' 등 지시형용사, 기타 분석에 필요하지 않은 단어들을 배열/리스트에서 제거할 수 있다.According to a modified example, before
제어부(320)가 문서를 형태소 단위로 또는 음절 단위로 또는 문자 단위로 분할하는 변형 예도 가능하다.A modified example in which the
이하의 실시 예에서는 편의를 위해 제어부(320)가 문서를 어절 단위로 분할하고, 각 어절이 언어단위가 되는 것으로 가정한다.In the following embodiments, for convenience, it is assumed that the
단일한 언어단위는 예약어가 될 수 있다. 변형 실시 예에 따르면 둘 이상의 연속된 언어단위 또한 예약어가 될 수 있다. 예를 들어 "깔끔한"(단일한 언어 단위)도 예약어가 될 수 있고, "분위기 좋은"(두 개의 연속된 언어단위)도 예약어가 될 수 있다. 다만 둘 이상의 연속된 언어단위는 단일한 언어단위에 비해 자주 나오기 어려우므로 실시 예에 따라 둘 이상의 연속된 언어단위가 예약어로 선정되도록 하기 위해 예약어 선정 시 둘 이상의 연속된 언어단위에 대해 가중치 또는 추가 점수를 줄 수 있다. 변형 예에 따르면, 예약어 선정 시 둘 이상의 연속된 언어단위에 대해 예약어 선정을 위한 기준치를 더 관대하게 설정할 수도 있다. 예를 들어 단일한 언어단위가 적어도 a번 등장하여야 예약어 후보로 추천될 수 있다면 두 개의 연속된 언어단위는 a보다 훨씬 적은 횟수인 b번만 등장하더라도 예약어 후보로 추천되도록 설정될 수 있고 세 개의 연속된 언어단위는 b보다도 적은 c번만 등장하더라도 예약어 후보로 추천되도록 설정될 수도 있다. 이하 본 명세서에서 둘 이상의 연속된 언어단위를 연속 언어단위라 칭한다.A single language unit can be a reserved word. According to a modified embodiment, two or more consecutive language units may also be reserved words. For example, "clean" (single language unit) can be a reserved word, and "atmosphere" (two consecutive language units) can be a reserved word. However, since two or more consecutive language units are difficult to appear more often than a single language unit, in order to ensure that two or more consecutive language units are selected as reserved words according to embodiments, weights or additional points for two or more consecutive language units when selecting a reserved word Can give According to a modified example, when selecting a reserved word, a reference value for selecting a reserved word for two or more consecutive language units may be more generously set. For example, if a single language unit must appear at least a times to be recommended as a reserved word candidate, two consecutive language units can be set to be recommended as reserved word candidates even if they appear only b times, which is much less than a. The language unit may be set to be recommended as a reserved word candidate even if it appears only c times less than b. Hereinafter, in the present specification, two or more consecutive language units are referred to as continuous language units.
또한 연속 언어단위가 예약어로 추천/선정되는 경우 그 예약어(후보)에 포함된 언어단위 또는 그 예약어(후보)에 포함되며 예약어(후보)보다 짧은 연속 언어단위들은 예약어로 추천되지 않도록 하거나 예약어로 추천되기 위한 점수 산정 시 감점을 할 수 있다. 유사한 예약어가 여럿 선정되거나 추천되는 것을 방지하기 위한 것이다. 이하에서는 설명을 단순화하기 위해 연속 언어단위에 대한 설명을 생략하지만 단일 언어단위에 대한 설명이 연속 언어단위에 대해서도 똑같이 또는 유사하게 적용될 수 있다.In addition, when a continuous language unit is recommended/selected as a reserved word, the language unit included in the reserved word (candidate) or included in the reserved word (candidate), and consecutive language units shorter than the reserved word (candidate) are not recommended as reserved words or recommended as reserved words. Points can be deducted when calculating the score to become. This is to prevent multiple similar reserved words from being selected or recommended. Hereinafter, the description of the continuous language unit is omitted to simplify the description, but the description of the single language unit may be applied equally or similarly to the continuous language unit.
단계 1810에서 언어단위의 등장 횟수는 예를 들어 해당 언어단위가 등장한 문서의 수가 될 수 있다. 한 문서에서 여러 번 해당 언어단위가 등장하더라도 등장횟수는 1회만 인정된다. 다른 실시 예에 따르면, 해당 언어단위가 한 문서에서 여러 번 등장할 경우를 모두 등장 횟수로 인정해서 그 등장 횟수가 언어단위의 등장 횟수가 될 수 있다. The number of appearances of the language unit in
또다른 실시 예에 따르면 한 문서에서 해당 언어단위가 두 번 이상 반복해서 등장하는 경우 두 번째 이후의 등장은 첫 번째 등장에 비해 낮은 값의 등장으로 인정할 수 있다. 또한 한 문서에서 해당 언어단위의 등장이 반복되면 반복될수록 나중의 등장은 더 낮은 점수로 인정될 수 있다. 등장 횟수가 늘어나면 점수가 높아지지만 기울기가 점차 완만해지는 것이다. 예를 들어 등장 횟수의 1/r제곱(r은 1보다 큰 실수(real number))가 해당 문서에서 해당 언어단위의 등장점수로 사용될 수도 있다. 예를 들어 (등장 횟수의 로그 값)+1 (단 등장 횟수가 0인경우 등장점수는 0) 등이 사용될 수도 있다. 또한 한 문서에서 언어단위의 등장점수는 미리 설정된 상한값을 넘지 않도록 제한될 수도 있다. 해당 언어단위의 등장점수를 모든 문서에 대해서 누적한 값이 해당 언어단위의 등장 횟수에 따른 등장점수가 될 수 있을 것이다. 그리고 이러한 등장점수를 단계 1830에서 활용할 수 있다.According to another embodiment, when a corresponding language unit repeatedly appears more than once in a document, the second and subsequent appearances may be recognized as having a lower value than the first appearance. Also, the more repeated the appearance of the language unit in a document, the lower the score may be for the later appearance. As the number of appearances increases, the score increases, but the slope gradually decreases. For example, 1/r power of the number of appearances (r is a real number greater than 1) may be used as the appearance score of the corresponding language unit in the document. For example, (the log value of the number of appearances) + 1 (however, if the number of appearances is 0, the number of appearances is 0). In addition, the appearance score of a language unit in a document may be limited so as not to exceed a preset upper limit. The value obtained by accumulating the appearance score of the corresponding language unit for all documents may be the appearance score according to the number of appearances of the corresponding language unit. And this appearance score can be used in
이하에서는 편의를 위해 언어단위의 등장 횟수는 해당 언어단위가 등장한 문서의 수인 것으로 가정하고 설명한다.Hereinafter, for convenience, it is assumed that the number of appearances of a language unit is the number of documents in which the corresponding language unit appears.
단계 1820에서 제어부(320)는 언어단위로부터 미리 설정된 거리 이내에 감정어가 위치하는 횟수를 획득한다. 언어단위와 감정어 사이의 거리는 예를 들어 언어단위와 감정어 사이에 위치하는 단어의 개수, 언어단위와 감정어 사이에 위치하는 어절의 개수, 언어단위와 감정어 사이에 위치하는 문자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.In
또한 언어단위와 감정어가 서로 다른 문장에 속한 경우 언어단위와 감정어 사이에 위치하는 단어/어절/문자 개수와 무관하게 제어부(320)는 감정어가 언어단위로부터 미리 설정된 거리 이내에 위치하지 않는 것으로 판단할 수도 있다. 다른 변형예에 따르면 언어단위와 감정어가 서로 다른 문장에 속한 경우 제어부(320)는 문장에 대한 판단을 배재하여 계산한 거리에 일정한 숫자를 더하여 거리를 계산할 수도 있다. 언어단위와 감정어가 서로 다른 문장에 속하는 경우 서로 연관성이 없을 확률이 비교적 높아지기 때문에 감정어 사이에 위치하는 단어/어절/문자 개수보다 거리를 더 멀게 평가하는 것이 바람직하기 때문이다.In addition, when the language unit and the appraised word belong to different sentences, the
특정 단어(어절)의 감정어 여부는 미리 등록된 감정어 사전에 조회하여 확인할 수 있다.Whether a specific word (word phrase) is an appraised word can be checked by inquiring into the appraised word dictionary registered in advance.
언어단위로부터 일정 거리 이내에 감정어가 위치하는 횟수는 예를 들어 일정 거리 이내에 해당 언어단위와 감정어가 함께 위치한 문서의 수가 될 수 있다. 한 문서에서 여러 번 해당 언어단위와 감정어가 일정 거리이내에 함께 등장하더라도 등장횟수는 1회만 인정된다. 다른 실시 예에 따르면, 한 문서의 해당 언어단위 중 일정 거리 이내에 감정어가 위치한 언어단위가 여럿인 경우 그 여러 언어단위를 모두 언어단위로부터 일정 거리 이내에 감정어가 위치하는 횟수로 인정할 수 있다. 이하에서는 일정 거리 이내에 감정어가 위치하는 언어단위를 감정어 위치 언어단위라고 칭한다.The number of times the appraised word is located within a certain distance from the language unit may be, for example, the number of documents in which the language unit and the appraised word are co-located within a certain distance. Even if the language unit and the appraised word appear together within a certain distance in a document, the number of appearances is only recognized once. According to another embodiment, when there are several language units in which an appraised word is located within a certain distance among the corresponding language units of a document, all of the multiple language units may be recognized as the number of times the appraised word is located within a certain distance from the language unit. Hereinafter, the language unit in which the appraised word is located within a certain distance is referred to as the appraised word location language unit.
또다른 실시 예에 따르면 한 문서에서 감정어 위치 언어단위가 두 번 이상 반복해서 등장하는 경우 두 번째 이후의 등장은 첫 번째 등장에 비해 낮은 값의 등장으로 인정할 수 있다. 또한 한 문서에서 해당 감정어 위치 언어단위의 등장이 반복되면 반복될수록 나중의 등장은 더 낮은 점수로 인정될 수 있다. 등장 횟수가 늘어나면 점수가 높아지지만 기울기가 점차 완만해지는 것이다. 예를 들어 등장 횟수의 1/r제곱(r은 1보다 큰 실수(real number))가 해당 문서에서 해당 감정어 위치 언어단위의 등장점수로 사용될 수도 있다. 예를 들어 (등장 횟수의 로그 값)+1 (단, 등장 횟수가 0인경우 등장점수는 0) 등이 사용될 수도 있다. 또한 한 문서에서 감정어 위치 언어단위의 등장점수는 미리 설정된 상한값을 넘지 않도록 제한될 수도 있다. 해당 감정어 위치 언어단위의 등장점수를 모든 문서에 대해서 누적한 값이 해당 언어단위의 등장 횟수에 따른 등장점수가 될 수 있을 것이다. 그리고 이러한 등장 점수가 단계 1830에서 활용될 수 있다. According to another embodiment, when an appraised word location language unit repeatedly appears more than once in a document, the second and subsequent appearances may be recognized as having a lower value than the first appearance. In addition, if the appearance of the corresponding appraisal position language unit in a document is repeated, the later appearance can be recognized as a lower score. As the number of appearances increases, the score increases, but the slope gradually decreases. For example, 1/r power of the number of appearances (r is a real number greater than 1) may be used as the appearance score of the appraisal position language unit in the document. For example, (log value of the number of appearances) + 1 (however, if the number of appearances is 0, the number of appearances is 0), etc. may be used. In addition, the appearance score of the language unit of the position of the appraised word in a document may be limited so as not to exceed a preset upper limit value. A value obtained by accumulating the appearance score of the corresponding appraised word location language unit for all documents may be the appearance score according to the number of appearances of the corresponding language unit. And this appearance score can be used in
또 다른 실시 예에 따르면 하나의 언어단위에 대하여 일정 거리 이내에 위치하는 감정어의 개수가 많을수록 등장점수를 더 높게 인정할 수도 있다. 아울러 하나의 언어단위에 대하여 더 가까운 거리 내에 감정어가 있는 경우 등장점수를 더 높게 인정할 수도 있다. 또한 하나의 언어단위에 대하여 하나가 아닌 둘 이상의 미리 설정된 개수의 감정어가 있을 경우에만 등장점수(등장횟수)가 인정될 수도 있다. According to another embodiment, the higher the number of appraised words located within a certain distance for one language unit, the higher the appearance score may be recognized. In addition, if there is an appraised word within a closer distance for one language unit, the appearance score may be recognized higher. In addition, the appearance score (the number of appearances) may be recognized only when there are two or more pre-set number of appraisal words for one language unit instead of one.
이하에서는 편의를 위해 감정어 위치 언어단위의 등장 횟수는 해당 언어단위로부터 미리 설정된 거리 이내에 감정어가 등장한 문서의 수인 것으로 가정하고 설명한다.Hereinafter, for convenience, it is assumed that the number of appearances of the appraised word location language unit is the number of documents in which the appraised word appears within a preset distance from the corresponding language unit.
단계 1830에서 제어부(320)는 해당 언어단위의 등장 횟수 및 언어단위로부터 일정 거리 이내에 감정어가 위치하는 횟수를 고려하여 예약어 후보를 설정한다.In
예를 들어 제어부(320)는 언어단위의 등장횟수 및 일정 거리 이내에 감정어가 위치한 횟수를 곱해서(또는 기타 두 변수에 대해 양의 상관관계를 가지는 연산 방식에 따라) 감정어 점수로 환산할 수 있다. 그리고 점수가 높은 순서대로 미리 설정된 일정한 개수가 예약어 후보로 설정될 수 있다. 또는 미리 설정된 점수 이상에 해당하는 언어단위가 예약어 후보로 설정될 수도 있다.For example, the
표 5의 예시에서는 제3 언어단위->제2 언어단위->제1 언어단위->제4 언어단위 순서로 예약어 후보가 될 수 있다. 제어부(320)가 예약어 후보 2개를 추천한다면 제3 언어단위 및 제2 언어단위가 추천될 것이다. 제어부(320)가 점수 3백만점 이상의 언어단위를 예약어 후보로서 추천한다면 제3 언어단위, 제2 언어단위 및 제1 언어단위가 순서대로 예약어 후보로서 추천될 것이다. 다른 실시 예에 따르면, 제어부(320)는 언어단위의 등장횟수 순서로 제1 개수만큼의 언어단위들을 뽑아낸 뒤 뽑아낸 언어단위들의 일정거리 내에 감정어가 등장한 횟수(또는 감정어 점수)를 기준으로 한 순서대로 일정한 개수의 예약어 후보를 추출해 낼 수 있다. 표 5의 예시에서 등장횟수 순서로 3개의 언어단위를 뽑아낸다면 제1 내지 제3 언어단위가 추출될 수 있다. 감정어 등장 횟수를 기준으로 하면 제2 언어단위, 제3 언어단위 및 제1 언어단위의 순서대로 예약어 후보가 추천될 수 있다.In the example of Table 5, reserved words may be candidates in the order of a third language unit -> a second language unit -> a first language unit -> a fourth language unit. If the
또 다른 실시 예에 따르면, 제어부(320)는 언어단위의 등장횟수 순서로 제1 개수만큼의 언어단위들을 뽑아낸 뒤 뽑아낸 언어단위들의 일정거리 내에 감정어가 등장한 횟수(또는 감정어 점수)를 기준으로 한 순서대로 제2 개수(단, 제2 개수는 제1 개수 미만임)의 예약어 후보를 추출해 낼 수 있다. 표 5의 예시에서 등장횟수 순서로 3개의 언어단위를 뽑아낸다면 제1 내지 제3 언어단위가 추출될 수 있다. 감정어 등장 횟수를 기준으로 2개의 언어단위를 추출한다면 제2 언어단위 및 제3 언어단위의 순서대로 예약어 후보가 추천될 수 있다.According to another embodiment, the
제어부(320)는 기타 상술한 방식과 유사하거나 다소 상이한 방식으로, 예약어 후보 선택을 위한 점수가 단계 1810의 언어단위의 등장횟수와 양의 상관관계를 가지고 단계 1820의 미리 설정된 거리 이내에 감정어가 위치하는 언어단위의 등장횟수와도 양의 상관관계를 가지도록 예약어 후보 선택을 위한 점수를 설정하고 이 점수를 이용하여 예약어 후보를 추천할 수 있다.In a manner similar to or somewhat different from the other methods described above, the
아울러 제어부(320)는 이미 예약어 집합에 포함된 언어단위는 예약어 후보로 추가되지 않도록 처리할 수 있다. 또한, 제어부(320)는 예약어 집합에 포함된 예약어와 실질적으로 동일한 언어단위는 예약어 후보로 추가되지 않도록 처리할 수 있다.In addition, the
단계 1840에서 정보 제공 장치(300)는 단말(200)에게 예약어 후보 정보를 포함하는 예약어 선택 인터페이스를 생성하기 위한 인터페이스 정보를 제공한다. 인터페이스 정보는 예를 들어 html형식의 문서가 될 수 있다. 다른 실시 예에 따르면, 인터페이스 정보는 인터페이스를 생성하기 위해 필요한 동적 정보(추천되는 예약어 후보 등)만을 포함하고, 단말(200)은 이러한 동적 정보를 단말(200)에 미리 저장돼 있던 페이지 형태에 반영하는 방식으로 인터페이스를 포함한 페이지를 사용자에게 제공할 수 있다.In
제어부(320)는 예약어 후보 정보를 포함하는 예약어 선택 인터페이스를 포함하는 페이지를 생성하기 위한 페이지 정보를 생성하고 통신부(310)가 페이지 정보를 단말(200)에게 제공할 수 있다. 단말(200)은 사용자에게 해당 인터페이스를 포함하는 페이지를 렌더링하여 표시할 수 있다. 변형 실시 예에 따르면 시각적 페이지에 포함된 인터페이스 대신 소리에 의한 인터페이스 또는 현재까지 알려졌거나 미래에 알려질 기술에 의한 인터페이스가 제공될 수도 있다. 아래에서는 편의를 위해 시각적 페이지에 포함된 인터페이스가 제공되는 것으로 가정하고 설명한다.The
도 19는 단계 1840에서 제공되는 인터페이스 정보에 따라 생성된 인터페이스(1900)의 예시이다.19 is an example of an
도 19를 참조하면, 인터페이스(1900)는 체크박스 열(column)(1910), 예약어 후보 열(1920), 상세보기 열(1930)로 이루어진 표를 포함한다. 또한 인터페이스(1900)는 예약어 추가 버튼(1940), 후보 삭제 버튼(1950), 보관함에 넣기 버튼(1960)을 포함할 수 있다. 사용자는 체크박스 열(1910)에서 원하는 예약어 후보(들)을 선택한 뒤 예약어 추가 버튼(1940), 후보 삭제 버튼(1950), 보관함에 넣기 버튼(1960) 중 어느 하나를 선택하여 예약어 후보를 처리할 수 있다. 어느 하나의 버튼이 선택되면 단말(200)은 사용자의 입력을 변환한 입력 정보를 정보 제공 장치(300)에게 전달할 수 있다. Referring to FIG. 19, an
정보 제공 장치(300)는 단말(200)로부터 전달받은 입력 정보에 따라 예약어 후보를 처리할 수 있다. 예를 들어, 사용자가 일부 예약어 후보(이하 '선택된 후보')의 체크박스(1910)를 선택하고 예약어 추가 버튼(1940)을 선택하면 이와 관련된 입력 정보를 전달받은 정보 제공 장치(300)의 제어부(320)는 예약어 집합에 선택된 후보들을 추가하고 예약어 후보 집합에서 선택된 후보들을 삭제할 수 있다. 제어부(320)는 향후 예약어 후보 추천 시 예약어 집합에 포함된 언어 단위(들) 및 예약어 집합에 포함된 언어 단위(들)과 실질적으로 동일한 언어단위(들)을 예약어 후보로 추천하지 않도록 제어한다. The
다른 예에 따르면, 사용자가 일부 예약어 후보의 체크박스(1910)를 선택하고 예약어 후보 삭제 버튼(1950)을 선택하면 이와 관련된 입력 정보를 전달받은 정보 제공 장치(300)의 제어부(320)는 예약어 제외 집합에 선택된 후보들을 추가하고 예약어 후보 집합에서 선택된 후보들을 삭제할 수 있다. 제어부(320)는 향후 예약어 후보 추천 시 예약어 제외 집합에 포함된 언어 단위(들) 및 예약어 제외 집합에 포함된 언어 단위(들)과 실질적으로 동일한 언어단위(들)을 예약어 후보로 추천하지 않도록 제어한다. According to another example, when the user selects the
또 다른 예에 따르면, 사용자가 일부 예약어 후보의 체크박스(1910)를 선택하고 보관함에 넣기 버튼(1960)을 선택하면 이와 관련된 입력 정보를 전달받은 정보 제공 장치(300)의 제어부(320)는 예약어 후보 보관 집합에 선택된 후보들을 추가하고 예약어 후보 집합에서 선택된 후보들을 삭제할 수 있다. 제어부(320)는 향후 예약어 후보 추천 시 예약어 후보 보관 집합에 포함된 언어 단위(들) 및 예약어 후보 보관 집합에 포함된 언어 단위(들)과 실질적으로 동일한 언어단위(들)을 예약어 후보로 추천하지 않도록 제어한다. According to another example, when the user selects the
버튼들(1940, 1950, 1960) 대신 버튼과 유사한 다른 인터페이스 또는 버튼의 역할을 대신할 수 있는 다른 인터페이스가 활용될 수도 있다.Instead of the
또한 제어부(320)는 예약어 집합에서 예약어를 일부 삭제하기 위한 인터페이스를 제공할 수 있다. 제어부(320)는 예약어 제외 집합의 일부 언어단위가 추천에서 제외되지 않도록 예약어 제외 집합에서 언어단위를 제거하기 위한 인터페이스를 제공할 수 있다. 제어부(320)는 예약어 후보 보관 집합의 언어단위를 도 19와 유사한 목록 인터페이스의 형태로 제공하고, 그 목록 인터페이스를 통해 사용자가 예약어 후보 보관 집합의 일부 언어단위를 예약어로 추가하도록 할 수 있다. 또한 사용자는 상기 목록 인터페이스를 통해 예약어 후보 보관 집합의 일부 언어단위를 예약어 제외 집합에 포함되도록 하고 예약어 후보 보관 집합에서 삭제할 수도 있다. 이 경우 해당 언어단위는 더이상 예약어 후보 보관 집합의 목록 인터페이스를 통해 제공되지 않으며 도 19의 인터페이스(1900)를 통해서도 예약어 후보로서 추천되지 않는다. 또한 사용자는 상기 목록 인터페이스를 통해 예약어 후보 보관 집합의 일부 언어단위를 단순히 예약어 후보 보관 집합에서 삭제할 수도 있다. 이 경우 해당 언어단위는 더이상 예약어 후보 보관 집합의 목록 인터페이스를 통해 제공되지 않지만 도 19의 인터페이스(1900)를 통해서 예약어 후보로서 추천될 수는 있다.In addition, the
또한 인터페이스(1900)는 예약어 후보가 한 페이지에 모두 보여지지 못할 경우에 대비하여 페이지 이동을 위한 이전 페이지 버튼(1970) 및/또는 다음 페이지 버튼(1980)을 포함할 수 있다. 이전 페이지 버튼(1970) 및/또는 다음 페이지 버튼(1980)은 실제 후보의 개수 및 현재 페이지 위치에 따라 선택적으로 제공될 수 있다. 아울러 이전 페이지 버튼(1970) 및/또는 다음 페이지 버튼(1980) 대신 스크롤을 통해 확장되는 인터페이스가 제공될 수도 있다. 일부 인터페이스에서는 1910,1920, 1930 항목을 포함하는 표만 스크롤되고 버튼들(1940, 1950, 1960, 1970, 1980)은 스크롤에서 제외될 수도 있다.In addition, the
사용자는 상세보기(1930)를 선택하여 예약어 후보가 추천된 배경이나 관련 정보를 상세히 조회할 수도 있다. 상세보기(1930)를 선택하였을 때 제어부(320)가 제공하는 인터페이스는 해당 예약어 후보에 대한 정보 및 해당 예약어 후보를 예약어로 추가하거나 예약어 후보 보관 집합에 추가하거나 예약어 제외 집합에 추가하기 위한 인터페이스를 포함할 수 있다.The user may select the
기타 예약어 후보를 관리하기 위한 인터페이스가 제어부(320)에 의하여 단말(200)을 통해 사용자에게 제공될 수 있다.An interface for managing other reserved word candidates may be provided to a user through the terminal 200 by the
도 18로 돌아와서, 단계 1850에서 제어부(320)는 예약어를 선택하는 입력에 따라 선택된 예약어 후보를 예약어 집합에 추가할 수 있다. Returning to FIG. 18, in
도 13으로 돌아와서 단계 1330에서 제어부(320)는 객체 항목과 대표 속성 키워드 쌍에 대응하는 객체-키워드 연관도를 저장한다. Returning to FIG. 13, in
도 10은 본 명세서의 일 실시 예에 따르는 저장된 객체-키워드 연관도의 예시이다.10 is an example of a stored object-keyword association diagram according to an embodiment of the present specification.
도 10의 실시 예에서 객체 항목은 모두 m개(i1 내지 im)가 있고 대표 속성 키워드는 모두 n개(k1 내지 kn)가 있다. In the embodiment of FIG. 10, there are m number of object items (i 1 to i m ) and n number of representative attribute keywords (k 1 to k n ).
예를 들어 객체 항목 i5와 대표 속성 키워드 k3의 객체-키워드 연관도는 w5,3이 된다. For example, the object-keyword association of the object item i 5 and the representative attribute keyword k 3 is w 5,3 .
단계 1330의 과정은 예를 들어 도 5 내지 도 8의 실시 예들 중 일부에 따라 수행되거나 이와 유사한 과정, 또는 이에 상응하는 과정으로 수행될 수 있다. 다른 실시 예에 따르면 단계 1330의 과정은 관리자의 입력으로 수행되거나 외부 시스템에서 결정된 객체-키워드 연관도를 네트워크 또는 저장매체를 통해 전달받아 수행될 수 있다.The process of
도 5 내지 도 8의 실시 예에 대해서는 앞서 설명한 바 있으므로 반복된 설명을 생략한다. 다만 도 5 및 도 8의 단계 510에서 수행되는 과정은 도 13의 단계 1310의 과정과 실질적으로 동일하다. 따라서 단계 1330의 과정을 수행함에 있어서 도 5 내지 도 8의 실시 예들이 활용되더라도 단계 510의 과정은 다시 수행되지 않고 단계 1310의 결과가 재활용될 수 있다.Since the embodiments of FIGS. 5 to 8 have been described above, repeated descriptions are omitted. However, the process performed in
단계 1340에서 제어부(320)는 대표 속성 키워드와 하위 키워드 쌍에 대응되는 연관 가중치 및 예약어와 하위 키워드 쌍에 대응되는 기본 예약어-하위 키워드 연관도를 이용하여 예약어와 대표 속성 키워드 쌍에 대응하는 기본 예약어-키워드 연관도를 저장부(330)에 저장한다. 단계 1340의 과정은 예를 들어 관리자의 입력에 따라 수행되거나 도 15 내지 도 17 중 어느 하나 이상의 실시 예에 따라 수행될 수 있다. In
단계 1340의 과정 이전에, 또는 단계 1340의 과정 도중에 하위 키워드가 결정되고, 대표 속성 키워드와 하위 키워드 쌍에 대응되는 연관 가중치가 결정되고, 예약어와 하위 키워드 쌍에 대응되는 기본 예약어-하위 키워드 연관도가 결정되어야 한다. Prior to the process of
단계 1340의 과정에 사용되는 하위 키워드는 단계 1330의 과정 도중 단계 520이 수행되면서 결정될 수 있다. 이 경우 단계 520의 하위 키워드가 단계 1340에서 사용될 수 있다. 단계 1330에서 하위 키워드가 결정되지 않는 경우 도 5의 단계 520 및 그 이전의 과정과 동일하거나 유사한 과정을 통해 하위 키워드가 결정될 수 있다.The lower keyword used in the process of
단계 1340의 과정에 사용되는 연관 가중치는 단계 1330의 과정 도중 단계 530이 수행되면서 결정될 수 있다. 이 경우 단계 530의 연관 가중치가 단계 1340에서 사용될 수 있다. 단계 1330에서 연관가중치가 결정되지 않는 경우 도 5의 단계 530 및 그 이전의 과정과 동일하거나 유사한 과정을 통해 연관 가중치가 결정될 수 있다.The association weight used in the process of
기본 예약어-하위 키워드 연관도는 예를 들어 예약어와 하위 키워드가 동일 또는 유사한 문맥에 등장하는 빈도를 고려하여 산출될 수 있다.The degree of association between the basic reserved word and the sub-keyword may be calculated in consideration of the frequency in which the reserved word and the sub-keyword appear in the same or similar context.
이하 도 15 내지 도 17에 대한 설명에서 예약어 C2과 대표 속성 키워드 k3 사이의 기본 예약어-키워드 연관도 v3,2를 획득하는 예시를 설명한다. 예를 들어 대표 속성 키워드 k3의 하위 키워드들이 B31 내지 B350이라고 가정한다. 예약어, 대표 속성 키워드 및 기본 예약어-키워드 연관도에 대해서는 도 11을 참조하여 상술한 예시를 참조한다. 예약어 Cj 및 하위 키워드 Bgh 쌍에 상응하는 기본 예약어-하위 키워드 연관도는 xj,h라고 표현한다. 하위 키워드 Bgh 및 대표 속성 키워드 kg 쌍에 상응하는 연관 가중치는 yg,h라고 표현한다. 예약어 Cj, 대표 속성 키워드 kg 및 하위 키워드 Bgh 조합에 상응하는 조정 예약어-하위 키워드 연관도는 xj,g,h라고 표현한다.Hereinafter, in the description of FIGS. 15 to 17, an example of acquiring a basic reserved word-keyword relationship v 3,2 between the reserved word C 2 and the representative attribute keyword k 3 will be described. For example, assume that the sub-keywords of the representative attribute keyword k 3 are B3 1 to B3 50 . For a reserved word, a representative attribute keyword, and a basic reserved word-keyword association, refer to the example described above with reference to FIG. 11. The sub-keyword association degree is expressed as x j, h - reserved word reserved word base corresponding to C j and sub-keyword pair Bg h. The association weight corresponding to the pair of the lower keyword Bg h and the representative attribute keyword k g is expressed as y g,h . The sub-keyword association degree is expressed as x j, g, h - reserved word C j, k g represent attribute keywords and keyword sub Bg h combination adjustment reserved word corresponding to.
도 15는 본 명세서의 제1 실시 예에 따르는 단계 1340의 상세 순서도이다.15 is a detailed flowchart of
도 15를 참조하면, 단계 1510에서 제어부(320)는 기본 예약어-하위 키워드 연관도에 연관 가중치를 적용하여 조정 예약어-하위 키워드 연관도를 획득한다.Referring to FIG. 15, in
단계 1510에서 제어부(320)는 각 예약어 및 하위 키워드 쌍에 대하여 상기 예약어 및 상기 하위 키워드 쌍에 상응하는 기본 예약어-하위 키워드 연관도에 상기 하위 키워드 및 대표 속성 키워드 쌍에 상응하는 연관 가중치를 적용하여 상기 대표 속성 키워드에 대한 각 예약어 및 하위 키워드 쌍에 상응하는 조정 예약어-하위 키워드 연관도를 획득할 수 있다.In
예를 들어 제어부(320)는 예약어가 C2일 때 하위 키워드 B34 및 대표 속성 키워드 k3 쌍에 상응하는 C2 - B34 간 조정 예약어-하위 키워드 연관도를 획득하기 위해서 예약어 C2 및 하위 키워드 B34 쌍에 상응하는 기본 예약어-하위 키워드 연관도 x2,4에 하위 키워드 B34 및 대표 속성 키워드 k3 쌍에 상응하는 연관 가중치 y3,4를 적용하여 조정 예약어-하위 키워드 연관도 x2,3,4를 획득할 수 있다. For example,
특히 연관 가중치의 적용 방식은 기본 예약어-하위 키워드 연관도 x2,4에 하위 키워드 B34 및 대표 속성 키워드 k3 쌍에 상응하는 연관 가중치 y3,4를 곱하는 방식이 될 수 있다. 예를 들어 제어부(320)는 예약어가 C2일 때 하위 키워드 B34 및 대표 속성 키워드 k3 쌍에 상응하는 C2 - B34 간 조정 예약어-하위 키워드 연관도 x2,3,4를 획득하기 위해서 예약어 C2 및 하위 키워드 B34 쌍에 상응하는 기본 예약어-하위 키워드 연관도 x2,4에 하위 키워드 B34 및 대표 속성 키워드 k3 쌍에 상응하는 연관 가중치 y3,4를 곱한 값인 (x2,4Хy3, 4)를 이용하여 조정 예약어-하위 키워드 연관도 x2,3,4를 획득할 수 있다. 다른 실시 예에서 제어부(320)는 곱하기 대신 조정 예약어-하위 키워드 연관도 x2,3,4가 x2,4 및 y3,4과 양의 상관 관계를 가지도록 하는 다른 연산/이용 방식을 적용한 함수 f(x2, 4,y3 , 4)를 활용하여 조정 예약어-하위 키워드 연관도 x2,3,4를 획득할 수도 있다. 또한 (x2,4Хy3, 4)를 조정 예약어-하위 키워드 연관도 x2,3,4로써 활용하는 방법 및 (x2,4Хy3, 4)에 기타 요인에 기반한 보정을 가하여 조정 예약어-하위 키워드 연관도 x2,3,4로써 활용하는 방법 모두 활용될 수 있다.In particular, the method of applying the association weight may be a method of multiplying the basic reserved word-sub-keyword association degree x 2,4 by the association weight y 3,4 corresponding to the lower keyword B3 4 and the representative attribute keyword k 3 pair. For example,
단계 1520에서 제어부(320)는 조정 예약어-하위 키워드 연관도 x2, 3,f의 누적값을 이용하여 예약어 C2 및 대표 속성 키워드 k3 간의 기본 예약어-키워드 연관도를 설정할 수 있다. 즉 예약어 C2 및 대표 속성 키워드 k3 간의 기본 예약어-키워드 연관도는 가 될 수 있다. 즉, 하위 키워드 B31 내지 B350에 대해 예약어 C2와의 기본 예약어-하위키워드 연관도 x2,f를 구한 뒤 각각에 대해 해당 하위 키워드에 대한 연관 가중치 y3,f를 반영하여 x2, 3,f를 구하고 x2, 3,f를 누적하여 예약어 C2 및 대표 속성 키워드 k3 간의 기본 예약어-키워드 연관도를 구할 수 있다. 다른 실시 예에 따르면, 예약어 C2 및 대표 속성 키워드 k3 간의 기본 예약어-키워드 연관도는 에 기타 요인에 의한 보정을 가한 값이 될 수 있다. 다른 실시 예에 따르면, 예약어 C2 및 대표 속성 키워드 k3 간의 기본 예약어-키워드 연관도는 과 양의 상관 관계를 가지는 값이 될 수 있다. 여기서는 하나의 대표속성 키워드에 연결돼 있는 하위 키워드가 50개인 것으로 가정하였으나, 대표속성 키워드에 연결돼 있는 하위 키워드의 개수가 달라지면 수식에서 f의 누적 범위가 50이 아닌 다른 값이 될 수 있을 것이다.In
도 16은 본 명세서의 다른 실시 예에 따르는 단계 1340의 상세 순서도이다. 도 16의 단계 1510, 단계 1520의 과정은 도 15를 참조하여 상술한 과정과 동일하므로 반복하지 않는다. 16 is a detailed flowchart of
도 16을 참조하면 단계 1530에서 제어부(320)는 특정 예약어에 대응하는 대표 키워드들 중 상기 예약어와 상기 대응하는 대표 키워드 쌍의 기본 예약어-키워드 연관도가 기준 기본 예약어-키워드 연관도 이하인 대표 키워드에 대한 기본 예약어-키워드 연관도를 삭제할 수 있다. 특정 예약어에 대응하는 대표 키워드들은 상기 특정 예약어와의 관계에서 기본 예약어-키워드 연관도가 설정돼 있는 키워드들을 가리킨다. 기준 기본 예약어-키워드 연관도는 미리 설정돼 있을 수 있다. 다른 실시 예에 따르면 기준 기본 예약어-키워드 연관도는 특정 예약어에 대응하는 기본 예약어-키워드 연관도의 평균값을 이용하여 설정되거나 특정 예약어에 대응하는 기본 예약어-키워드 연관도를 크기 순서대로 배열했을 때 특정 순위의 기본 예약어-키워드 연관도를 이용하여 설정될 수 있다. 기타 특정 예약어에 대응하는 기본 예약어-키워드 연관도들과 양의 상관관계를 가지는 특정 값이 기준 기본 예약어-키워드 연관도가 될 수 있다. 기준 기본 예약어-키워드 연관도는 예약어에 따라 달리 설정될 수도 있고, 모든 예약어에 대해 동일하게 설정될 수도 있다. 기본 예약어-키워드 연관도가 삭제되는 것은 예약어와 대표키워드 사이의 연관도가 없는 것으로 설정되는 것이다. 제어부는 연관도를 0으로 설정할 수도 있고, 기본 예약어-키워드 연관도를 나타내는 리스트(어레이, 기타 자료구조로 대체될 수 있음)에서 상기 예약어와 상기 대응하는 대표 키워드 쌍의 기본 예약어-키워드 연관도에 관한 정보를 삭제하는 방식으로 기본 예약어-키워드 연관도를 삭제할 수도 있다. 기타 기본 예약어-키워드 연관도가 삭제되었음 (또는 연관관계가 삭제되었음)을 알리는 정보를 부가하는 방식이 사용될 수도 있다.Referring to FIG. 16, in step 1530, the
단계 1530의 과정을 거치면 비교적 미세한 연관도를 가지는 기본 예약어-키워드 연관도가 삭제되어(즉, 연관도가 없는 것으로 설정됨) 지나치게 복잡한 연산을 수행하거나 사용자/관리자에게 실질적으로 의미가 없는 연관관계가 표시되지 않도록 할 수 있다.After going through the process of step 1530, the basic reserved word-keyword association, which has a relatively fine degree of association, is deleted (i.e., it is set as no association), so that an excessively complex operation is performed or an association that has no practical meaning to the user/manager It can be suppressed.
도 17은 본 명세서의 또 다른 실시 예에 따르는 단계 1340의 상세 순서도이다.17 is a detailed flowchart of
도 17의 단계 1510, 단계 1520의 과정은 도 15를 참조하여 상술한 과정과 동일하므로 설명을 반복하지 않는다. 도 17의 단계 1530의 과정은 도 16을 참조하여 상술한 과정과 동일하므로 설명을 반복하지 않는다.The processes of
단계 1540에서 제어부(320)는 삭제되지 않고 남아 있는 기본 예약어-키워드 연관도를 노멀라이즈 할 수 있다. 예를 들어 특정 대표 속성 키워드에 연결되어 저장된 기본 예약어-키워드 연관도의 평균값을 특정 범위에 포함되도록 하기 위하여 특정 대표 속성 키워드에 연결되어 저장된 기본 예약어-키워드 연관도들에 일정한 계수를 곱하여 상승시키거나 감소시킬 수 있다. 다른 예를 들어, 특정 대표 속성 키워드에 연결되어 저장된 기본 예약어-키워드 연관도의 총합이 특정 범위에 포함되도록 하기 위하여 특정 대표 속성 키워드에 연결되어 저장된 기본 예약어-키워드 연관도들에 일정한 계수를 곱하여 상승시키거나 감소시킬 수 있다. 즉, 어떠한 특정 대표 속성 키워드에 높은 값의 기본 예약어-키워드 연관도가 집중되어 어떠한 예약어를 선택하더라도 해당 특정 대표 속성 키워드만이 추천/사용되거나 특정 대표 속성 키워드가 거의 사용되지 않는 경우를 방지하기 위해 적당한 조정이 수행될 수 있다.In
다른 실시 예에 따르면 단계 1540에서 제어부(320)는 기본 예약어-키워드 연관도에 일정 계수를 곱하는 대신 일정 계수를 더하거나 로그, 제곱 등의 연산을 결합하여 노멀라이즈를 수행할 수도 있다. 또다른 실시 예에 따르면 특정 기준값 이상의 기본 예약어-키워드 연관도들만을 일부 감소시키거나 특정 기준값 이하의 기본 예약어-키워드 연관도들만을 일부 상승시키는 방식으로 노멀라이즈를 수행할 수도 있다. According to another embodiment, in
또 다른 실시 예에 따르면, 단계 1540에서 제어부(320)는 특정 예약어에 연결되어 저장된 기본 예약어-키워드 연관도의 평균값(또는 총합)을 특정 범위에 포함되도록 노멀라이즈를 수행할 수도 있다.According to another embodiment, in
도 17의 과정 중 단계 1530이 생략되고 기본 예약어-키워드 연관도 노멀라이즈 과정이 수행되는 변형 예도 가능하다.In the process of FIG. 17, step 1530 is omitted, and a modified example in which a basic reserved word-keyword association is also normalized is also possible.
단계 1350에서 통신부(310)가 단말(200)로부터 수신 예약어를 수신하여 획득하고 수신 예약어를 제어부(320)에게 전달한다.In
수신 예약어는 단말(200)이 검색 사용자로부터 수신한 예약어이다. 단말(200)은 음성 입력을 전기적 신호(음성 신호)로 변환하여 검색 장치(300)에게 전달할 수 있다. 검색 장치(300)의 제어부(320)는 음성 신호를 분석하여 텍스트로 변환하고 변환 텍스트를 예약어에 매칭시킬 수 있다. 제어부(320)는 또한 음성 신호를 분석하여 음성의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 정황 정보로서 활용할 수도 있다.The reception reserved word is a reserved word received by the terminal 200 from a search user. The terminal 200 may convert a voice input into an electrical signal (voice signal) and transmit it to the
다른 실시 예에 따르면 단말(200)은 음성 입력을 텍스트로 변환하여 변환 텍스트를 검색 장치(300)에게 전달할 수 있다. 단말(200)은 수신한 음성 입력의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 분석 정보를 검색 장치(300)에게 전달할 수 있다. 검색 장치(300)는 분석 정보를 일종의 정황 정보로서 활용할 수도 있다.According to another embodiment, the terminal 200 may convert a voice input into text and transmit the converted text to the
단계 1360에서 제어부(320)는 객체-키워드 연관도 및 기본 예약어-키워드 연관도를 이용하여 상기 수신 예약어와 각 객체 항목 쌍에 대응하는 예약어-객체 연관도를 획득한다. 단계 1360의 과정은 도 9의 단계 940의 방식 또는 도 12의 방식에 따라 수행될 수 있다. 동일한 내용의 설명은 생략한다.In
단계 1370에서 제어부(320)는 수신 예약어에 대응하는 예약어-객체 연관도에 따라 객체 항목을 제공할 수 있다. 단계 1370의 과정은 단계 950의 과정과 동일한 방식으로 수행될 수 있다. 동일한 설명은 생략한다.In
도 14는 본 명세서의 또 다른 실시 예에 따르는 정보 제공 과정의 순서도이다.14 is a flowchart of a process of providing information according to another embodiment of the present specification.
도 14의 단계 1310, 1320, 1330, 1340, 1350, 1360, 1370은 도 13의 단계 1310, 1320, 1330, 1340, 1350, 1360, 1370과 동일하므로 동일한 설명은 반복하지 않는다.
도 14에서 추가된 단계 1333은 대표 속성 키워드와 하위 키워드가 결정된 이후 어느 시점에라도 수행될 수 있다. 예를 들어 단계 1333은 단계 1330과 동시에/병행하여 수행될 수도 있고 단계 1333의 과정이 단계 1330 도중에 수행될 수도 있다.
단계 1333에서 제어부(320)는 대표 속성 키워드와 하위 키워드 간의 연관 가중치를 저장한다. 연관 가중치가 설정되는 과정이 단계 1330에서 수행되지 않는 경우 도 5의 단계 530의 과정과 동일 유사한 과정을 통해 대표 속성 키워드와 하위 키워드 간의 연관 가중치가 설정될 수 있다. 다른 실시 예에 따르면 제어부(320)는 단계 1330에서 설정된 연관 가중치를 불러오는 방식으로 대표 속성 키워드와 하위 키워드 간의 연관 가중치를 저장할 수도 있다.In
단계 1337에서 제어부(320)는 하위 키워드와 예약어 사이의 기본 예약어-하위키워드 연관도를 획득한다. In
제어부(320)는 예를 들어 하위 키워드가 예약어와 동일 또는 유사한 문맥에 등장하는 빈도를 고려하여 예약어와 하위 키워드 사이의 연관도를 판단할 수 있다. 예를 들어 특정 문장에서 키워드 A의 주변에 등장하는 단어들은 다른 문서에서도 키워드 A와 연관된 단어의 주변에 등장할 수 있으리라고 볼 수 있다. The
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too humid, so I suffered."
위 두 문장을 살펴보면 같은 문맥에서 "더워서"라는 단어가 "습해서"라는 단어로 대체되었다. 제어부(320)는 "덥다"와 "습하다"가 서로 연관된 단어라는 것을 유추할 수 있다.Looking at the above two sentences, the word "because it's hot" has been replaced by the word "because it's wet" in the same context. The
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on vacation with a big heart, but because it was July, it was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "여행"과 "휴가"가 연관된 단어라는 것을 유추할 수 있다.Similarly, the
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was August, the weather was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "7월"과 "8월"이 연관된 단어라는 것을 유추할 수 있다.Similarly, the
제어부(320)는 이전에 수집된 문서들을 통해 "덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 저장해 둘 수 있다 이후 아래와 같은 문장을 수집한다고 가정한다.The
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on vacation with a big heart, but because it was July, the weather was too humid, so I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 힘들었다.""I went on a trip with a big heart, but it was hard because the weather was too hot because it was August."
두 문장이 동일한 문맥은 아니지만 덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 알고 있다면, 제어부(320)는 위 문장을 통해 "고생했다"와 "힘들었다" 역시 연관된 단어임을 학습할 수 있을 것이다.If the two sentences are not the same context, but know that hot" and "wet" are related words, "July" and "August" are related words, and "travel" and "vacation" are related words, the controller 320 ) Through the above sentence, you can learn that "I suffered" and "I had a hard time" are also related words.
동일/유사한 문맥에 등장하는 빈도가 높은 키워드 쌍은 서로 연관도가 높은 것으로 판단할 수 있다. 아울러 두 키워드가 등장하는 문맥의 유사도가 높을수록 두 키워드 사이의 연관도가 높은 것으로 판단할 수 있다. 제어부(320)는 수집되는 문서들을 이용해 학습을 진행하여 키워드들 사이의 연관도를 설정하고, 설정된 키워드 간 연관도와 문장의 문맥을 이용하여 해당 문장에서 등장하는 키워드들의 연관도를 설정하는 식으로 키워드 간 연관도 판단의 정확성을 높일 수 있다.Keyword pairs with a high frequency appearing in the same/similar context may be determined to have a high correlation with each other. In addition, the higher the similarity between the context in which the two keywords appear, the higher the correlation between the two keywords can be determined. The
이와 유사한 학습 방식으로 NNLM(Neural Net Language Model), RNNLM(Recurrent Neural Net Language Model), word2vec, 스킵그램(skipgram) 및 CBOW(Continuous Bag-of-Words)방식이 알려져 있다. 특히 word2vec을 이용할 경우 word2vec은 문서들을 이용해 학습하여 각 키워드들을 벡터에 대응시키고, 두 키워드 사이의 유사도는 두 벡터의 코사인 유사도 계산을 통해 파악할 수 있다.As similar learning methods, NNLM (Neural Net Language Model), RNNLM (Recurrent Neural Net Language Model), word2vec, skipgram, and CBOW (Continuous Bag-of-Words) methods are known. In particular, when word2vec is used, word2vec learns using documents and associates each keyword with a vector, and the similarity between the two keywords can be determined by calculating the cosine similarity of the two vectors.
도 20은 본 명세서의 일 실시 예에 따르는 용어 계층을 나타낸 도면이다.20 is a diagram illustrating a term hierarchy according to an embodiment of the present specification.
도 13 또는 도 14의 과정을 완료하면 예약어들(C1~Cq)과 대표 속성 키워드들(k1~kn), 그리고 하위 키워드들(BX1~BX50) 사이의 계층 관계가 설정된다. When the process of FIG. 13 or 14 is completed, a hierarchical relationship between reserved words (C 1 to C q ), representative attribute keywords (k 1 to k n ), and lower keywords (BX 1 to BX 50 ) is established. .
예약어와 대표 속성 키워드 사이에는 기본 예약어-키워드 연관도가 설정되고, 대표 속성 키워드와 하위 키워드 사이에는 연관가중치가 설정된다. 이러한 계층관계를 이용해 제어부(320)는 예약어에 따라 알맞은 객체를 추천해 주거나 새로운 예약어 후보를 선정하는 등의 동작을 수행할 수 있다. 또한 도 20의 계층 관계는 새로운 자료가 반영되어 도 13, 도 14와 같은 과정을 반복하면서 학습을 통해 계층 관계가 수정되거나 보완될 수 있다.A basic reserved word-keyword association degree is set between the reserved word and the representative attribute keyword, and an association weight value is set between the representative attribute keyword and the sub-keyword. Using this hierarchical relationship, the
도 21은 본 발명의 일 실시예에 따른 가상 입력 인터페이스 프로그램 설치 과정의 순서도이다.21 is a flowchart of a process of installing a virtual input interface program according to an embodiment of the present invention.
단계 2110에서 단말(200)은 정보 제공 장치(300)에게 패키지 요청 메시지를 송신한다. 패키지 요청 메시지는 가상 입력 인터페이스 프로그램을 요청하는 메시지이다. 단계 2120에서 정보 제공 장치(300)는 단말(200)에게 가상 입력 인터페이스 프로그램(패키지)를 전달한다.In
단계 2130에서 단말(200)은 수신한 가상 입력 인터페이스 프로그램(패키지)을 설치한다. 설치가 불필요하고 수신한 가상 입력 인터페이스 프로그램을 그대로 실행할 수 있는 경우 단계 2130은 생략될 수 있다.In
도 22는 본 발명의 일 실시예에 따른 음성 입력 처리 방법을 수행하는 패키지의 인터페이스 페이지를 나타내는 도면이다.22 is a diagram illustrating an interface page of a package that performs a voice input processing method according to an embodiment of the present invention.
도 4, 도 21 및 도 22 를 참조하면, 본 발명의 일 실시예에 따른 음성 입력 처리 방법을 수행하는 인터페이스 페이지는 도 21의 단말에서의 패키지 설치(2130)에 따라 단말에 설치된 패키지의 인터페이스 페이지 일 수 있다.4, 21, and 22, an interface page for performing a voice input processing method according to an embodiment of the present invention is an interface page of a package installed in the terminal according to the
도 22를 참조하면, 본 발명의 일 실시예에 따른 음성 입력 처리 방법을 수행하는 인터페이스 페이지(2200)는 제목표시부(2201), 인기 키토크 표시부(2202), 분야 표시부(2203), 텍스트 입력부(2204) 및 통합 음성 입력 버튼(2205)를 포함한다.Referring to FIG. 22, an
단말(200)의 표시부(220)는 인터페이스 페이지(2200)를 표시한다.The
제목표시부(2201)는 패키지의 제목을 표시한다. 또한 제목표시부(2201)는 공지사항이나 키토크에 대한 힌트등을 표시한다. 키토크에 대한 힌트는 각 분야별로 설정된 속성에 대한 설정값과 속성에 대한 키토크일 수 있다.The
예를 들어, 분야가 스타인 경우 속성에 대한 설정값은 외모, 성격, 분위기, 지성미, 특이취향, 신조어 등이고, 외모에 대한 키토크는 "잘생긴", "귀여운", "화려한", "눈부신", "눈에띄는", "예쁜", "우아한", "육감적인", "관능적인", "빛나는", "통통한", "말끔한", "풋풋한", "아름다운" 등일 수 있다.For example, when the field is a star, the setting values for the attribute are appearance, personality, atmosphere, intelligence, unusual taste, new words, etc., and the keytalk for appearance is "handsome", "cute", "gorgeous", "dazzling" It can be ", "noticeable", "pretty", "elegant", "sensual", "sensual", "shiny", "chubby", "clean", "fresh", "beautiful", etc.
인기 키토크 표시부(2202)는 현재 인기있는 키토크와 키토크가 적용되는 분야를 표시한다. 예를 들어 인기 키토크 표시부(2202)는 키토크 "커플을 위한"과 키토크가 적용되는 분야 "영화"를 함께 표시할 수 있다. 인기 여부는 예를 들어 본 서비스 이용자들의 선택 빈도 또는 타 서비스의 인기검색어 등의 정보를 이용하여 판단할 수 있다. The popular key
분야 표시부(2203)는 분야를 표시한다. 분야는 키토크를 기반으로 정보가 추출되는 항목일 수 있다. 분야는 예를 들어, 스타, 영화, 방송, 웹툰, 맛집, 숙박, 요리, 와인, 아트, 맥주, 여행(국내), 액티비티(국내), 옷, 화장품, 헤어, 선물, 음악, 도서, 쥬얼리, 시계, 패션소품, 아이웨어, 신발, 간편식품, 편의시설, 프랜차이즈음식점, 커피전문점, 가방, 향수 등의 항목일 수 있다. 분야 표시부(2203)는 분야와 함께 분야에 대한 이미지를 함께 표시할 수 있으며, 도면에는 미도시되었으나 사용자가 선택할 수 있는 작은 이미지 또는 글자로 구성된 분야 목록을 표시한다.The
텍스트 입력부(2204)는 음성 대신 사용자로부터 키토크에 대한 텍스트를 입력받거나 사용자가 즐겨찾기로 설정한 키토크를 표시한다.The
통합 음성 입력 버튼(2205)이 선택되면 본 발명의 일 실시예에 따른 음성 입력 처리 방법을 수행하는 패키지가 설치된 단말(200)은 사용자로부터 음성 입력을 수신하기 위한 동작을 수행한다. 즉, 단말(200)의 제어부(250)는 입력부(210)를 작동시키고 표시부(220)를 통해 음성 입력이 작동중임을 표시한다. 예를 들어, 단말(200)은"듣고 있어"등으로 사용자에게 음성 입력이 작동중임을 표시할 수 있다. 입력부(210)는 마이크등의 음성 입력 장치를 포함할 수 있다. 단말(200)의 입력부(210)는 사용자로부터 음성으로 입력어를 입력받으며 입력어는 단어이거나 구문이거나 문장일 수 있다. When the integrated
패키지가 설치된 단말(200)은 입력된 음성을 인식하고 텍스트로 변환한다. 입력된 음성을 인식하고 텍스트로 변환하는 것은 패키지가 설치된 단말(200)의 제어부(250)에 의해 수행되거나 정보 제공 장치(300)가 단말(200)에 입력된 음성에 대한 데이터를 수신하고 음성을 인식한 후 텍스트로 변환하여 변환된 텍스트를 단말(200)로 송신하는 방식으로 수행될 수도 있다.The terminal 200 on which the package is installed recognizes the input voice and converts it into text. Recognizing the input voice and converting it into text is performed by the
패키지가 설치된 단말(200)의 제어부(250)는 변환된 텍스트로부터 분야 관련 단어를 추출하거나 키토크를 추출한다. 예를 들어 사용자가 "그 맛있고 깔끔한 맛집 없냐"라고 음성으로 입력한 경우 패키지가 설치된 단말(200)의 제어부(250)는 사용자가 음성으로 입력한 내용에서 키토크 "깔끔한"과 키토크 "맛있는"과 유사한 "맛있고"를 추출하고 분야에 해당하는"맛집"을 추출한다.The
패키지가 설치된 단말(200)은 추출된 키토크를 기반으로 각 분야에 해당하는 정보를 추출한다. 추출되는 정보는 각 분야에 해당하는 객체 정보일 수 있다. The terminal 200 in which the package is installed extracts information corresponding to each field based on the extracted keytalk. The extracted information may be object information corresponding to each field.
단말(200)은 각 분야별로 각 분야에 해당하는 객체 정보를 표시할 수 있다. 예를 들어 분야가 "맛집"인 경우, 정보제공장치(300)가 제공한 "맛집" 분야에서의 맛집 정보가 표시되며, 분야가 "연예인"인 경우 영화배우나 탤런트, 가수 등의 이미지와 이름이 표시될 수 있다.The terminal 200 may display object information corresponding to each field for each field. For example, if the field is "Gourmet", information about restaurants in the "Gourmet" field provided by the
도 23은 도 22의 통합 음성 입력 버튼을 선택하고 음성을 입력한 결과를 표시하는 인터페이스 페이지를 나타내는 도면이다.FIG. 23 is a diagram illustrating an interface page displaying a result of selecting the integrated voice input button of FIG. 22 and inputting voice.
인터페이스 페이지(2300)는 결과제목표시부(2301), 추천키토크표시부(2302), 결과표시부(2303), 텍스트 입력부(2204) 및 통합 음성 입력 버튼 (2205)를 포함한다.The
결과제목표시부(2301)는 검색결과임을 나타내는 제목을 표시한다.The result
텍스트 입력부(2204) 및 통합 음성 입력 버튼(2205)은 도 22에서 설명된 바 있으므로 반복된 설명을 생략한다.Since the
추천키토크표시부(2302)는 추천하는 키토크를 표시한다.The recommended key
예를 들어, "그 맛있고 깔끔한 맛집 없냐"라고 사용자로부터 음성 입력을 받아 결과를 출력하는 경우, "메뉴가 많은"또는 "근처에 볼거많은"과 같은 키토크가 추천될 수 있다. 또한 추천되는 키토크와 추천되는 분야가 함께 표시될 수 있다.For example, in the case of receiving a voice input from a user saying "Isn't that delicious and neat restaurant" and outputting a result, a key talk such as "There are many menus" or "There are many things to see nearby" may be recommended. Also, recommended keytalk and recommended field may be displayed together.
결과표시부(2303)는 분야표시부(2306)와 전체보기버튼(2037)을 포함한다.The
분야표시부(2306)는 우선순위별로 배열된 분야와 해당 분야와 관련되어 검색된 객체의 수를 표시한다. 우선순위가 가장 높은 분야가 가장 윗쪽 또는 가장 왼쪽에 배치될 수 있다. 사용자는 각각의 결과표시부(2303)를 터치한 채로 윗쪽으로 스크롤하거나 왼쪽으로 스크롤하여 다른 분야에 대한 결과를 검색할 수 있다.The
사용자가 입력한 음성 입력에 분야를 직접 가리키는 용어가 있는 경우 해당 분야의 우선순위가 가장 높으므로 해당 분야의 결과표시부가 가장 윗쪽 또는 가장 왼쪽에 배치된다.If there is a term directly pointing to a field in the voice input input by the user, the priority of the field is the highest, and the result display unit of the field is placed at the top or left.
사용자가 입력한 분야 다음에 검색되는 분야 또는 사용자가 입력한 분야가 없는 경우 검색된 분야는 사용자가 입력한 키토크와의 관련성에 따라 배치된다.The field to be searched after the field input by the user, or if there is no field input by the user, the searched field is arranged according to the relevance to the keytalk input by the user.
키토크는 각 분야에 대해 모두 별도로 설정된다. 예를 들어, "맛집"이라는 분야에는 "개운한/감칠맛나는/소박한/재미있는/이색적인"등의 키토크가, "스타"라는 분야에는 "빛나는/눈에띄는/예쁜/말끔한/건강미넘치는"등의 키토크가 설정될 수 있다.Keytalk is set separately for each field. For example, in the field of "Gourmet", key talks such as "fresh/rich/pretentious/interesting/exotic", and the field of "star", such as "shiny/conspicuous/pretty/clean/healthy The key torque can be set.
각각의 분야별로 키토크를 설정하기 위해 사용되는 기초 문서들의 문서풀이 각각의 분야별로 별도로 관리되며 각 분야별로 해당 기초 문서들의 문서풀로부터 키토크, 대표속성키워드, 하위키워드가 각각 추출되어 설정된다. 또는 관리자가 각각의 분야별로 키토크를 설정할 수도 있다. The document pool of the basic documents used to set the key talk for each field is managed separately for each field, and the key talk, representative attribute keywords, and sub keywords are extracted and set from the document pool of the basic documents for each field. Alternatively, the administrator can set the keytalk for each field.
기초 문서들의 문서풀로부터 키토크, 대표속성키워드, 하위키워드가 각각 추출되고 설정되는 방법은 전술한 바와 같으므로 설명을 생략한다.The method of extracting and setting the keytalk, the representative attribute keyword, and the subkeyword from the document pool of the basic documents, respectively, is the same as described above, so the description is omitted.
각 분야의 기초 문서들의 문서풀은 서로 동일할 수도 있고 각 분야별로 다를 수도 있다.The document pool of basic documents in each field may be the same or different for each field.
해당 분야에 사용자가 음성으로 입력한 키토크가 많이 설정되어 있을수록 해당 분야가 상위 또는 좌측에 배치된다.As the number of keytalks input by the user by voice is set in the field, the field is placed on the upper or the left.
정보제공장치(300)의 제어부(320)는 각 분야에 대하여 전술한 기본 키토크와 대표 속성 키워드간의 연관도 예약어-키워드 연관도 및 객체와 대표 속성 키워드 간의 연관도 객체-키워드 연관도를 산출하고, 이를 이용하여 키토크와 각 객체 항목 쌍에 대응하는 예약어-객체 연관도를 획득한다.The
정보제공장치(300)의 제어부(320)는 분야별로 획득된 예약어-객체 연관도에 따라 예약어-객체 연관도가 높은 순서대로 객체 항목을 단말(200)에 제공할 수 있다.The
사용자가 전체보기버튼(2307)을 선택하면 해당 분야에 대한 결과가 모두 출력된다.When the user selects the view all
도 24는 도 23의 결과표시부에서 전체표시버튼이 선택된 경우 표시되는 인터페이스 페이지를 나타내는 도면이다.24 is a diagram illustrating an interface page displayed when an all display button is selected in the result display unit of FIG. 23.
인터페이스 페이지(2400)는 분야제목표시부(2401), 추천키토크표시부(2302), 결과표시부(2403), 텍스트 입력부(2204) 및 통합 음성 입력 버튼 (2205), 재검색버튼(2404) 및 추가 입력 검색 버튼(2405), 선택사항표시부(2406)을 포함한다.The
분야제목표시부(2401)는 결과가 검색된 분야를 표시한다.The field
추천키토크표시부(2302)는 도 23에서 설명된 바 있으므로 반복된 설명을 생략한다.Since the recommended key
선택사항표시부(2406)는 분야에 대한 검색 결과를 사용자가 선택한 선택사항대로 출력하기 위한 선택사항을 표시한다. 예를 들어 선택사항표시부(2406)는 "내주변" 또는 "메뉴", "맛"등의 선택사항을 표시할 수 있는데 "내주변"이 선택되는 경우 내 주변의 맛집을 출력한다. 또한 선택사항으로 "메뉴"가 선택되는 경우 "담백한", "얼큰한", "칼칼한", "고소한", "매운" 등의 항목을 추가적으로 반영한 결과가 출력될 수 있다.The
선택사항은 분야별로 다를 수 있다. 예를 들어 맛집 분야에는 "메뉴", "맛"등의 선택사항이 표시되나 숙박 분야에는 "숙소타입", "부대시설" 등의 선택사항이 표시될 수 있다. Options may vary by field. For example, options such as "menu" and "taste" may be displayed in the restaurant field, but options such as "accommodation type" and "subsidiary facilities" may be displayed in the accommodation field.
이러한 선택 사항은 관리자에 의해 설정되거나 정보제공장치(300)의 제어부(320)에 의하여 설정될 수 있다.These options may be set by an administrator or may be set by the
사용자는 재검색버튼(2404)을 선택하여 현재 분야에 해당하는 새로운 키토크를 음성으로 입력할 수 있다. 이 경우 패키지가 설치된 단말(200)의 제어부(250)는 사용자가 입력한 음성을 전술한 바와 같이 텍스트로 변환하고 키토크를 추출하며, 분야에 대한 별도의 판단없이 현재 분야에서만 사용자가 입력한 키토크를 사용하여 정보를 요청하고 출력한다. 예를 들어 현재 분야가 사용자가 "그 맛있고 깔끔한 맛집 없냐"라고 입력하여 출력된 "맛집"분야인 경우, 사용자는 재검색버튼(2404)을 선택하여"얼큰하고 감칠맛나는 찌개"라고 입력하고 패키지가 설치된 단말(200)은 현재의 "맛집" 분야에서 키토크 "얼큰한"과 "감칠맛나는"과 관련된 정보를 정보제공장치(300)에 요청하고 그 결과를 수신하여 출력할 수 있다.The user may select the
또한 단말(200)이 사용자가 입력한 음성을 텍스트로 변환하고 키토크를 추출하는 것이 아니라, 사용자가 입력한 음성을 텍스트로 변환하고 변환된 텍스트를 정보 제공 장치(300)에 송신하거나 사용자가 입력한 음성 데이터를 정보 제공 장치(300)에 송신하고 정보 제공 장치(300)가 수신된 음성 데이터를 텍스트로 변환한 후 정보 제공 장치(300)가 단말(200)에 의해 변환된 텍스트 또는 정보 제공 장치(300)가 변환한 텍스트에서 키토크를 추출하고 키토크와 관련된 정보를 검색할 수도 있다.In addition, the terminal 200 does not convert the voice input by the user into text and extract keytalk, but converts the voice input by the user into text and transmits the converted text to the
사용자는 추가 입력 검색 버튼(2405)을 선택하여 현재 분야에 해당하는 추가적인 키토크를 음성으로 입력할 수 있다. 이 경우 패키지가 설치된 단말(200)의 제어부(250)는 사용자가 입력한 음성을 전술한 바와 같이 텍스트로 변환하고 키토크를 추출하며, 분야에 대한 별도의 판단없이 현재 분야에서만 사용자가 기존에 입력한 키토크에 사용자가 추가로 입력한 음성에서 추출된 키토크를 추가하여 정보제공장치(300)에 키토크와 관련된 정보를 요청하고 그 결과를 수신하여 출력할 수 있다.The user may select an additional
예를 들어 현재 분야가 사용자가 "그 맛있고 깔끔한 맛집 없냐"라고 입력하여 출력된 "맛집" 분야인 경우, 사용자는 추가 입력 검색 버튼(2405)을 선택하여 "담백한 국수"라고 추가적으로 입력하고 패키지가 설치된 단말은 현재의 "맛집" 분야에서 키토크 "맛있는", "깔끔한", "담백한" 및 "국수"와 관련된 정보를 추출하여 출력할 수 있다.For example, if the current field is the field of "Gourmet" displayed by the user inputting "Isn't that delicious and neat restaurant", the user selects the additional
또한 단말(200)이 사용자가 입력한 음성을 텍스트로 변환하고 키토크를 추출하는 것이 아니라, 사용자가 입력한 음성을 텍스트로 변환하고 변환된 텍스트를 정보 제공 장치(300)에 송신하거나 사용자가 입력한 음성 데이터를 정보 제공 장치(300)에 송신하고 정보 제공 장치(300)가 수신된 음성 데이터를 텍스트로 변환한 후 정보 제공 장치(300)가 단말(200)에 의해 변환된 텍스트 또는 정보 제공 장치(300)가 변환한 텍스트에서 키토크를 추출하고 새롭게 추출된 키토크 및 기존의 키토크와 관련된 정보를 검색할 수도 있다.In addition, the terminal 200 does not convert the voice input by the user into text and extract keytalk, but converts the voice input by the user into text and transmits the converted text to the
도 25는 본 발명의 일 실시예에 따른 음성 입력 처리 방법을 나타내는 순서도이다.25 is a flowchart illustrating a method of processing a voice input according to an embodiment of the present invention.
도 25를 참조하면, 단계 S2000에서 단말(200)의 제어부(250)는 통합입력버튼이 선택되었는지 판단한다.Referring to FIG. 25, in step S2000, the
통합입력 버튼이 선택되면, 단계 S2501에서 단말(200)의 입력부(210)는 사용자로부터 음성 입력을 수신한다.When the integrated input button is selected, the
단계 S2502에서 단말(200)의 제어부(250)는 수신된 음성 입력을 텍스트로 변환한다. 또는 단말(200)의 제어부(250)는 수신된 음성 입력을 정보 제공 장치(300)에 송신하고 정보 제공 장치(300)가 텍스트로 변환한 결과를 수신하여 키토크를 추출할 수도 있다.In step S2502, the
단계 S2503에서 변환된 텍스트에서 키토크 및 분야 관련 단어를 추출한다.Keytalk and field-related words are extracted from the text converted in step S2503.
단계 S2504에서 단말(200)의 제어부(250)는 키토크 관련 정보를 정보 제공 장치(300)에 요청하고 그 결과를 수신하고 단말(200)에 표시한다. 또는 정보 제공 장치(300)가 단말(200)로부터 수신한 음성 입력을 텍스트로 변환하고 변환된 텍스트에서 키토크와 분야 관련 단어를 추출하고 추출된 키토크 및 분야와 관련한 정보를 검색한 후 그 결과를 단말(200)로 송신할 수도 있다.In step S2504, the
수신된 결과는 분야별로 표시된다.The received results are displayed by field.
단계 S2505에서 특정 분야에 속하는 정보 전체보기버튼이 선택되었는지 판단된다. 전체보기버튼이 선택되면 단계 S2506에서 단말(200)의 제어부(300)는 분야에 해당하는 정보를 모두 표시하고 재검색 버튼, 통합 입력 버튼, 추가 입력검색버튼을 표시한다.In step S2505, it is determined whether a button for viewing all information belonging to a specific field has been selected. When the view all button is selected, in step S2506, the
단계 S2507에서 재검색버튼이 선택되었는지 판단된다.In step S2507, it is determined whether the re-search button has been selected.
재검색 버튼이 선택되면 단계 S2508에서 단말(200)은 사용자로부터 음성 입력을 수신한다.When the re-search button is selected, the terminal 200 receives a voice input from the user in step S2508.
단계 S2509에서 단말(200)의 제어부(250)는 입력된 음성 입력을 텍스트로 변환하고 키토크를 추출한다. 또는 단말(200)의 제어부(250)는 수신된 음성 입력을 정보 제공 장치(300)에 송신하고 정보 제공 장치(300)가 텍스트로 변환한 결과를 수신하여 키토크를 추출할 수도 있다.In step S2509, the
단계 S2510에서 단말(200)은 해당 분야에 대하여 추출된 키토크 관련 정보를 정보 제공 장치에 요청하고, 그 결과를 단말(200)에 표시한다. 또는 정보 제공 장치(300)가 단말(200)로부터 수신한 음성 입력을 텍스트로 변환하고 변환된 텍스트에서 키토크를 추출하고 해당 분야에서만 추출된 키토크 관련 정보를 검색한 후 그 결과를 단말(200)로 송신할 수도 있다.In step S2510, the terminal 200 requests the information providing device for keytalk-related information extracted for the relevant field, and displays the result on the
단계 S2507에서 재검색 버튼이 선택되지 않은 경우, 단계 S2511에서 추가입력검색버튼이 선택되었는지 판단된다.If the re-search button is not selected in step S2507, it is determined whether the additional input search button is selected in step S2511.
추가입력검색버튼이 선택되면 단계 S2512에서 단말(200)은 사용자로부터 음성 입력을 수신한다.When the additional input search button is selected, the terminal 200 receives a voice input from the user in step S2512.
단계 S2513에서 단말(200)의 제어부(250)는 입력된 음성을 텍스트로 변환하고 키토크를 추출한다. 또는 단말(200)의 제어부(250)는 수신된 음성 입력을 정보 제공 장치(300)에 송신하고 정보 제공 장치(300)가 텍스트로 변환한 결과를 수신하여 키토크를 추출할 수도 있다.In step S2513, the
단계 S2514에서 단말(200)은 해당 분야에 대하여 추출된 키토크 및 기존의 키토크와 관련된 정보를 정보제공장치에 요청하고, 그 결과를 단말(200)에 표시한다. 또는 정보 제공 장치(300)가 단말(200)로부터 수신한 음성 입력을 텍스트로 변환하고 변환된 텍스트에서 키토크를 추출하고 해당 분야에서만 추출된 키토크 관련 정보를 검색한 후 그 결과를 단말(200)로 송신할 수도 있다.In step S2514, the terminal 200 requests the information providing device for the extracted keytalk and the existing keytalk-related information for the field, and displays the result on the
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be appreciated that each block of the flowchart diagrams and combinations of the flowchart diagrams may be executed by computer program instructions. Since these computer program instructions can be mounted on the processor of a general purpose computer, special purpose computer or other programmable data processing equipment, the instructions executed by the processor of the computer or other programmable data processing equipment are described in the flowchart block(s). It creates a means to perform functions. These computer program instructions can also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer-usable or computer-readable memory It is also possible to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block(s). Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operating steps are performed on a computer or other programmable data processing equipment to create a computer-executable process to create a computer or other programmable data processing equipment. It is also possible for instructions to perform processing equipment to provide steps for executing the functions described in the flowchart block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a module, segment, or part of code that contains one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative execution examples, functions mentioned in blocks may occur out of order. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order depending on the corresponding function.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this case, the term'~ unit' used in the present embodiment means software or hardware components such as FPGA or ASIC, and'~ unit' performs certain roles. However,'~ part' is not limited to software or hardware. The'~ unit' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, procedures , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables. The components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units', or may be further divided into additional elements and'~ units'. In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.
삭제delete
본 명세서가 속하는 기술분야의 통상의 지식을 가진 자는 본 명세서가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 명세서의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 명세서의 범위에 포함되는 것으로 해석되어야 한다.Those of ordinary skill in the art to which the present specification pertains will appreciate that the present specification may be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. The scope of the present specification is indicated by the scope of the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and the concept of equivalents thereof are included in the scope of the present specification. It must be interpreted.
한편, 본 명세서와 도면에는 본 명세서의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 명세서의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 명세서의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 명세서의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 명세서가 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. Meanwhile, in the present specification and drawings, preferred embodiments of the present specification have been disclosed, and although specific terms are used, these are merely used in a general meaning to easily describe the technical content of the present specification and to aid understanding of the invention. It is not intended to limit the scope of the specification. In addition to the embodiments disclosed herein, it is apparent to those of ordinary skill in the art that other modified examples based on the technical idea of the present specification may be implemented.
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
Claims (18)
상기 음성 입력 처리 장치는,
음성 입력을 수신하기 위한 통합 음성 입력 버튼을 표시하는 표시부;
상기 통합 음성 입력 버튼이 선택되면 사용자로부터 상기 음성 입력을 수신하는 입력부; 및
상기 입력부로부터 입력된 음성을 텍스트로 변환하고 상기 변환된 텍스트로부터 키토크 및 분야 관련 단어를 추출하고, 상기 키토크와 관련된 정보를 상기 정보 제공 장치에 요청하는 제1 제어부;를 포함하며,
상기 정보 제공 장치의 제2 제어부는
각 분야에 대하여 기본 키토크와 대표 속성 키워드 간의 연관도인 예약어-키워드 연관도, 및 객체 항목과 대표 속성 키워드 간의 연관도인 객체-키워드 연관도를 산출하고,
상기 산출된 연관도를 이용하여 키토크와 각 객체 항목 쌍에 대응하는 예약어-객체 연관도를 획득하며,
분야별로 획득된 예약어-객체 연관도에 따라 예약어-객체 연관도가 높은 순서대로 객체 항목을 상기 음성 입력 처리 장치에 제공하는 음성 입력 처리 시스템.A voice input system comprising a voice input processing device and an information providing device having a second control unit connected to the voice input processing device through a communication network,
The voice input processing device,
A display unit that displays an integrated voice input button for receiving a voice input;
An input unit configured to receive the voice input from a user when the integrated voice input button is selected; And
A first control unit for converting the voice input from the input unit into text, extracting keytalk and field-related words from the converted text, and requesting information related to the keytalk to the information providing device, and
The second control unit of the information providing device
For each field, the reserved word-keyword association, which is the degree of association between the basic keytalk and the representative attribute keyword, and the object-keyword association, which is the degree of association between the object item and the representative attribute keyword, are calculated,
A keytalk and a reserved word corresponding to each object item pair are obtained using the calculated degree of association, and an object association degree is obtained,
A voice input processing system that provides object items to the voice input processing device in the order of a high reserved word-object correlation according to the reserved word-object correlation obtained for each field.
상기 키토크는 분야별로 설정되는 음성 입력 처리 시스템.The method of claim 1,
The key talk is a voice input processing system set for each field.
상기 키토크와 관련된 정보는 상기 분야와 상기 분야에 해당하는 정보에 대한 전체보기버튼과 함께 표시되는 음성 입력 처리 시스템.The method of claim 1,
The information related to the key talk is displayed together with a view button for the field and information corresponding to the field.
상기 분야를 선택하거나 상기 전체보기버튼을 선택하면 상기 분야의 모든 정보와 재검색 버튼 및 추가 입력 검색 버튼이 추가로 표시되는 음성 입력 처리 시스템.The method of claim 3,
When the field is selected or the view all button is selected, all information of the field, a re-search button, and an additional input search button are additionally displayed.
상기 입력부는 상기 재검색 버튼 또는 상기 추가 입력 검색 버튼이 선택되면 상기 사용자로부터 음성 입력을 수신하는 음성 입력 처리 시스템.The method of claim 4,
The input unit receives a voice input from the user when the re-search button or the additional input search button is selected.
상기 재검색 버튼이 선택되면 상기 제1 제어부는 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 키토크를 추출하는 음성 입력 처리 시스템.The method of claim 5,
When the re-search button is selected, the first control unit converts the input voice into text and extracts a key talk from the text.
상기 제1 제어부는 상기 분야에서 상기 키토크와 관련된 정보를 상기 정보 제공 장치에 요청하는 음성 입력 처리 시스템.The method of claim 6,
The first control unit is a voice input processing system for requesting information related to the key talk from the information providing device in the field.
상기 추가 입력 검색 버튼이 선택되면 상기 제1 제어부는 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 추가 키토크를 추출하는 음성 입력 처리 시스템.The method of claim 5,
When the additional input search button is selected, the first control unit converts the input voice into text and extracts an additional keytalk from the text.
상기 제1 제어부는 상기 분야에서 상기 키토크 및 상기 추가 키토크와 관련된 정보를 상기 정보 제공 장치에 요청하는 음성 입력 처리 시스템.The method of claim 8,
The first control unit is a voice input processing system for requesting information related to the keytalk and the additional keytalk to the information providing device in the field.
음성 입력을 수신하기 위한 통합 입력 버튼을 표시하며;
상기 통합 입력 버튼이 선택되면 사용자로부터 상기 음성 입력을 수신하며;
상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 키토크 및 분야 관련 단어를 추출하고 상기 키토크와 관련된 정보를 정보 제공 장치에 요청하며;
상기 정보 제공 장치의 제2 제어부에 의해, 각 분야별로 기본 키토크와 대표 속성 키워드 간의 연관도인 예약어-키워드 연관도, 및 객체 항목과 대표 속성 키워드 간의 연관도인 객체-키워드 연관도를 산출하며;
상기 산출된 연관도를 이용하여 키토크와 각 객체 항목 쌍에 대응하는 예약어-객체 연관도를 획득하며;
상기 음성 입력 처리 장치에 분야별로 획득된 예약어-객체 연관도에 따라 예약어-객체 연관도가 높은 순서대로 객체 항목을 제공하는 음성 입력 처리 방법.A voice input processing method by a voice input system comprising a voice input processing device and an information providing device having a second control unit connected to the voice input processing device through a communication network,
Display an integrated input button for receiving voice input;
Receiving the voice input from a user when the integrated input button is selected;
Converting the input voice into text, extracting keytalk and field-related words from the text, and requesting information related to the keytalk from an information providing device;
A second control unit of the information providing device calculates a reserved word-keyword association, which is a degree of association between a basic keytalk and a representative attribute keyword, and an object-keyword association, which is a degree of association between an object item and a representative attribute keyword, ;
Obtaining a keytalk and a reserved word-object correlation corresponding to each object item pair by using the calculated correlation;
A voice input processing method for providing object items to the voice input processing device in a high order of a reserved word-object association according to a reserved word-object association degree obtained for each field.
상기 키토크는 분야별로 설정되는 음성 입력 처리 방법.The method of claim 10,
The key talk is a voice input processing method set for each field.
상기 키토크와 관련된 정보는 상기 분야와 상기 분야에 해당하는 정보에 대한 전체보기버튼과 함께 표시되는 음성 입력 처리 방법.The method of claim 10,
The voice input processing method in which the information related to the key talk is displayed together with a view button for the field and information corresponding to the field.
상기 분야를 선택하거나 상기 전체보기버튼을 선택하면 상기 분야의 모든 정보와 재검색 버튼 및 추가 입력 검색 버튼이 추가로 표시되는 음성 입력 처리 방법.The method of claim 12,
When the field is selected or the view all button is selected, all information of the field, a re-search button, and an additional input search button are additionally displayed.
상기 재검색 버튼 또는 상기 추가 입력 검색 버튼이 선택되면 상기 사용자로부터 음성 입력을 수신하는 음성 입력 처리 방법.The method of claim 13,
A voice input processing method for receiving a voice input from the user when the re-search button or the additional input search button is selected.
상기 재검색 버튼이 선택되면 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 키토크를 추출하는 음성 입력 처리 방법.The method of claim 14,
When the re-search button is selected, the input voice is converted into text and a keytalk is extracted from the text.
상기 분야에서 상기 키토크와 관련된 정보를 상기 정보 제공 장치에 요청하는 음성 입력 처리 방법.The method of claim 15,
A voice input processing method for requesting information related to the key talk from the information providing device in the field.
상기 추가 입력 검색 버튼이 선택되면 상기 입력된 음성을 텍스트로 변환하고 상기 텍스트에서 추가 키토크를 추출하는 음성 입력 처리 방법.The method of claim 14,
When the additional input search button is selected, the input voice is converted into text and an additional keytalk is extracted from the text.
상기 분야에서 상기 키토크 및 상기 추가 키토크와 관련된 정보를 상기 정보 제공 장치에 요청하는 음성 입력 처리 방법.The method of claim 17,
A voice input processing method for requesting information related to the keytalk and the additional keytalk from the information providing device in the field.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180059186A KR102184962B1 (en) | 2018-05-24 | 2018-05-24 | Voice input processing system and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180059186A KR102184962B1 (en) | 2018-05-24 | 2018-05-24 | Voice input processing system and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190134039A KR20190134039A (en) | 2019-12-04 |
KR102184962B1 true KR102184962B1 (en) | 2020-12-01 |
Family
ID=69004249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180059186A KR102184962B1 (en) | 2018-05-24 | 2018-05-24 | Voice input processing system and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102184962B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100898340B1 (en) * | 2007-12-10 | 2009-05-20 | 한국전자통신연구원 | Remote controller having speech transmition function, electronic program guide information retrieval system and method by using the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101741698B1 (en) * | 2010-10-18 | 2017-05-31 | 삼성전자주식회사 | Method for providing search service and display apparatus applying the same |
KR102254894B1 (en) * | 2015-01-05 | 2021-05-24 | 엘지전자 주식회사 | Display device for arranging categories using voice recognition searching results, and method thereof |
-
2018
- 2018-05-24 KR KR1020180059186A patent/KR102184962B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100898340B1 (en) * | 2007-12-10 | 2009-05-20 | 한국전자통신연구원 | Remote controller having speech transmition function, electronic program guide information retrieval system and method by using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20190134039A (en) | 2019-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102247533B1 (en) | Speech recognition apparatus and method thereof | |
US11397740B2 (en) | Method and apparatus for providing information by using degree of association between reserved word and attribute language | |
US11967177B2 (en) | Method for managing item recommendation using degree of association between language unit and usage history | |
JP6932162B2 (en) | Area-based item recommendation terminal device and item recommendation information provision method. | |
KR101955920B1 (en) | Search method and apparatus using property language | |
KR102226742B1 (en) | Information providing method and apparatus using reserved word | |
KR102184962B1 (en) | Voice input processing system and method thereof | |
KR102195691B1 (en) | Apparatus of recommending restaurants based on types and drinking volumes of alcohols and method thereof | |
KR102335408B1 (en) | Method and apparatus for managing movie tribute language | |
KR102279125B1 (en) | Terminal and apparatus for providing recommendation information based on preference filter | |
KR20200012252A (en) | Apparatus of recommending restaurants related items and method thereof | |
KR20200006421A (en) | Apparatus of recommending hot places based on events and method thereof | |
KR20200125507A (en) | Method for recommending item using degree of association between unit of language and using breakdown | |
US20200341977A1 (en) | Method and apparatus for managing attribute language | |
KR20200002223A (en) | Apparatus for providing distribution of item information based on events and method thereof | |
KR102340403B1 (en) | Method and apparatus for managing travel recommended items using language units | |
JP2019164426A (en) | Interaction support device, interaction support method, program, and learning device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |