KR101843865B1 - 앱 이름 검색 방법 및 시스템 - Google Patents

앱 이름 검색 방법 및 시스템 Download PDF

Info

Publication number
KR101843865B1
KR101843865B1 KR1020160085772A KR20160085772A KR101843865B1 KR 101843865 B1 KR101843865 B1 KR 101843865B1 KR 1020160085772 A KR1020160085772 A KR 1020160085772A KR 20160085772 A KR20160085772 A KR 20160085772A KR 101843865 B1 KR101843865 B1 KR 101843865B1
Authority
KR
South Korea
Prior art keywords
name
app
language
application
user terminal
Prior art date
Application number
KR1020160085772A
Other languages
English (en)
Other versions
KR20180005547A (ko
Inventor
문봉재
Original Assignee
(주) 비미오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 비미오 filed Critical (주) 비미오
Priority to KR1020160085772A priority Critical patent/KR101843865B1/ko
Priority to PCT/KR2016/008785 priority patent/WO2018008796A1/ko
Priority to US15/686,701 priority patent/US11829428B2/en
Publication of KR20180005547A publication Critical patent/KR20180005547A/ko
Application granted granted Critical
Publication of KR101843865B1 publication Critical patent/KR101843865B1/ko

Links

Images

Classifications

    • G06F17/30864
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F17/2282
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

사용자 단말기에서 앱 이름을 검색하는 방법에 제공된다.
상기 사용자 단말기가 애플리케이션 저장 서버에 애플리케이션의 다운로드를 요청한다. 상기 사용자 단말기가 당해 사용자 단말기의 설정 언어 및 상기 애플리케이션의 앱 이름을 앱 이름 처리 서버에 전송한다. 상기 앱 이름 처리 서버가, 머신 러닝(machine learning) 기법에 의해 상기 앱 이름에 대응하는 상기 설정 언어로의 표기를 획득하여, 상기 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 설정 언어로의 표기를 저장한다.

Description

앱 이름 검색 방법 및 시스템{METHOD AND SYSTEM FOR SEARCHING THE APPLICATION ON THE DEVICE}
본 발명은 스마트폰 등의 IT 기기에 설치된 앱 이름을 검색하는 방법 및 시스템에 관한 것이다.
스마트폰의 이용이 활발해지면서 그에 따라 스마트폰용 애플리케이션(앱 또는 어플이라고도 불리움)의 갯수 및 종류도 늘어나고 있다. 스마트폰에는 최초 구입시에 기본적으로 몇개의 앱이 설치되어 있으나, 대부분은 사용자가 필요에 따라서 앱을 추가 설치하게 된다.
앱을 추가 설치하다 보면, 적게는 수십개에서 많게는 수백개의 앱이 설치되어 있는 경우도 있다. 앱을 실행하기 위해서는 설치된 앱의 아이콘이 나열되어 있는 화면을 넘겨가면서 해당 앱의 아이콘을 터치하는 방식이 통상적이다. 그런데, 설치된 앱이 너무 많다 보면, 원하는 앱의 아이콘을 찾는 데에도 시간이 걸릴 수 있다. 여러개의 화면을 스크롤해 가면서 앱의 아이콘을 찾다 보면 당해 화면에 아이콘이 있음에도 불구하고 간과하고 넘겨버리는 경우도 있고, 앱 아이콘이 폴더 안에 있으면 직관적으로 찾기 힘든 등, 불편함이 있다.
이러한 문제점을 해결하기 위해서, 스마트폰은 통상적으로 앱 이름을 검색하여 찾아주는 기능을 탑재하고 있는 경우가 많다. 즉, 앱 이름 검색 메뉴를 실행시키고 앱의 이름의 일부 또는 전부를 입력하면 입력한 문자를 포함하는 앱의 이름을 모두 보여주는 것이다.
종래 기술은 이하의 문제점을 갖는다.
스마트폰의 사용자가 플레이스토어(PlayStore) 또는 다른 스토어(마켓이라고도 함)에서 스마트폰 앱을 다운로드 받으면, 당해 스마트폰 앱을 실행시킬 수 있는 아이콘이 생성된다. 당해 아이콘의 아래에는 앱의 이름이 작게 표시된다. 아이콘이 많은 경우 등에 대비하여, 스마트폰은 전술한 바와 같은 앱 이름 검색 수단을 제공한다. 그런데, 이러한 앱 이름 검색도 완전한 것은 아니며, 예컨대, 앱 이름이 "starbucks"로 등록되어 있는 상황에서 검색란에 "스타벅스"라고 검색하면 검색되지 않는다. 즉, 앱 이름 검색 프로그램은 "starbucks"와 "스타벅스"를 전혀 연관시키지 않으며, 단지 검색 문자열 그 자체만을 가지고 검색을 행한다.
도 6, 7a, 7b, 8은 이러한 앱 이름 검색의 종래예를 나타내는 도면이다.
상기 starbucks와는 다른 예로, 음악 관련 서비스인 "멜론" 앱이 설치되어 있는 스마트폰에서 사용자가 앱 검색란에 "멜론"이라는 문자열을 입력한 경우를 생각해 볼 수 있다. 그러나, 도 6에서 볼 수 있는 바와 같이, "멜론"이라는 문자열에 대한 검색 결과가 없음을 볼 수 있다. 사용자는 본인의 스마트폰에 분명히 멜론 앱이 깔려 있는데도 불구하고 검색이 되지 않는 결과를 접한 것이다. 그러면 사용자가 취할 수 있는 방법은, 첫째로 자신의 스마트폰에 깔린 앱을 모두 찾아보는 것이거나, 둘째로 혹시 앱 이름이 한글이 아닌가 하는 데에 생각이 미치면 다른 언어(예컨대 영어)로 다시 검색을 해 보는 것이다.
상기 첫째 방법은 도 7a, 7b와 같이 여러개의 앱 아이콘이 나열된 중에서 멜론 앱을 찾는 것이다. 도 7a에는 멜론 앱이 없음을 알 수 있다. 더욱이, 아이콘 중에 'Google', '도우미', '편의기능'은 폴더이므로, 폴더를 클릭하여 그 안까지 살펴보아야 멜론 앱이 있는지 없는지 알 수 있는 불편이 있다. 다음 화면으로 도 7b에서 "MelOn"이라는 앱 이름을 찾을 수 있다. 즉, 앱 이름이 한국어가 아니라 영어로 되어 있었기 때문에 검색이 되지 않은 것이다.
만약, 상기 첫째 방법을 거치지 않고, 사용자가 '혹시 앱 이름이 영어로 등록되어 있나'하는 데에 생각이 미치면 도 8과 같은 앱 검색 기능을 사용할 수 있을 것이다.
다른 예로, 앱 이름이 "internet"인 경우에 검색어로 "인터넷"을 사용하는 경우에도 마찬가지로 검색이 되지 않는다. 이 경우, 사용자는 당황하게 되고, 혹시 앱 이름이 "인터넷"이 아니고 "internet"일 수도 있다는 데에 생각이 미치면 "internet"을 검색어로 하여 다시 검색이 가능하지만, 그에 생각이 미치지 못할 수도 있고, 설사 생각이 미친다 해도 재차 검색을 행한다는 불편함은 여전히 남아있다. 역으로, 앱 이름이 "인터넷"인 경우에 검색어로 "internet"을 사용하는 경우에도 마찬가지 상황이 발생한다.
스마트폰 운영체계(예컨대, 안드로이드(Android)나 아이오에스(iOS))는 이러한 문제점에 대비하여, 제한적이나마 언어 설정을 바꾸는 기능을 제공하는 경우도 있다. 예컨대, 한글 모드에서는 앱 이름이 "인터넷"으로 표시되게 하고, 언어 설정 모드를 바꾸어 영어 모드가 되면 앱 이름이 "internet"으로 바뀌어 표시되게 하는 것이다. 그러나, 이 경우, 한글 모드에서 "internet"으로 검색하거나 영어 모드에서 "인터넷"으로 검색하면 결과가 나오지 않는다.
한편, 영어 앱 이름을 현행 외래어 표기법에 기초하여 한글로 파악하여 자동으로 함께 검색해 주는 방법도 생각할 수 있을 것이다. 즉, 검색어 란에 영어가 입력되면 당해 입력된 검색어 자체로도 검색을 행하고, 또한 당해 검색어(영어)를 외래어 표기법에 기반하여 한글로 바꾸고 그 바뀐 한글로도 검색을 행하는 것이다. 그러나, 외래어 표기법에 따라 읽은 것과 실제 사용되는 발음 사이의 간극이 큰 경우가 많다.
예컨대 "power point"라는 앱 이름을 갖는 앱이 설치되어 있다고 가정하자. 앱 이름 검색어 란에 "power"라고 입력하면 위 앱 이름이 검색 결과에 포함될 것이다. 그런데, 전술한 외래어 표기법을 사용하여 검색을 보조하는 시스템에서 "파워"라고 검색어 란에 입력하면 "power point"라는 앱 이름이 검색되지 않을 수도 있다. 그 이유는 "power point"를 현행 외래어 표기법에 맞추어 읽으면 '파워 포인트'가 아니라 '파우어 포인트' 내지는 '파우얼 포인트'로 읽히기 때문이다. 물론, 반드시 외래어 표기법에 의한 발음으로만 정해지는 것이 아니라, 의미를 생각하여 새롭게 이름을 정하는 경우도 상당수 있을 것이며, 이 경우에도 외래어 표기법은 무용지물이 된다.
다른 예로서, "samsung"이라는 앱 이름이 존재하는 경우에 "삼성"이라고 검색하면, 전술한 외래어 표기법을 사용하여 검색을 보조하는 시스템이라도 검색 결과가 나오지 않을 수 있다. 그 이유는 외래어 표기법에 기초하면 "samsung"은 '샘성' 또는 '샘숭'으로 발음된다고 파악될 수도 있기 때문이다.
물론, "starbucks"라는 앱 이름은 외래어 표기법에 의하더라도 '스타벅스' 또는 '스탈벅스'로 발음될 가능성이 높으므로 "스타벅스"라는 검색어로 정확히 검색될 수도 있다. 그러나, '스타벅스'는 검색되고, '파워 포인트', '삼성'은 검색되지 않는 시스템은 그 신뢰도가 상당히 떨어진다고 볼 수 있다. 물론, 외래어 표기법대로가 아니라, 의미를 생각하여 새롭게 이름을 정하는 경우에도 이러한 시스템은 무용지물이 된다.
본 발명에 의하면, 사용자 단말기에서 앱 이름을 검색하는 방법으로서, (a) 상기 사용자 단말기가 애플리케이션 저장 서버에 애플리케이션의 다운로드를 요청하는 단계; (b) 상기 사용자 단말기가 당해 사용자 단말기의 설정 언어 및 상기 애플리케이션의 앱 이름을 앱 이름 처리 서버에 전송하는 단계; 및 (c) 상기 앱 이름 처리 서버가, 머신 러닝(machine learning) 기법에 의해 상기 앱 이름에 대응하는 상기 설정 언어로의 표기를 획득하여, 상기 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 설정 언어로의 표기를 저장하는 단계를 포함하는 앱 이름 검색 방법이 제공된다.
바람직하게는, 상기 (b) 단계에서, 상기 설정 언어는 당해 사용자 단말기에 설정된 언어에 대한 정보 또는 당해 사용자 단말기에 설치된 키보드의 언어에 대한 정보일 수 있다.
바람직하게는, 상기 (c) 단계는, (c1) 상기 앱 이름 처리 서버가, 당해 앱 이름 처리 서버에 연결된 앱 이름 데이터베이스 내에, 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 있는지 판단하는 단계; (c2) 상기 (c1) 단계의 판단에서 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 있다면, 상기 앱 이름 처리 서버는 당해 표기 정보를 상기 사용자 단말기에 전송하고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 표기 정보를 업데이트하는 단계; 및 (c3) 상기 (c1) 단계의 판단에서 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 없다면, 머신 러닝 기법에 의해 상기 앱 이름을 상기 설정 언어로 변환한 이름을 얻고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 변환한 앱 이름을 업데이트하는 단계를 포함할 수 있다.
바람직하게는, 상기 (c3) 단계는, 상기 앱 이름 처리 서버는 상기 앱 이름을 상기 설정 언어의 외래어 표기법에 따라 변환하여 외래어 변환 앱 이름을 얻고, 당해 외래어 변환 앱 이름을 머신 러닝 기법으로 수정하여 수정 외래어 변환 앱 이름을 얻고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 수정 외래어 변환 앱 이름을 업데이트할 수 있다.
바람직하게는, 상기 앱 이름은 제1 언어로 되어 있고, 상기 설정 언어는 상기 제1 언어와 상이한 제2 언어일 수 있다.
바람직하게는, 상기 설치된 키보드의 언어가 2개 이상이면, 당해 2개 이상의 언어 모두에 대해 상기 (c) 단계에서의 상기 설정 언어로의 표기 획득을 행할 수 있다.
바람직하게는, 상기 (c) 단계 이후에, 상기 사용자 단말기에서 앱 이름 검색을 행할 때, 상기 사용자 단말기에 현재 설치되어 있는 앱 이름 중에서만 검색을 행하는 것이 아니라, 상기 앱 검색용 데이터베이스에 저장된, 상기 앱 이름에 대응하는 상기 설정 언어로의 표기까지 포함하여 검색을 행하는 단계를 포함할 수 있다.
본 발명에 의하면, 전술한 앱 이름 검색 방법을 수행하는 앱 이름 검색 시스템으로서, 상기 사용자 단말기; 상기 사용자 단말기로부터 상기 애플리케이션의 다운로드 요청을 받는 상기 애플리케이션 저장 서버; 상기 사용자 단말기로부터 상기 설정 언어 정보 및 상기 앱 이름을 전달받아 처리하는 앱 이름 처리 서버; 상기 앱 이름 처리 서버에 연결된 앱 이름 데이터베이스; 및 상기 사용자 단말기에 연결된 상기 앱 검색용 데이터베이스를 포함하는 앱 이름 검색 시스템이 제공된다.
본 발명에 의하면, 설치된 앱 이름을 정확히 몰라도 검색이 가능하다. 예컨대, 스마트폰에 "facebook"이라는 앱이 설치되어 있는 상태에서 "페이스북"이라고 검색해도 "facebook"이라는 앱이 검색된다.
이는 단순한 번역에 그치는 것이 아니라, 머신 러닝 등의 기법을 활용한 신뢰성 있는 앱 이름 검색을 제공한다. 단순히 번역이나 외래어 표기법 등에만 의존하여 앱 이름을 검색하는 경우에는 신뢰성 있는 대응 이름(예컨대, "facebook"이 앱 이름이라면, "페이스북"은 한국어로의 대응 이름)을 찾을 수 없는 경우가 많지만, 본 발명에 의하면 네트워크를 통해 대응 이름의 적절성을 검증하는 과정을 거치므로 신뢰성 있는 앱 이름 검색이 가능하다.
또한, 앱 이름 검색시에 실시간으로 네트워크에서 대응 이름을 찾는 것이 아니라, 미리(즉, 앱 다운로드시에) 데이터베이스를 만들어 두는 것이기 때문에 앱 이름 검색시에 사용자 단말기(스마트폰 등)에 부하가 걸리는 일도 없다.
도 1은 본 발명의 방법에 따른 흐름도를 나타낸다.
도 2는 본 발명의 시스템의 개념도를 나타낸다.
도 3은 현재 설정 언어 또는 현재 설치된 키보드의 언어를 알아내는 코드를 나타내는 도면이다.
도 4는 본 발명을 적용한 일예이다.
도 5는 본 발명을 적용한 다른 예이다.
도 6은 앱 이름 검색의 종래예를 나타내는 도면이다.
도 7a 및 7b는 앱 이름 검색의 종래예를 나타내는 도면이다.
도 8은 앱 이름 검색의 종래예를 나타내는 도면이다.
이하, 도면을 참조하여 본 발명에 따른 시스템 및 방법을 설명한다.
도 1은 본 발명의 방법에 따른 흐름도를 나타낸다.
단계 101에서, 네트워크(인터넷 등)에 연결된 스마트폰(태블릿 PC 등의 다른 IT 기기라도 무방함)의 사용자가 당해 IT 기기를 통해 앱 마켓에서 특정 앱을 다운로드 시도하거나 다운로드를 완료한다.
단계 102에서, 네트워크를 통하여 현재 스마트폰의 '설정 언어' 또는 '설치된 키보드 언어' 정보와 다운로드를 요청한(또는 다운로드를 완료한) 앱의 이름 정보를 서버에 전송한다. 예컨대, A라는 사용자의 설정 언어는 중국어이고 설치된 키보드 언어는 중국어 및 영어이고, 다운로드 받은 앱의 명칭은 "Samsung Music"인 경우를 상정할 수 있다.
단계 103에서, 서버에서는 기존에 기록된 레코드(record)에서 "Samsung Music"에 해당하는 중국어 표기 정보가 존재하는지 파악하여 스마트폰에 전달한다. 만약 존재하지 않는다면 서버는 우선 "Samsung Music"을 중국의 외래어 표기법으로 1차적으로 찾고, 찾은 결과를 토대로 머신 러닝(Machine Learning) 기법으로 "Samsung Music"에 대응되는 중국어가 "
Figure 112016065578169-pat00001
Figure 112016065578169-pat00002
"임을 확보한다.
단계 104에서, 검색 결과를 스마트폰으로 보내고, 스마트폰에 내장된 앱 검색용 데이터베이스(DB)를 업데이트한다.
단계 105에서, 스마트폰에 설치된 앱을 검색할 때에, "Samsung Music"이라고 검색하면 당연히 "Samsung Music"이라는 이름으로 설치된 앱이 검색되는 것이며, 그 외에도 설정 언어 또는 설치된 키보드 언어인 중국어로 "
Figure 112016065578169-pat00003
Figure 112016065578169-pat00004
"이라는 검색어를 입력해도 "Samsung Music"이라는 이름으로 설치된 앱을 검색할 수 있다.
이하, 다른 예를 들어 상기 단계 101~105에 해당되는 사항을 다시 상세히 설명한다.
"facebook" 앱이 설치되면 현재 기기(스마트폰 등)에 설정된 시스템 언어를 확인한다. 시스템 언어가 한글이라고 가정하면, facebook의 한글 이름에 해당하는 "페이스북"을 검색용 인덱스에 추가해 둔다.
facebook의 한글 이름에 해당하는 것이 "페이스북"이라는 점을 알아내는 방법의 일예는 다음과 같다.
네트워크를 통해, facebook에 해당하는 한국어 표기, 일본어 표기, 중국어 표기를 머신 러닝 기반으로 찾는다. 즉, 머신 러닝 기법을 통해, 인터넷 상에 올라온 facebook에 해당하는 각 언어별 표기법을 학습하거나, 통계적 학습(statistical machine translate) 기법 등을 이용하여 모델 페어(pair)를 구축한다.
위 예에서는 영어, 중국어의 경우(Samsung Music,
Figure 112016065578169-pat00005
Figure 112016065578169-pat00006
), 영어, 한국어(facebook, 페이스북)의 경우를 예로 들었으나, 3가지 이상의 언어에 대해서도 본 발명이 적용될 수 있음은 물론이다.
예컨대, 스타벅스 앱은 "starbucks", "星巴克", "스타벅스", "スタ-バックス"로 표기되는 여러 버전이 있을 수 있다. 만약 "starbucks"라는 이름의 앱만이 설치된 경우라면, 안드로이드 론처(Android launcher)는 "starbucks"라는 이름만을 가지고 있으며, "星巴克", "스타벅스", "スタ-バックス"에 대해서는 전혀 알지 못한다. 그러나, 본 발명에 의하면, 설정언어가 중국어이거나 중국어 키보드가 설치되어 있는 경우, "星巴克"라는 검색어로도 "starbucks" 앱을 찾을 수 있다. 또한, 설정언어가 한국어이거나 한국어 키보드가 설치되어 있는 경우, "스타벅스"라는 검색어로도 "starbucks" 앱을 찾을 수 있다. 또한, 설정언어가 일본어이거나 일본어 키보드가 설치되어 있는 경우, "スタ-バックス"라는 검색어로도 "starbucks" 앱을 찾을 수 있다. 물론, 설치된 앱 이름이 "스타벅스"이고 설정 언어가 중국어라면, "星巴克"라는 검색어로 "스타벅스" 앱을 찾을 수 있다. 즉, "starbucks", "星巴克", "스타벅스", "スタ-バックス"는 서로 그룹핑(grouping)이 되어 있어, 상호간 검색이 가능하다. 이는 AI에 의한 딥 러닝 등으로 대응 검색어를 찾아두어 데이터베이스(예컨대, 사용자 단말기(201) 내부의 데이터베이스(201-1)를 구축해 둠으로써 가능하다.
"minecraft"라는 게임 앱을 예로 들면, 이는 중국어로는 "我的世界", 일본어로는 "マインクラフト", 한국어로는 "마인크래프트"라고 표기될 수 있다. 이는 단순히 번역이나 외래어 표기법에 의해서는 얻을 수 없는 정보이다. 예컨대, 단순 번역 기능에 의존하면 minecraft의 mine은 광산, 지뢰, 나의 것이라는 여러가지 의미가 있고, craft 또한 공예, 제조, 비행기, 선박, 솜씨 등의 여러가지 의미가 있어서, 통상적으로 어떻게 불리우는지 파악하기 힘들다는 문제가 있고, 또한 minecraft를 그대로 읽어서 '마인크래프트'라고 발음한다고 추정할 수도 있지만, 이는 말 그대로 추정일 뿐, 실제로 그러한지까지 검증할 수는 없다. 따라서, 네트워크를 통해, 인공지능(AI; Artificial Intelligence)으로 하여금 딥 러닝(deep learning) 또는 머신 러닝 과정을 거치도록 하면 "minecraft"는 한국어로는 "마인크래프트"라고 하는 것이 일반적이고, 중국어로는 "我的世界"라고 하는 것이 일반적이고, 일본어로는 "マインクラフト"라고 하는 것이 일반적이라는 것이 충분히 검증될 수 있다. 이 예에서 한국어 및 일본어는 minecraft를 그대로 읽었고, 중국어는 minecraft를 의역하였음을 알 수 있으며, 이는 단순히 번역 서비스 또는 외래어 표기법에만 의존해서는 알 수 없는 정보이다. 다만, 모든 앱 이름에 대해서 한국어 및 일본어는 영어 그대로 읽어서 발음하고 중국어는 의역하는 것이 아님은 물론이며, 그렇기 때문에 더욱더 AI에 의한 딥 러닝 등의 네트워크 이용의 필요성이 커진다고 볼 수 있다.
전술한 마인크래프트, 我的世界, マインクラフト, minecraft를 서로 대응시키는 것, 그리고 삼성, Samsung을 서로 대응시키는 것(즉, 페어(pair)를 형성, 또는 그룹(group)을 형성)은 일종의 데이터베이스(DB)를 구축함을 의미한다.
마찬가지 원리로, "삼성 페이"라는 검색어로 "Samsung Pay"라는 앱을 검색할 수 있다. 즉, 영어로 표기된 앱을, 자국어(한국어)를 검색어로 하여 검색할 수 있다.
한편, 앱 이름 검색에 중점을 두어 설명하였으나, 앱 이름 검색 뿐만 아니라, 예컨대 삼성 전자 제조의 스마트폰에 탑재되는 'S 파인더' 검색 툴에 위 기능을 구현할 수도 있을 것이다. S 파인더는, 앱 이름 뿐만 아니라, 당해 스마트폰 내에 있는 다른 정보(연락처, 파일명 등)까지를 검색 대상으로 하는 것이다.
도 2는 본 발명의 시스템의 개념도를 나타낸다.
사용자 단말기(201; 스마트폰, 태블릿 PC 등의 IT 기기)는 앱 마켓 서버(203; 애플리케이션이 저장되어 있고 단말기로 전송해 주는 서버(이하 편의상, 애플리케이션 저장 서버라고도 함))에 접속하여 앱 다운로드를 요청한다(도 1의 단계 101과 관련됨).
당해 앱 다운로드 요청시 또는 당해 앱 다운로드 완료시에 사용자 단말기(201)는 본 발명의 서버(203; 이하 편의상, 앱 이름 처리 서버라고도 함)에 사용자 단말기의 현재 설정 언어 또는 설치된 키보드의 언어에 대한 정보, 그리고 다운로드 요청된(또는 다운로드 완료된) 앱의 이름 정보(도 1에서와 같이 "Samsung Music"을 예로 들 수 있다)를 앱 이름 처리 서버(203)에 전송한다. 앱 마켓 서버(202)와 앱 이름 처리 서버(203)가 별개로 도시되었으나, 앱 마켓 서버(202)가 앱 이름 처리 서버(203)로서도 동작하도록 구성되는 경우라면, 하나의 서버가 두 기능을 모두 수행해도 무방하다(도 1의 단계 102와 관련됨).
앱 다운로드 요청시 또는 앱 다운로드 완료시라고 했으나, 그 사이의 시기라도 무방하다. 또한, 다운로드 완료 이후라도, 완료 후 소정의 짧은 시간 내(예컨대, 다운로드 완료 후 10분 내)라면 큰 의미에서 보아 다운로드시라고 보아도 무방할 것이다.
언어 정보 및 앱 이름 정보를 전송받은 앱 이름 처리 서버(203)는 서버(203)의 자체 DB(203-1)를 검색하여 기존의 기록에서 앱 이름 정보에 해당하는 "Samsung Music"에 해당하는 현재 단말기의 설정 언어(예컨대, 중국어)의 표기가 존재하는지를 파악한다. 앱 이름("Samsung Music")의 중국어 표기("
Figure 112016065578169-pat00007
Figure 112016065578169-pat00008
")가 앱 이름 처리 서버(203)의 DB(203-1) 내에 존재한다면 당해 중국어 표기를 사용자 단말기(201)에 전달한다. 사용자 단말기(201)는 이를 내부 DB(201-1)에 저장한다. 내부 DB(201-1)는 예컨대 파일의 형태로 사용자 단말기(201)의 저장 장치에 저장되어 있을 수 있다(도 1의 단계 103과 관련됨).
한편, 다운로드된(또는 요청된) 앱 이름("Samsung Music")의 중국어 표기("
Figure 112016065578169-pat00009
Figure 112016065578169-pat00010
")가 앱 이름 처리 서버(203)의 DB(203-1) 내에 존재하지 않는다면, 앱 이름 처리 서버(203)는 현재 설정 언어(예컨대, 중국어)의 외래어 표기법에 기초하여 "Samsung Music"의 중국어 표기를 찾는다. 그런데, 이렇게 해서 찾은 중국어 표기는 실제로 통용되는 것인지 알 수 없다. 따라서, 외래어 표기법에 기초하여 얻은 중국어 표기를 그대로 사용하는 것이 아니라, 검색 엔진 등에서 사용되는 머신 러닝 기법으로 신뢰성을 확보하면서 "Samsung Music"에 대응하는 중국어 표기가 "
Figure 112016065578169-pat00011
Figure 112016065578169-pat00012
"라는 정보를 얻을 수 있다(도 1의 단계 103과 관련됨).
DB(203-1)은 반드시 서버(203)의 내부에 존재하지 않아도 되고, DB(201-1)은 반드시 사용자 단말기(201)의 내부에 존재하지 않아도 무방하다. 다만, DB(201-1)은 사용자 단말기(201)의 내부에 존재하는 편이 사용상 편리할 것이다.
앱 이름 처리 서버(203)는 이 검색 결과(즉, 외래어 표기법에 기초하여 얻은 표기를 머신 러닝 기법으로 확인하여 실제 통용되는 표기 정보를 얻은 것)를 사용자 단말기(201)에 전달한다. 사용자 단말기(201)는 전달받은 정보에 따라 DB(201-1)의 앱 검색용 데이터베이스 자료를 업데이트한다(도 1의 단계 104와 관련됨).
이러한 절차를 거친 후에 사용자 단말기(201)에서 앱 이름 검색을 행하면, "Samsung Music"이라는 검색어를 통해서도 "Samsung Music" 앱이 검색되고, "
Figure 112016065578169-pat00013
Figure 112016065578169-pat00014
"라는 검색어를 통해서도 "Samsung Music" 앱이 검색된다(도 1의 단계 105와 관련됨).
도 3은 현재 설정 언어 또는 현재 설치된 키보드의 언어를 알아내는 코드를 나타내는 도면이다.
구글 안드로이드 운영체제와 애플 iOS 운영체제에 대한 코딩을 각각 나타내었으며, 그 외의 다른 운영체제에서도 동일한 원리로 알아낼 수 있다.
위에서는 한국어, 중국어, 영어 등을 예로 들었으나, 언어는 그에 한정되지 않고, 사용자 단말기에서 지원하는 모든 언어에 대해 적용가능하다. 앱 이름의 언어와 스마트 기기의 설정 언어가 동일해도 무방하지만, 앱 이름의 언어(예컨대, 영어)와 현재 스마트 기기의 설정 언어(예컨대, 한국어, 중국어 등)가 다른 경우에 본 발명이 더욱 유용할 것이다.
예컨대, 스마트 기기에서 지원하는 언어의 예는 Japanese, Chinese, Deutsch, English, Espanol, French, Italiano, Portugeses, Tieng Viet, Russian, Korean 등 여러가지가 있으며, 각각의 언어에 대해서 전술한 본 발명의 사상이 적용될 수 있음은 물론이다.
도 4는 본 발명을 적용한 일예이다.
"Starbucks"라는 앱이 스마트폰에 설치되어 있는 경우에, 검색어에 "Starbucks"라고 입력하면, 당해 앱이 검색될 것임은 당연하다. 그러나, 본 발명에 의하면, 도 4(a)와 같이 앱 이름 검색란에 "스타벅스"라고 입력해도 "Starbucks" 앱이 검색되고, 도 4(b)와 같이 앱 이름 검색란에 "星巴克"라고 입력해도 "Starbucks" 앱이 검색되고, 도 4(c)와 같이 앱 이름 검색란에 "スタ-バックス"라고 입력해도 "Starbucks" 앱이 검색된다.
대부분의 IT 기기에서 설정 언어는 한 가지이지만, 키보드는 복수개의 언어가 설치될 수 있다. 만약 어느 스마트폰에 한국어 키보드, 영어 키보드, 중국어 키보드, 일본어 키보드가 모두 설치되어 있었다면, Starbucks 앱을 다운로드 받는 과정에서 앱 이름인 영어 "Starbucks"에 대응되는 한국어, 중국어, 일본어 표기가 스마트폰(201)의 앱 검색용 데이터베이스(201-1)에 업데이트될 것이므로, 본 발명에 의하면 위 예와 같이 "Starbucks" 앱을 한국어, 영어, 중국어, 일본어 중 어느 언어를 이용해서도 검색 가능하게 된다. 이는 사용자에게 큰 편의성을 제공한다.
도 5는 본 발명을 적용한 다른 예이다.
마찬가지로, "facebook"이라는 앱이 스마트폰에 설치되어 있는 경우에, 검색어에 "facebook"이라고 입력하면, 당해 앱이 검색될 것임은 당연하다. 그러나, 본 발명에 의하면, 도 5(a)와 같이 앱 이름 검색란에 "페이스북"이라고 입력해도 "facebook" 앱이 검색되고, 도 5(b)와 같이 앱 이름 검색란에 "
Figure 112016065578169-pat00015
"라고 입력해도 "facebook" 앱이 검색되고, 도 5(c)와 같이 앱 이름 검색란에 "フェイスブック"라고 입력해도 "facebook" 앱이 검색된다. 이 역시, 사용자에게 큰 편의성을 제공한다.
도 4, 도 5는 키보드에서 특정 언어로 단어를 직접 입력하는 경우의 예이지만, 예컨대, 도 4(a), 도 5(a)와 같이 한국어 키보드가 활성화되어 사용되고 있더라도, 다른 곳에서 카피(copy)한 일본어 문자열(예컨대, "スタ-バックス")을 검색란에 페이스트(paste)하면 반드시 일본어 키보드가 활성화되지 않은 상태에서도 일본어 검색어를 입력할 수 있을 것이며, 스타벅스에 대응하는 일본어 표기인 "スタ-バックス"가 데이터베이스(201-1)에 저장되어 있는 경우라면, "Starbucks" 앱이 검색 결과에 나타날 것이다.
설정 언어 및 키보드 언어가 실제로 당해 스마트폰에서 사용되는 언어이므로, 설정 언어 및 키보드 언어에 대해서만 대응 앱 이름의 그룹(또는 페어(pair))을 만드는 것이 데이터 전송량 및 연산량을 최소화하므로 효율적이며, 위 예는 그러한 경우에 대한 것이다. 그러나, 다른 방법으로서, 필요에 따라서는, 설정 언어 및 키보드 언어와 무관하게 몇개의 언어(영어, 일본어, 중국어, 프랑스어, 독일어 등)를 미리 정해 두고 앱 다운로드시에 그 미리 정해진 몇개의 언어에 대해서 각 국 언어에 따른 앱 이름 표기 정보를 얻는 변형예도 가능할 것이다. 물론, 이 경우 데이터 전송량 및 연산량이 늘어나는 단점이 있으므로, 스마트폰의 운영체계에서 지원하는 모든 언어의 전체 또는 부분 집합 중에서 미리 정해두되, 필요에 따라 언어의 갯수 및 종류를 적절히 제한하는 것이 바람직할 것이다.
위에서는 특정의 예를 들어 설명하였으나, 본 발명은 상기 실시예에 한정되지 않으며, 당 분야의 통상의 지식을 가진 자에 의하여 많은 변형이 첨부의 특허청구범위에 기재된 본 발명의 본질적인 사상 내에서 가능함은 물론이다. 본 발명의 기본 사상을 벗어나지 않는 한, 그 외의 다양한 변형도 본 발명의 범주에 속하는 것으로 보아야 할 것이다.
201: 사용자 단말기
201-1: 데이터베이스
202: 애플리케이션 다운로드 서버(앱 마켓 서버)
203: 앱 이름 처리 서버
203-1: 데이터베이스
204: 네트워크(예컨대, 인터넷)

Claims (9)

  1. 사용자 단말기에서 앱 이름을 검색하는 방법으로서,
    (a) 상기 사용자 단말기가 애플리케이션 저장 서버에 애플리케이션의 다운로드를 요청하는 단계;
    (b) 상기 사용자 단말기가 당해 사용자 단말기의 설정 언어 및 상기 애플리케이션의 앱 이름을 앱 이름 처리 서버에 전송하는 단계; 및
    (c) 상기 앱 이름 처리 서버가, 머신 러닝(machine learning) 기법에 의해 상기 앱 이름에 대응하는 상기 설정 언어로의 표기를 획득하여, 상기 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 설정 언어로의 표기를 저장하는 단계
    를 포함하며,
    상기 (c) 단계에서,
    상기 앱 이름 처리 서버는 상기 앱 이름을 상기 설정 언어의 외래어 표기법에 따라 변환하여 외래어 변환 앱 이름을 얻고, 당해 외래어 변환 앱 이름을 머신 러닝 기법으로 수정하여 수정 외래어 변환 앱 이름을 얻고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 수정 외래어 변환 앱 이름을 업데이트하는 앱 이름 검색 방법.
  2. 제1항에 있어서,
    상기 (b) 단계에서, 상기 설정 언어는 당해 사용자 단말기에 설정된 언어에 대한 정보 또는 당해 사용자 단말기에 설치된 키보드의 언어에 대한 정보인, 앱 이름 검색 방법.
  3. 제1항에 있어서,
    상기 (c) 단계는,
    (c1) 상기 앱 이름 처리 서버가, 당해 앱 이름 처리 서버에 연결된 앱 이름 데이터베이스 내에, 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 있는지 판단하는 단계;
    (c2) 상기 (c1) 단계의 판단에서 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 있다면, 상기 앱 이름 처리 서버는 당해 표기 정보를 상기 사용자 단말기에 전송하고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 표기 정보를 업데이트하는 단계; 및
    (c3) 상기 (c1) 단계의 판단에서 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 없다면, 머신 러닝 기법에 의해 상기 앱 이름을 상기 설정 언어로 변환한 이름을 얻고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 변환한 앱 이름을 업데이트하는 단계
    를 포함하는 앱 이름 검색 방법.
  4. 사용자 단말기에서 앱 이름을 검색하는 방법으로서,
    (a) 상기 사용자 단말기가 애플리케이션 저장 서버에 애플리케이션의 다운로드를 요청하는 단계;
    (b) 상기 사용자 단말기가 당해 사용자 단말기의 설정 언어 및 상기 애플리케이션의 앱 이름을 앱 이름 처리 서버에 전송하는 단계; 및
    (c) 상기 앱 이름 처리 서버가, 머신 러닝(machine learning) 기법에 의해 상기 앱 이름에 대응하는 상기 설정 언어로의 표기를 획득하여, 상기 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 설정 언어로의 표기를 저장하는 단계
    를 포함하며,
    상기 (c) 단계는,
    (c1) 상기 앱 이름 처리 서버가, 당해 앱 이름 처리 서버에 연결된 앱 이름 데이터베이스 내에, 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 있는지 판단하는 단계;
    (c2) 상기 (c1) 단계의 판단에서 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 있다면, 상기 앱 이름 처리 서버는 당해 표기 정보를 상기 사용자 단말기에 전송하고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 표기 정보를 업데이트하는 단계; 및
    (c3) 상기 (c1) 단계의 판단에서 상기 앱 이름에 대응하는 상기 설정 언어로의 표기 정보가 없다면, 머신 러닝 기법에 의해 상기 앱 이름을 상기 설정 언어로 변환한 이름을 얻고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 변환한 앱 이름을 업데이트하는 단계
    를 포함하며,
    상기 (c3) 단계는,
    상기 앱 이름 처리 서버는 상기 앱 이름을 상기 설정 언어의 외래어 표기법에 따라 변환하여 외래어 변환 앱 이름을 얻고, 당해 외래어 변환 앱 이름을 머신 러닝 기법으로 수정하여 수정 외래어 변환 앱 이름을 얻고, 상기 사용자 단말기는 당해 사용자 단말기에 연결된 앱 검색용 데이터베이스 내에 당해 수정 외래어 변환 앱 이름을 업데이트하는, 앱 이름 검색 방법.
  5. 제4항에 있어서,
    상기 (b) 단계에서, 상기 설정 언어는 당해 사용자 단말기에 설정된 언어에 대한 정보 또는 당해 사용자 단말기에 설치된 키보드의 언어에 대한 정보인, 앱 이름 검색 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 앱 이름은 제1 언어로 되어 있고,
    상기 설정 언어는 상기 제1 언어와 상이한 제2 언어인 앱 이름 검색 방법.
  7. 제2항 또는 제5항에 있어서,
    상기 설치된 키보드의 언어가 2개 이상이면, 당해 2개 이상의 언어 모두에 대해 상기 (c) 단계에서의 상기 설정 언어로의 표기 획득을 행하는 앱 이름 검색 방법.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 (c) 단계 이후에,
    상기 사용자 단말기에서 앱 이름 검색을 행할 때, 상기 사용자 단말기에 현재 설치되어 있는 앱 이름 중에서만 검색을 행하는 것이 아니라, 상기 앱 검색용 데이터베이스에 저장된, 상기 앱 이름에 대응하는 상기 설정 언어로의 표기까지 포함하여 검색을 행하는 단계
    를 포함하는 앱 이름 검색 방법.
  9. 제1항 내지 제5항 중 어느 한 항에 기재된 앱 이름 검색 방법을 수행하는 앱 이름 검색 시스템으로서,
    상기 사용자 단말기;
    상기 사용자 단말기로부터 상기 애플리케이션의 다운로드 요청을 받는 상기 애플리케이션 저장 서버;
    상기 사용자 단말기로부터 상기 설정 언어 정보 및 상기 앱 이름을 전달받아 처리하는 앱 이름 처리 서버;
    상기 앱 이름 처리 서버에 연결된 앱 이름 데이터베이스; 및
    상기 사용자 단말기에 연결된 상기 앱 검색용 데이터베이스
    를 포함하는 앱 이름 검색 시스템.
KR1020160085772A 2016-07-06 2016-07-06 앱 이름 검색 방법 및 시스템 KR101843865B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160085772A KR101843865B1 (ko) 2016-07-06 2016-07-06 앱 이름 검색 방법 및 시스템
PCT/KR2016/008785 WO2018008796A1 (ko) 2016-07-06 2016-08-10 앱 이름 검색 방법 및 시스템
US15/686,701 US11829428B2 (en) 2016-07-06 2017-08-25 App name search method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160085772A KR101843865B1 (ko) 2016-07-06 2016-07-06 앱 이름 검색 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20180005547A KR20180005547A (ko) 2018-01-16
KR101843865B1 true KR101843865B1 (ko) 2018-03-30

Family

ID=60912907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160085772A KR101843865B1 (ko) 2016-07-06 2016-07-06 앱 이름 검색 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR101843865B1 (ko)
WO (1) WO2018008796A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102498242B1 (ko) * 2021-08-19 2023-02-10 신준서 단말기의 어플리케이션 관리 방법 및 이를 이용하는 단말기

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040231A1 (en) * 2012-08-06 2014-02-06 Hsiu-Ping Lin Methods and systems for searching software applications

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2783300A4 (en) * 2011-11-25 2015-12-23 Google Inc PROVISION OF TRANSLATION SUPPORT IN THE LOCALIZATION OF APPLICATIONS
KR102030691B1 (ko) * 2012-11-20 2019-10-10 엘지전자 주식회사 이동 단말기 및 그의 어플리케이션 검색방법
JP5863713B2 (ja) * 2013-06-21 2016-02-17 京セラドキュメントソリューションズ株式会社 アプリケーション検索システム
KR20150020398A (ko) * 2013-08-13 2015-02-26 삼성전자주식회사 애플리케이션을 통합 검색할 수 있는 전자 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040231A1 (en) * 2012-08-06 2014-02-06 Hsiu-Ping Lin Methods and systems for searching software applications

Also Published As

Publication number Publication date
WO2018008796A1 (ko) 2018-01-11
KR20180005547A (ko) 2018-01-16

Similar Documents

Publication Publication Date Title
US20210311975A1 (en) Language agnostic command-understanding digital assistant
CN102597993B (zh) 利用统一资源标识符管理应用状态信息
US20170185617A1 (en) Data Object Based Application State Sharing Methods for User Devices
US10928996B2 (en) Systems, devices and methods for electronic determination and communication of location information
US11263208B2 (en) Context-sensitive cross-lingual searches
US10754885B2 (en) System and method for visually searching and debugging conversational agents of electronic devices
WO2014204987A1 (en) Method and apparatus for customized software development kit (sdk) generation
US10176171B1 (en) Language agnostic command-understanding digital assistant
CN107590214A (zh) 搜索关键词的推荐方法、装置及电子设备
CN111443964B (zh) 更新用户界面的方法、设备和计算机可读存储介质
US20190258711A1 (en) Hybrid grammatical and ungrammatical parsing
US9798650B1 (en) Application testing system and method
US10372760B2 (en) Building queries directed to objects hosted on clouds
CN117493158A (zh) 测试方法及其装置、电子设备、存储介质
KR101843865B1 (ko) 앱 이름 검색 방법 및 시스템
CN112286486B (zh) 智能终端上应用程序的运行方法、智能终端和存储介质
KR101681851B1 (ko) 웹 브라우저 동작 방법 및 시스템
US11829428B2 (en) App name search method and system
CN114757146A (zh) 一种文本编辑方法、装置、电子设备和存储介质
CN103793516A (zh) 网址图标的获取方法和获取装置
US20190019054A1 (en) Contact Information Identification System
US11586822B2 (en) Adaptation of regular expressions under heterogeneous collation rules
CN111694919B (zh) 生成信息的方法、装置、电子设备及计算机可读存储介质
US10819784B1 (en) API mediation for online services
Patel et al. Smart attendance application using android and php

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant