KR20160100322A - 시멘틱상으로 의미있는 텍스트 선택들의 식별 - Google Patents

시멘틱상으로 의미있는 텍스트 선택들의 식별 Download PDF

Info

Publication number
KR20160100322A
KR20160100322A KR1020167018182A KR20167018182A KR20160100322A KR 20160100322 A KR20160100322 A KR 20160100322A KR 1020167018182 A KR1020167018182 A KR 1020167018182A KR 20167018182 A KR20167018182 A KR 20167018182A KR 20160100322 A KR20160100322 A KR 20160100322A
Authority
KR
South Korea
Prior art keywords
grams
instructions
candidate
identified
identifying
Prior art date
Application number
KR1020167018182A
Other languages
English (en)
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 구글 인코포레이티드
Publication of KR20160100322A publication Critical patent/KR20160100322A/ko

Links

Images

Classifications

    • G06F17/30666
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3335Syntactic pre-processing, e.g. stopword elimination, stemming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

텍스트 선택 모듈이 사용자로 하여금 사용자 인터페이스의 텍스트 영역 내의 시멘틱상으로 의미있는 구를 빠르게 지정할 수 있게 한다. 텍스트 선택 모듈은 또한, 상기 구를 시각적으로 선택하는 것, 상기 구의 정의를 획득하는 것, 또는 기타 등등과 같은 상기 지정된 구에 대해 액션을 자동으로 또는 반자동으로(semi-automatically) 취할 수 있다.

Description

시멘틱상으로 의미있는 텍스트 선택들의 식별{IDENTIFYING SEMANTICALLY-MEANINGFUL TEXT SELECTIONS}
본 발명은 일반적으로, 사용자 인터페이스들의 분야에 관한 것이고, 특히 시멘틱상으로 의미있는 텍스트 선택들을 행함에 있어서 사용자를 보조하는 것에 관한 것이다.
웹 브라우져들, 책 리더기들, 단어 프로세싱 프로그램들 및 기타 등등과 같은 많은 소프트웨어 어플리케이션들은 사용자들에게 상당한 양의 텍스트 컨텐츠를 디스플레이한다. 추가적으로, 이들 어플리케이션들 - 또는 소프트웨어 어플리케이션들에서 텍스트와 인터랙션하는 다른 제3자(third-party) 어플리케이션들 - 은 사용자들로 하여금 사용자 특정 텍스트(user-specified text)에 관하여 액션들을 취하게(take action) 할 수 있다. 예를 들어, 스마트폰 상의 책 리더기 어플리케이션은 사용자로 하여금 정의가 요구되는 개념(concept)을 제시하는 텍스트 내의 단어를 누르거나(press on) 또는 그렇지 않으면 지정(designate)할 수 있게 하며, 그에 따라 그 개념에 대한 정의를 찾아서 디스플레이할 수 있다.
그러나, 많은 예시들에서, 사용자가 관심있어 하는 개념들은 단지 단일 단어들에 의해 표현되는 것이 아니라 복수의 단어로 이루어진 구들(multi-word phrases)에 의해 표현된다. 따라서, 텍스트로부터 관심 대상의 개념을 정확하게 지정하기 위해서, 사용자는 (예컨대) 복수의 단어로 이루어진 구 내의 모든 단어들을 포함시키기 위해 단일 단어의 선택을 확장해야 된다. 이는 특히 텍스트 선택 능력들이 다른 타입의 입력 디바이스들보다 상대적으로 덜 정밀하고 오류 발생이 더 쉬운(error-prone) 모바일 디바이스들의 터치스크린들과 같은 사용자 입력 디바이스들에 대해, 사용자의 입장에서 추가적인 노력을 요한다.
일 실시예에서, 컴퓨터로 구현되는 방법이 사용자 인터페이스에 디스플레이되는 단어들의 순서화된 세트 내의 제1 단어와의 사용자 인터랙션(interaction)을 수신하는 단계와, 후보 n-그램(n-gram)들의 세트를 형성하는 단계 - 각각의 후보 n-그램은 상기 제1 단어를 포함하는 단어들의 순서화된 세트 내의 최대 n 개의 인접한 단어들의 시퀀스임 - 와, 상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하는 단계와, 그리고 식별된 알려진 n-그램들 중 하나에 대해 액션을 취하는 단계를 포함한다.
일 실시예에서, 비 일시적 컴퓨터 판독가능 저장 매체는 프로세서에 의해 실행가능한 명령어들을 포함하며, 상기 명령어들은 사용자 인터페이스에 디스플레이되는 단어들의 순서화된 세트 내의 제1 단어와의 사용자 인터랙션을 수신하기 위한 명령어들과, 후보 n-그램들의 세트를 형성하기 위한 명령어들 - 각각의 후보 n-그램은 상기 제1 단어를 포함하는 단어들의 순서화된 세트 내의 최대 n 개의 인접한 단어들의 시퀀스임 - 과, 상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하기 위한 명령어들과, 그리고 식별된 알려진 n-그램들 중 하나에 대해 액션을 취하기 위한 명령어들을 포함한다.
일 실시예에서, 컴퓨터 시스템이 컴퓨터 프로세서 및 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 상기 비일시적 컴퓨터 판독가능 저장 매체는 사용자 인터페이스에 디스플레이되는 단어들의 순서화된 세트 내의 제1 단어와의 사용자 인터랙션을 수신하기 위한 명령어들과, 후보 n-그램들의 세트를 형성하기 위한 명령어들 - 각각의 후보 n-그램은 상기 제1 단어를 포함하는 단어들의 순서화된 세트 내의 최대 n 개의 인접한 단어들의 시퀀스임 - 과, 상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하기 위한 명령어들과, 그리고 식별된 알려진 n-그램들 중 하나에 대해 액션을 취하기 위한 명령어들을 포함한다.
본 명세서에 기술된 특징들 및 장점들은 모든것을 포함하는 것이 아니며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서 및 특허청구범위에 비추어 볼 때 이 기술 분야의 통상의 숙련자에게 분명해질 것이다. 더욱이, 주목할 점으로서, 명세서에서 사용되는 언어는 가독성 및 교육적 목적을 위해 원리적으로 선택된 것이며, 독창적인 본 발명을 기술하거나 또는 제한하기 위해 선택된 것이 아닐 수 있다.
도 1a 내지 도 1e는 일 실시예에 따라 수행되는 사용자 인터페이스 내의 텍스트의 명시적인 사용자 선택들 및 상기 사용자 선택들에 대한 자동 수정들을 예시한다.
도 2는 일 실시예에 따른 텍스트 선택 확장이 수행되는 클라이언트 디바이스(200)의 세부도를 예시하는 상위 레벨 블록도이다.
도 3은 일 실시예에 따른 텍스트 확장 모듈(206)의 액션들을 예시하는 순서도이다.
도 4는 일 실시예에 따른 도 2의 클라이언트 디바이스의 물리적인 컴포넌트들을 예시하는 상위 레벨 블록도이다.
도면들은 단지 예시를 위해 본 발명의 실시예를 도시한다. 이 기술 분야의 숙련자는 다음의 상세한 설명으로부터, 본 명세서에 예시된 구조들 및 방법들의 대안적인 실시예들이 본 명세서에 기술된 본 발명의 원리들로부터 벗어남이 없이 이용될 수 있음을 쉽게 인지할 것이다.
도 1a 내지 1e는 일 실시예에 따라 수행되는 사용자 인터페이스 내의 텍스트의 명시적인 사용자 선택들 및 상기 사용자 선택들에 대한 자동적인 수정들을 예시한다.
도 1a는 클라이언트 디바이스(100) 상에 디스플레이되는 사용자 인터페이스의 텍스트 영역(105) 내에 디스플레이되는 텍스트를 예시한다. 텍스트는 문자 스트링 "Steve had a severe case of attention deficit disorder. Boys will be boys is what his father said"을 포함한다. 문자 스트링은 "Steve", "had", "a", "severe", "case", "of, "attention", "deficit", "disorder", "Boys", "will", "be", "boys", "is", "what", "his", "father", "said"와 같은 단어 토큰들 - 상기 단어 토큰들은 여백 또는 구두점(punctuation)에 의해 분리되는 알파벳 문자들의 시퀀스임 - 의 순서화된 세트를 나타내는 것으로 고려될 수 있지만, 많은 다른 대안적인 단어 토큰화(tokenization) 기법들이 또한 가능함이 이해된다.
도 1b는 텍스트 영역의 하단에 있는 단어 "attention"의 명시적인 사용자 선택 후의 동일한 텍스트 영역(105)을 예시한다. (텍스트의 "선택"이 배경 하이라이팅과 같은 시각적인 강조의 해당 텍스트 상에의 배치를 나타내도록 본 명세서에서 이용된다.) 선택은 (예컨대) 사용자가 선택된 단어에 대응하는 스크린의 부분을 누르고 유지함으로써 또는 다른 제스쳐를 함으로써 달성될 수 있다.
도 1c는 더 큰 시맨틱적으로 의미있는 구를 포함시키기 위한 사용자 선택의 자동적인 확장 후의 동일한 텍스트 영역(105)을 예시한다. (이하, 구는 최대 n 개의 인접한 단어 토큰들로 이루어진 시퀀스인 "n-그램"으로도 지칭된다.) 특히, n-그램 "attention deficit disorder"가 선택되는 바, 그 이유는 이 n-그램이 사용자 선택 단어 "attention"을 포함하지만 자신만의 특정한 의미를 가지는 개념을 나타내기 때문이다. n-그램 "attention deficit disorder"의 자동적인 선택은 의도된 n-그램을 선택하기 위해 사용자가 "deficit disorder"을 추가적으로 포괄하도록 "attention"의 선택을 밖으로(outward) 확장시킬 필요가 없게 한다.
또한, n-그램 "attention deficit disorder"에 대한 정의는 예컨대, 상기 n-그램 "attention deficit disorder"의 자동적인 선택 후 사용자가 사용자 인터페이스의 "선택의 정의 보여주기(Show definition of selection)" 요소를 수동으로 선택함에 응답하여, 도 1c의 영역(110)에 디스플레이되었다.
도 1d는 사용자가 단어 "Boys"를 포함시키기 위해 선택을 오른쪽으로 일 단어 자동으로 확장한 후의 동일한 텍스트 영역(105)을 예시한다. (도 1d에 도시된 것과 같은 스마트폰 사용자 인터페이스들의 경우, 선택의 확장은 예컨대, 선택의 오른쪽 경계 메이커(right boundary marker)를 오른쪽으로 일 단어 드래그하여 드롭시키는 것을 수반할 수 있다).
도 1e는 다른 시멘틱상으로 의미있는 n-그램을 포함시키기 위해 도 1d의 텍스트 선택의 부분의 자동적인 추가 확장 후의 동일한 텍스트 영역(105)을 예시한다. 특히, 단어 "Boys"는 도 1d의 사용자 확장에 포함되었고, 도 1e는 잘 알려진 아포리즘(aphorism)인 더 큰 n-그램 "Boys will be boys"의 자동화된 선택 및 n-그램 "Boys will be boys"에 시멘틱상으로 관계되지 않은 본래의 선택의 부분("attention deficit disorder")의 선택 해제를 예시한다. 대안적으로, 본래의 선택 "attention deficit disorder. Boys"은 그 전체가 선택된 채로, 두 개의 별개의 시멘틱상으로 의미있는 n-그램들의 연접(concatenation)인 "attention deficit disorder. Boys will be boys" 선택을 형성하기 위해 "will be boys"를 포함시키도록 단순히 확장된 채로 유지될 수 있다. n-그램 "Boys will be boys"의 설명이 사용자 인터페이스의 영역(115)에 추가적으로 디스플레이된다.
비록, 도 1a 내지 1e에 예시된 클라이언트 디바이스(100)가 스마트폰 디바이스로서 도시되지만, 본 명세서에 기술된 텍스트 선택 확장들이 스마트폰 사용자 인터페이스들에 제한되지 않음이 이해된다. 오히려, 기술된 텍스트 선택 확장들은 도 1a 내지 1e에 도시된 스마트폰 상의 어플리케이션에 추가적으로, 키보드 및 마우스가 장착되는 데스크탑 컴퓨터 상의 웹 브라우져 또는 랩탑 컴퓨터 상의 책 리더 어플리케이션과 같은 다양한 플랫폼들 상의 다양한 어플리케이션들 내에서 동등하게 수행될 수 있다.
도 2는 일 실시예에 따른 텍스트 선택 확장이 수행되는 클라이언트 디바이스(200)의 세부도를 예시하는 상위 레벨 블록도이다. 클라이언트 디바이스(200)는 사용자가 텍스트를 보고 이와 인터랙션할 수 있게 하는 사용자 인터페이스를 디스플레이할 수 있는 어떤 컴퓨팅 시스템을 나타낸다. 예를 들어, 클라이언트 디바이스(200)는 데스크탑, 랩탑 또는 태블릿 컴퓨터, 개인용 디지털 단말기(PDA), 스마트폰, 또는 기타 등등일 수 있다. 하나의 가능한 클라이언트 디바이스(200)에 대한 하드웨어 컴포넌트들은 도 4에 관하여 하기에 기술된다.
클라이언트 디바이스(200)는 텍스트를 디스플레이하고, 사용자가 그 텍스트와 인터랙션할 수 있게 하는 소프트웨어 어플리케이션(202)을 구비한다. 소프트웨어 어플리케이션(202)의 예들은 이들로만 한정되는 것은 아니지만, 웹 브라우져들, 책 리더기들, 단어 프로세싱 프로그램들, 및 기타 등등을 포함한다.
또한, 어플리케이션(202)은 텍스트 선택 및 선택된 텍스트의 시멘틱상으로 의미있는 확장들을 자동을 식별하는 것을 담당하는 텍스트 선택 모듈(204)을 포함한다. 텍스트 선택 모듈(204)은 사용자 인터페이스의 텍스트 영역 내의 사용자 지정 텍스트를 더 큰 시멘틱상으로 의미있는 n-그램으로 확장할지의 여부 및 확장하는 법을 결정하는 텍스트 확장 모듈(206), 알려진 n-그램들을 정의하는 n-그램 데이터 스토어(205) 및 확장된 n-그램에 관한 액션들을 취하는 텍스트 액션 모듈(207)을 포함하며, 이들 각각은 이제 더 상세히 기술된다.
n-그램 데이터 스토어(205)는 알려진 n-그램들의 세트를 포함하고, 각각의 n-그램은 어떤 양의 정수 n에 대해 1부터 n까지의 인접한 단어 토큰들의 순서화된 세트를 나타내는 문자 스트링이다. 상기 예시들을 참조하면, n =4인 n-그램들은 "attention", "of attention", "attention deficit", "attention deficit disorder", 및 "attention deficit disorder. Boys"를 포함하지만, (n=4보다 많은 단어 토큰들을 가지는, 즉 5개의 단어 토큰들 "attention", "deficit", "disorder", "Boys", 및 "will"을 가지는) "attention deficit disorder. Boys will"를 포함하지 않는다. 단어 토큰들은 다른 단어 토큰화 기법들에 따라 문자 스트링 내에서 식별될 수 있다. 예를 들어, 하나의 이러한 기법은 단어들을 여백 또는 구두점에 의해 분리된 알파벳 문자들의 인접한 스퀀스들로 파싱할 수 있지만, 많은 다른 그러한 기법들이 대안적으로 이용될 수 있음이 이해된다. n-그램 데이터 스토어(205)는 "알려진" n-그램들로 구성되는 바, 즉 "알려진" n-그램들은 구성 단어들이 어떤 최소 정도의 빈도로 소정의 시퀀스에서 함께 발생한 것으로 이전에 관찰되었으며 따라서 시멘틱상으로 의미있는 것으로 고려되는 n-그램들이다. 예를 들어, n-그램 "attention deficit disorder"은 알려진 n-그램일 가능성이 있는 바, 그 이유는 단어들 "attention", "deficit", 및 "disorder"는 그 시퀀스에서 함께 자주 이용되고 그러므로, 함께 고려될 때 특별한 의미를 가지는 것으로 여겨지기 때문이며, 이 특별한 의미는 분리되어 고려되는 개별적인 단어들의 의미들과는 별개이다. 대조적으로, n-그램 "disorder. Boys"은 알려진 n-그램이 아닐 가능성이 있는 바, 그 이유는 단어들 "disorder" 및 "Boys"이 일반적인 것보다 많은 빈도로 시퀀스에서 함께 이용되지 않으며 그러므로, 아마(presumably) 함께 고려될 때 어떤 특별한 의미도 가지지 않기 때문에다.
일 실시예에서, n-그램 데이터 스토어(205)는 텍스트 문서들(또는 텍스트 부분들을 갖는 문서들)의 코퍼스를 분석하고 상기 코퍼스에 걸친 시퀀스에서 일반적으로 발생하는 단어들의 시퀀스들을 식별함으로써 자동으로 또는 반자동으로(semi-automatically) 생성된다. n-그램 데이터 스토어(205)는 옵션에 따라서는, n-그램들의 모두 또는 이들 중 어느 것에 대해, 발생 카운트와 같은 코퍼스 내의 n-그램들의 발생의 빈도의 측정 또는 코퍼스 내의 문서들의 수에 대한 발생 카운트의 비(ratio)와 같은 발생 카운트로부터 유도되는 값을 저장할 수 있다.
일 실시예에서, n-그램 데이터 스토어(205)는 복수의 별개의 서브-스토어들을 포함할 수 있고, 이들 각각은 특별한 문서 코퍼스에 대응한다. 예를 들어, 하나의 서브-스토어는 과학적 토픽들에 관한 문서들의 세트에 대응할 수 있고, 다른 서브-스토어는 소설의 디지털 책들의 세트에 대응할 수 있고, 또다른 서브-스토어는 .edu 도메인으로부터의 웹페이지들에 대응할 수 있다. 이러한 실시예에서, 텍스트 확장 모듈(206)은 어플리케이션(202)에 의해 현재 디스플레이되는 텍스트의 컨텍스트를 식별하고 또한 그 컨텍스트에 대한 특별한 관련성을 갖는 특정 서브-스토어를 식별하여, 텍스트 선택들을 확장할 때 특정한 서브-스토어의 n-그램들을 참조할 수 있다. 이는 컨텍스트에 대해 가장 적절한 방식으로 선택들을 확장할 수 있게 한다. 현재 디스플레이되고 있는 텍스트의 컨텍스트를 식별하는 것은 텍스트 자체로부터 토픽을 추론하는 것(예컨대, "문학" 또는 "기술"과 같은 토픽에 텍스트의 단어들을 매핑하는 것)과 같이 여러 가지 실시예들에서 여러 가지 방식들로 달성된다.
텍스트 확장 모듈(206)은 텍스트를 디스플레이하는 사용자 인터페이스의 부분과의 사용자 인터랙션을 고려하여, 텍스트의 시멘틱상으로 의미있는 관련 부분을 식별한다. 일 실시예에서, 텍스트 확장 모듈(206)은 텍스트 영역과의 사용자 인터랙션 - 예컨대, 사용자가 터치스크린을 통해 특별한 단어를 누르고 유지하는 것 또는 사용자가 마우스 또는 다른 포인팅 디바이스를 이용하여 단어를 클릭하거나 또는 상기 단어에 걸쳐 드레깅하는 것 - 에 의해 표시되는 특별한 단어를 식별하고, 텍스트 영역 내에 있고 상기 식별된 단어를 포함하는 후보 n-그램들의 세트를 형성한다. 텍스트 확장 모듈(206)은 추가적으로, (만일 존재한다면) 어느 후보 n-그램들이 알려진 n-그램들인지 (즉, n-그램 데이터(205) 내에 있는지)를 식별한다. 후보 n-그램들 중 적어도 하나가 알려진 n-그램이면, 텍스트 확장 모듈(206)은 후보 n-그램들로부터 알려진 n-그램들 중 하나를 텍스트 확장으로서 선택한다.
텍스트 액션 모듈(207)은 (만일 존재한다면) 알려진 n-그램이 텍스트 확장 모듈(206)에 의해 후보 n-그램들로부터 선택됨에 응답하여 하나 이상의 액션들을 취한다. 예를 들어, 일 실시예에서, 텍스트 액션 모듈(207)은 텍스트 확장 모듈(206)에 의해 선택된 n-그램에 대응하는 텍스트 영역의 텍스트를 선택하거나 또는 그 텍스트를 포함시키도록 기존 선택을 확장시킨다. 텍스트 액션 모듈(208)은 사용자가 특정된 사용자 입력을 수신함에 응답하여, 예컨대 스와이프(swipe)와 같은 터치스크린 제스쳐를 수행함으로써, 특별한 키를 누름으로써, 소정의 사용자 인터페이스 요소를 활성화시킴으로써(예컨대, 사용자 인터페이스의 "확장 작업 취소(undo)" 영역을 누름으로써) 또는 기타 등등에 의해 선정된 텍스트 확장의 선택을 "작업 취소(undo)"할 수 있게 한다. (이러한 "작업 취소"는 예컨대, 도 1c의 텍스트 선택이 도 1b의 텍스트 선택으로 되돌아 가게 할 수 있다).
일 실시예에서, 텍스트 액션 모듈(207)은 선택된 n-그램을 이용하여 질의를 수행하거나 또는 도 1c의 텍스트 영역(110)에 예시된 바와 같이 선택된 n-그램의 정의를 디스플레이한다. 일 실시예에서, 텍스트 액션 모듈(207)은 예컨대, 팝업 컨텍스트 메뉴에, 선택된 n-그램에 대해 다양한 검색 엔진들에 질의하는 것, 선택된 n-그램의 정의를 디스플레이하는 것, 선택된 n-그램과 관련된 문서들에 대해 로컬 저장소를 검색하는 것 또는 기타 등등과 같은 가능한 액션들의 세트를 디스플레이한다.
일 실시예에서, 어플리케이션(202)의 사용자는, 예컨대 텍스트 확장 모듈(206) 및 텍스트 액션 모듈(207)의 자동적인 액션들을 인에이블(enable) 또는 디세이블(disable)시켜, 텍스트 확장 거동에 관한 자신의 선호도를 특정할 수 있다.
비록, 어플리케이션(202) 및 텍스트 선택 모듈(204) 그리고 이의 구성 컴포넌트들이 도 2에 클라이언트 디바이스(200)의 일부로서 도시되지만, 이들의 일부 또는 전부는 또한, 원격 어플리케이션 서버와 같은 별개의 시스템 상에 위치될 수 있음이 이해된다. 예를 들어, n-그램 데이터(205)는 클라이언트 디바이스(200) 상에 위치된 텍스트 선택 모듈(204)이 사용을 위해 제공되기 전에 원격 시스템 상에 저장될 수 있다. 다른 예로서, 어플리케이션(202) 및 텍스트 선택 모듈(204) 그리고 이의 모든 컴포넌트들은 네트워크를 통해 클라이언트 디바이스(200)에 의해 액세스되는 어플리케이션 서버 상에서 실행될 수 있고, 클라이언트는 예컨대, 웹 브라우져에서 어플리케이션의 시각적 출력을 수신 및 디스플레이한다. 예를 들어, 서버는 HTML 및 자바스크립트 기반의 사용자 인터페이스를 생성하여 클라이언트들에게 제공하며, 이 인터페이스는 클라이언트 디바이스(200)의 어플리케이션(202)에 의해 렌더링될 때, 텍스트를 디스플레이한다. 이러한 서버 제공 사용자 인터페이스는 또한 텍스트의 단어들과의 사용자 인터랙션들을 식별할 수 있어서, 클라이언트 디바이스(200) 상에서 로컬하게 텍스트 확장 및 액션들을 수행하거나 또는 원격 서버에 인터랙션들의 표시들을 전송하는 바, 이 원격 서버는 또한, 어플리케이션(202)이 텍스트 확장 및 텍스트 액션들을 달성할 수 있게 하는 추가적인 데이터를 어플리케이션(202)에 전송할 수 있다.
도 3은 일 실시예에 따른 텍스트 확장 모듈(206)의 액션들을 예시하는 순서도이다. 어플리케이션(202)은 사용자 인터페이스의 텍스트 영역 내에 디스플레이되는 단어의 인스턴스와의 사용자 인터랙션을 수신한다(단계 310). 예를 들어, 도 1a 및 1b를 다시 참조하면, 사용자는 텍스트 영역(105) 내의 단어 "attention"을 선택했으며, 이 선택(또는 선택으로 이어지는 결과적인 누르기 또는 누르고 유지(press-and-hold))은 단어와의 대응하는 사용자 인터랙션이다.
텍스트 확장 모듈(206)은 최대 n 개의 단어들의 n-그램들을 포함하여, 단어 인스턴스("attention")를 포함하는 후보 n-그램들을 형성한다(단계 320). 예를 들어, n = 4이면, n-그램들은 단어 "attention"의 인터랙션되는 인스턴스(interacted-with instance)를 포함하는 최대 네 개의 순서화된 단어들을 갖는 스트링들을 포함하는 바, 즉 이들은 4-그램들 "severe case of attention", "case of attention deficit", "of attention deficit disorder", 및 "attention deficit disorder. Boys", 3-그램들 "case of attention", "of attention deficit", 및 "attention deficit disorder", 그리고 2-그램들 "of attention" 및 "attention deficit"이다. (주목할 점으로서, 소정 n에 대해, 그 단어 자체에 대한 1-그램이 포함되지 않는 경우, ∑[1, n](i) - 1 = ((n)(n + 1) / 2) - 1 후보 n-그램들이 존재할 것이다.)
텍스트 확장 모듈(206)은 후보 n-그램들의 세트 내의 알려진 n-그램들 - 즉, 후보 n-그램들의 세트 및 n-그램 데이터 스토어(205) 모두에 존재하는 n-그램들 - 을 식별한다(단계 330). (n-그램 데이터 스토어(205) 내에 복수의 서브-스토어들이 존재하는 실시예에서, 텍스트 확장 모듈(206)은 먼저, 사용자의 현재 컨텍스트에 가장 관계있는 특별한 서브 스토어를 식별하고, 그 다음 그 서브 스토어 내의 n-그램들을 알려진 n-그램들의 세트로서 이용한다).
상기 예를 다시 참조하여, n-그램 "attention deficit disorder"이 알려진 n-그램이기도 한 단 하나의 후보 n-그램인 경우, 텍스트 확장 모듈(206)은 그 n-그램을 자신의 출력으로 선택할 수 있다(단계 350). 그러나, 알려진 n-그램이기도 한 복수의 후보 n-그램들이 존재하는 경우, 일 실시예에서, 텍스트 확장 모듈(206)은 예컨대, n-그램 데이터 스토어(205) 내의 n-그램들과 관련된 빈도의 측정들에 기초하여 이 n-그램들을 랭킹(단계 340)하고 이 n-그램들 중 최고 랭킹을 자신의 출력으로서 선택할 수 있다.
텍스트 확장 모듈(206)에 의해 선택된 n-그램의 경우, 텍스트 액션 모듈(207)은 도 1c에 하이라이트된 구 "attention deficit disorder"와 같이 선택된 n-그램에 대응하는 텍스트이 부분을 시각적으로 선택하는 것과 같은 하나 이상의 액션들을 취할 수 있다.
도 1d 내지 1e에 예시된 시나리오에 대해 유사한 프로세스가 발생할 수 있다. 예를 들어, 어플리케이션은 단어 인스턴스 "Boys"와의 사용자 인터랙션을, 사용자가 상기 단어 "Boys"를 포함시키도록 이전의 선택의 오른손 끝을 수동으로 확장한 결과로서 수신할 수 있다(단계 310). 그 결과, (n = 4임을 가정하여), 텍스트 확장 모듈(206)은 후보 n-그램들 "attention deficit disorder. Boys", "deficit disorder. Boys will", "disorder. Boys will be", "Boys will be boys", "deficit disorder. Boys", "disorder. Boys will", "Boys will be", "disorder. Boys", 및 "Boys will"을 형성할 수 있다(단계 320). 이 후보 n-그램들 중, 오직 4-그램 "Boys will be boys"가 알려진 n-그램임을 가정하여, 텍스트 확장 모듈(206)은 (예컨대) 텍스트의 대응하는 부분을 시각적으로 선택하고, 구의 설명을 획득하며, 그리고 도 1e에 예시된 바와 같이 영역(115)에 설명을 디스플레이한다.
도 4는 일 실시예에 따른 도 2의 클라이언트 디바이스(200)로서 역할을 할 수 있는 컴퓨터 시스템(400)의 물리적 컴포넌트들을 예시하는 상위 레벨 블록도이다. 칩셋(404)에 결합된 적어도 하나의 프로세서(402)가 예시된다. 또한, 칩셋(404)에는 메모리(406), 저장 디바이스(408), 키보드(410), 그래픽 어댑터(412), 포인팅 디바이스(414) 및 네트워크 어댑터(416)가 결합되어 있다. 디스플레이(418)는 그래픽 어댑터(412)에 결합된다. 일 실시예에서, 칩셋(404)의 기능은 메모리 제어기 허브(420) 및 I/O 제어기 허브(422)에 의해 제공된다. 다른 실시예에서, 메모리(406)가 칩셋(404) 대신 프로세서(402)에 직접적으로 결합된다.
저장 디바이스(408)는 하드 드라이브, 컴팩트 디스크 판독 전용 메모리(CD-ROM), DVD 또는 고체 상태 메모리 디바이스와 같은 어떤 비일시적 컴퓨터 판독가능 저장 매체이다. 메모리(406)는 프로세서(402)에 의해 이용되는 명령어들 및 데이터를 유지한다. 포인팅 디바이스(414)는 마우스, 트랙볼 또는 다른 타입의 포인팅 디바이스일 수 있고, 컴퓨터(400)에 데이터를 입력하기 위해 키보드(410)와 결합하여 이용된다. 그래픽 어댑터(412)는 디스플레이(418) 상에 이미지들 및 다른 정보를 디스플레이한다. 네트워크 어댑터(416)는 로컬 영역 또는 광역 네트워크에 컴퓨터 시스템(400)을 결합시킨다.
이 기술분야에 알려진 바와 같이, 컴퓨터 시스템(400)은 도 4에 도시된 것들과 다른 그리고/또는 기타 컴포넌트들을 가질 수 있다. 추가적으로, 컴퓨터(400)는 특정한 예시된 컴포넌트들이 결여되어 있을 수 있다. 예를 들어, 일 실시예에서 컴퓨터 시스템(400)이 스마트폰이면, 이는 키보드(410), 포인팅 디바이스(414) 및/또는 그래픽 어댑터(412)가 결여되어 있을 수 있고, 다른 형태의 디스플레이(418)를 가질 수 있다. 더욱이, 저장 디바이스(408)는 로컬하고 그리고/또는 (저장 영역 네트워크(SAN) 내에 구현되는 것과 같이) 컴퓨터(400)로부터 원격일 수 있다.
이 기술분야에 알려진 바와 같이, 컴퓨터 시스템(400)은 본 명세서에 기술된 기능을 제공하기 위해 컴퓨터 프로그램 모듈들을 실행하도록 구성된다. 본 명세서에서 사용되는 용어 "모듈"은 특정된 기능을 제공하기 위해 이용되는 컴퓨터 프로그램 로직을 나타낸다. 따라서, 모듈은 하드웨어, 펌웨어 그리고/또는 소프트웨어로 구현될 수 있다. 일 실시예에서, 프로그램 모듈들은 저장 디바이스(408) 상에 저장되고, 메모리(406) 내로 로드되며, 그리고 프로세서(402)에 의해 실행된다.
본 명세서에 기술된 엔티티들의 실시예들은 본 명세서에 기술된 것들과 다른 그리고/또는 기타 모듈들을 포함할 수 있다. 추가적으로, 모듈들에 속하는 기능은 다른 실시예들에서 기타 또는 다른 모듈들에 의해 수행될 수 있다. 더욱이, 설명은 때때로, 명료성 및 편의성을 위해 용어 "모듈"을 생략한다.
본 발명은 하나의 가능한 실시예에 관하여 특히 상세하게 기술되었다. 이 기술 분야의 숙련자들은 본 발명이 다른 실시예들에서 실시될 수 있음을 이해할 것이다. 먼저, 컴포넌트들 및 변수(variable)들의 특별한 명칭, 용어들, 속성들, 데이터 구조들 또는 어떤 다른 프로그램 또는 구조적 양상의 대문자 사용은 강제적이거나 중대한 것이 아니며, 본 발명 또는 그 특징들을 구현하는 메커니즘들은 다른 이름, 포맷들 또는 프로토콜들을 가질 수 있다. 또한, 본 명세서에 기술된 다양한 시스템 컴포넌트들 간의 기능의 특별한 분리는 단지 예시를 위한 것일 뿐, 강제적인 것이 아니며, 단일 시스템 컴포넌트에 의해 수행되는 기능들은 복수의 컴포넌트들에 의해 대신 수행될 수 있고, 복수의 컴포넌트들에 의해 수행되는 기능들은 단일 컴포넌트에 의해 대신 수행될 수 있다.
상기 설명의 일부분들은 정보에 관한 동작들의 알고리즘들 및 심볼 표시들의 관점에서 본 발명의 특징들을 제시한다. 이 알고리즘적 설명들 및 표시들은 이 기술 분야의 숙련자들에게 자신의 작업의 요지(substance)를 가장 효과적으로 전달하기 위해 데이터 프로세싱 분야의 숙련자들에 의해 이용되는 수단이다. 이 동작들은 기능적으로 또는 로직적으로 설명되는 동안, 컴퓨터 프로그램들에 의해 구현되는 것으로 이해된다. 더욱이, 때때로, 보편성을 잃어버림이 없이, 동작들의 이러한 구성들을 모듈들로서 또는 기능적 명명들에 의해 지칭하는 것이 편리함이 또한, 입증되었다.
상기 논의로부터 분명한 바와 같이 달리 구체적으로 언급하지 않은 한, 설명의 전반에서 "결정하는 단계" 또는 "디스플레이하는 단계" 또는 기타 등등과 같은 용어들을 이용하는 논의들은 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스 - 이 유사한 전자 컴퓨팅 디바이스는 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장소 내의 물리적(전자적) 양(quantity)들로서 표시되는 데이터를 조작 및 변환함 - , 전송 또는 디스플레이 디바이스들의 액션 및 프로세스들을 나타내는 것이다.
본 발명의 특정 양상들은 알고리즘의 형태로 본 명세서에 기술되는 프로세스 단계들 및 명령어들을 포함한다. 주목할 점으로서, 본 발명의 프로세스 단계들 및 명령어들은 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있고, 소프트웨어로 구현될 때, 실시간 네트워크 운영 체제들에 의해 이용되는 서로 다른 플랫폼들 상에 상주하고 이로부터 동작될 수 있도록 다운로드될 수 있다.
본 발명은 또한, 본 명세서에 기술된 동작들을 수행하기 위한 장치와 관계된다. 이 장치는 요구되는 목적들을 위해 특별하게 구성될 수 있거나 또는 이는 컴퓨터에 의해 액세스될 수 있는 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 이들로만 한정되는 것은 아니지만, 플로피 디스크들, 광학 디스크들, CD-ROM들, 자기 광학 디스크들, 판독 전용 메모리(ROM)들, 랜덤 액세스 메모리(RAM)들, EPROM들, EEPROM들, 자기 또는 광학 카드들, 주문형 집적 회로(ASIC)들, 또는 전자 명령어들을 저장하기에 적절한 어떤 타입의 컴퓨터 판독가능 저장 매체를 포함하는 어떤 타입의 디스크와 같은 비일시적 컴퓨터 판독가능 저장 매체에 저장될 수 있으며, 이 저장 매체 각각은 컴퓨터 시스템 버스에 결합된다. 더욱이, 본 명세서에서 참조되는 컴퓨터들은 단일 프로세서를 포함할 수 있거나 또는 증가된 컴퓨터 능력을 위해 복수의 프로세서 설계들을 이용하는 아키텍쳐들일 수 있다.
본 명세서에 제시된 알고리즘들 및 동작들은 어떤 특별한 컴퓨터 또는 다른 장치에 선천적으로 관계되지 않는다. 다양한 범용 시스템들이 또한, 본 명세서의 교시들에 따라 프로그램들과 함께 이용될 수 있거나 또는 요구되는 방법 단계들을 수행하기 위해 더욱 특수화된 장치를 구성하는 것이 편리함을 입증할 수 있다. 다양한 이러한 시스템들을 위한 요구되는 구조는 균등한 변형들과 함께 이 기술 분야의 숙련자들에게 분명해질 것이다. 추가적으로, 본 발명은 어떤 특별한 프로그래밍 언어를 참조하여 기술되지 않는다. 다양한 프로그래밍 언어들이 본 명세서에 기술된 본 발명의 가르침들을 구현하기 위해 이용될 수 있고, 특정한 언어들에 대한 어떤 참조들은 발명의 실시가능성 및 본 발명의 베스트 모드(best mode)를 위해 제공된다.
본 발명은 다양한 토폴로지들에 걸친 광범위한 컴퓨터 네트워크 시스템들에 매우 적합화된다. 이 분야 내에서, 거대한 네트워크들의 구성 및 관리는 인터넷과 같은 네트워크를 통해 유사하지 않은 컴퓨터들 및 저장 디바이스들에 통신적으로 결합된 저장 디바이스들 및 컴퓨터들을 포함한다.
마지막으로, 주목할 점으로서, 본 명세서에서 이용되는 언어는 가독성 및 교육적 목적들을 위해 원리적으로 선택되었으며, 독창적인 본 발명을 기술하거나 제한하기 위해 선택된 것이 아닐 수 있다. 따라서 본 발명의 개시는 다음의 특허청구범위에 제시되는 본 발명의 범위의 제한이 아니라 예시적인 것으로 의도된 것이다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    사용자 인터페이스에 디스플레이되는 단어들의 순서화된 세트 내의 제1 단어와의 사용자 인터랙션(interaction)을 수신하는 단계와;
    후보 n-그램(n-gram)들의 세트를 형성하는 단계 - 후보 n-그램 각각은 상기 제1 단어를 포함하는 상기 단어들의 순서화된 세트 내의 최대 n 개의 인접한 단어들의 시퀀스임 - 와;
    상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하는 단계와; 그리고
    상기 식별된 알려진 n-그램들 중 하나에 대해 액션을 취하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    알려진 n-그램들의 세트에 액세스하는 단계를 더 포함하고, 상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하는 단계는 상기 후보 n-그램들 중 어느 것이 알려진 n-그램들의 세트 내에 있는지를 결정하는 것을 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    알려진 n-그램들의 세트의 n-그램들의 발생의 빈도의 측정들을 결정하는 단계와;
    상기 발생의 빈도의 측정들을 이용하여 상기 식별된 알려진 n-그램들을 랭킹하는 단계와; 그리고
    상기 식별된 알려진 n-그램들 중 적어도 최고 랭킹의 n-그램에 대해 액션을 취하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 단어들의 순서화된 세트의 컨텍스트(context)와 관련된 토픽을 식별하는 단계와; 그리고
    상기 식별된 토픽에 기초하여 상기 알려진 n-그램들을 식별하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 취해진 액션은 식별된 알려진 n-그램들 중 하나를 시각적으로 선택하는 것을 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    사용자 입력을 수신함에 응답하여, 상기 식별된 알려진 n-그램들 중 하나의 적어도 일부분의 시각적 선택을 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 취해진 액션은 상기 식별된 알려진 n-그램들 중 적어도 하나의 정의를 제공하는 것을 포함하는 것을 특징으로 하는 방법.
  8. 프로세서에 의해 실행가능한 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령어들은:
    사용자 인터페이스에 디스플레이되는 단어들의 순서화된 세트 내의 제1 단어와의 사용자 인터랙션을 수신하기 위한 명령어들과;
    후보 n-그램들의 세트를 형성 - 후보 n-그램 각각은 상기 제1 단어를 포함하는 상기 단어들의 순서화된 세트 내의 최대 n 개의 인접한 단어들의 시퀀스임 - 하기 위한 명령어들과;
    상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하기 위한 명령어들과; 그리고
    상기 식별된 알려진 n-그램들 중 하나에 대해 액션을 취하기 위한 명령어들을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  9. 제8항에 있어서,
    상기 명령어들은 알려진 n-그램들의 세트에 액세스하는 것을 더 포함하고, 상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하는 것은 상기 후보 n-그램들 중 어느 것이 알려진 n-그램들의 세트 내에 있는지를 결정하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 명령어들은:
    알려진 n-그램들의 세트의 n-그램들의 발생의 빈도의 측정들을 결정하기 위한 명령어들과;
    상기 발생의 빈도의 측정들을 이용하여 상기 식별된 알려진 n-그램들을 랭킹하기 위한 명령어들과; 그리고
    상기 식별된 알려진 n-그램들 중 적어도 최고 랭킹의 n-그램에 대해 액션을 취하기 위한 명령어들을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  11. 제9항에 있어서,
    상기 명령어들은:
    상기 단어들의 순서화된 세트의 컨텍스트와 관련된 토픽을 식별하기 위한 명령어들과; 그리고
    상기 식별된 토픽에 기초하여 적어도 상기 알려진 n-그램들을 식별하기 위한 명령어들을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  12. 제8항에 있어서,
    상기 취해진 액션은 식별된 알려진 n-그램들 중 하나를 시각적으로 선택하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  13. 제8항에 있어서,
    사용자 입력을 수신함에 응답하여, 상기 식별된 알려진 n-그램들 중 하나의 적어도 일부분의 시각적 선택을 제거하기 위한 명령어들을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  14. 제8항에 있어서,
    상기 취해진 액션은 상기 식별된 알려진 n-그램들 중 적어도 하나의 정의를 제공하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  15. 컴퓨팅 시스템으로서,
    컴퓨터 프로세서와; 그리고
    비일시적 컴퓨터 판독가능 저장 매체를 포함하고, 상기 비일시적 컴퓨터 판독가능 저장 매체는:
    사용자 인터페이스에 디스플레이되는 단어들의 순서화된 세트 내의 제1 단어와의 사용자 인터랙션을 수신하기 위한 명령어들과;
    후보 n-그램들의 세트를 형성 - 후보 n-그램 각각은 상기 제1 단어를 포함하는 상기 단어들의 순서화된 세트 내의 최대 n 개의 인접한 단어들의 시퀀스임 - 하기 위한 명령어들과;
    상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하기 위한 명령어들과; 그리고
    상기 식별된 알려진 n-그램들 중 하나에 대해 액션을 취하기 위한 명령어들을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  16. 제15항에 있어서,
    알려진 n-그램들의 세트에 액세스하는 것을 더 포함하고, 상기 후보 n-그램들의 세트 내의 알려진 n-그램들을 식별하는 것은 상기 후보 n-그램들 중 어느 것이 알려진 n-그램들의 세트 내에 있는지를 결정하는 것을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  17. 제16항에 있어서,
    알려진 n-그램들의 세트의 n-그램들의 발생의 빈도의 측정들을 결정하기 위한 명령어들과;
    상기 발생의 빈도의 측정들을 이용하여 상기 식별된 알려진 n-그램들을 랭킹하기 위한 명령어들과; 그리고
    상기 식별된 알려진 n-그램들 중 최고 랭킹의 n-그램에 대해 액션을 취하기 위한 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  18. 제16항에 있어서,
    상기 단어들의 순서화된 세트의 컨텍스트와 관련된 토픽을 식별하기 위한 명령어들과; 그리고
    상기 식별된 토픽에 기초하여 적어도 상기 알려진 n-그램들을 식별하기 위한 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  19. 제15항에 있어서,
    상기 취해진 액션은 상기 식별된 알려진 n-그램들 중 하나를 시각적으로 선택하는 것을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  20. 제15항에 있어서,
    사용자 입력을 수신함에 응답하여, 상기 식별된 알려진 n-그램들 중 하나의 적어도 일부분의 시각적 선택을 제거하기 위한 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
KR1020167018182A 2013-12-20 2014-12-04 시멘틱상으로 의미있는 텍스트 선택들의 식별 KR20160100322A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/137,397 2013-12-20
US14/137,397 US20150178289A1 (en) 2013-12-20 2013-12-20 Identifying Semantically-Meaningful Text Selections
PCT/US2014/068655 WO2015094702A1 (en) 2013-12-20 2014-12-04 Identifying semantically-meaningful text selections

Publications (1)

Publication Number Publication Date
KR20160100322A true KR20160100322A (ko) 2016-08-23

Family

ID=53400235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167018182A KR20160100322A (ko) 2013-12-20 2014-12-04 시멘틱상으로 의미있는 텍스트 선택들의 식별

Country Status (5)

Country Link
US (1) US20150178289A1 (ko)
EP (1) EP3084636A4 (ko)
KR (1) KR20160100322A (ko)
CN (1) CN105765564A (ko)
WO (1) WO2015094702A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977841B2 (en) 2021-12-22 2024-05-07 Bank Of America Corporation Classification of documents

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160021524A (ko) * 2014-08-18 2016-02-26 엘지전자 주식회사 이동 단말기 및 이의 제어방법
US10049087B2 (en) 2016-07-19 2018-08-14 International Business Machines Corporation User-defined context-aware text selection for touchscreen devices
CN107798003A (zh) * 2016-08-31 2018-03-13 微软技术许可有限责任公司 与智能文本分段共享的可定制内容
CN110032324B (zh) * 2018-01-11 2024-03-05 荣耀终端有限公司 一种文本选中方法及终端

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789231B1 (en) * 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US7536382B2 (en) * 2004-03-31 2009-05-19 Google Inc. Query rewriting with entity detection
GB0407816D0 (en) * 2004-04-06 2004-05-12 British Telecomm Information retrieval
US7683889B2 (en) * 2004-12-21 2010-03-23 Microsoft Corporation Pressure based selection
US20070101190A1 (en) * 2005-10-27 2007-05-03 International Business Machines Corporation Systems, methods, and media for sharing input device movement information in an instant messaging system
US20100198802A1 (en) * 2006-06-07 2010-08-05 Renew Data Corp. System and method for optimizing search objects submitted to a data resource
US7657421B2 (en) * 2006-06-28 2010-02-02 International Business Machines Corporation System and method for identifying and defining idioms
US7552045B2 (en) * 2006-12-18 2009-06-23 Nokia Corporation Method, apparatus and computer program product for providing flexible text based language identification
US8650507B2 (en) * 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US7493325B1 (en) * 2008-05-15 2009-02-17 International Business Machines Corporation Method for matching user descriptions of technical problem manifestations with system-level problem descriptions
US9384186B2 (en) * 2008-05-20 2016-07-05 Aol Inc. Monitoring conversations to identify topics of interest
US20120131520A1 (en) * 2009-05-14 2012-05-24 Tang ding-yuan Gesture-based Text Identification and Selection in Images
EP2488963A1 (en) * 2009-10-15 2012-08-22 Rogers Communications Inc. System and method for phrase identification
CN102640140A (zh) * 2009-10-29 2012-08-15 谷歌公司 生成输入建议
US20120278308A1 (en) * 2009-12-30 2012-11-01 Google Inc. Custom search query suggestion tools
US8704783B2 (en) * 2010-03-24 2014-04-22 Microsoft Corporation Easy word selection and selection ahead of finger
US8719246B2 (en) * 2010-06-28 2014-05-06 Microsoft Corporation Generating and presenting a suggested search query
US20120102401A1 (en) * 2010-10-25 2012-04-26 Nokia Corporation Method and apparatus for providing text selection
US8543905B2 (en) * 2011-03-14 2013-09-24 Apple Inc. Device, method, and graphical user interface for automatically generating supplemental content
US9354805B2 (en) * 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977841B2 (en) 2021-12-22 2024-05-07 Bank Of America Corporation Classification of documents

Also Published As

Publication number Publication date
EP3084636A4 (en) 2017-05-03
US20150178289A1 (en) 2015-06-25
WO2015094702A1 (en) 2015-06-25
CN105765564A (zh) 2016-07-13
EP3084636A1 (en) 2016-10-26

Similar Documents

Publication Publication Date Title
CN109800386B (zh) 突出显示文档内文本的关键部分
US10552539B2 (en) Dynamic highlighting of text in electronic documents
RU2405186C2 (ru) Поиск в меню запуска программ операционной системы
US9342233B1 (en) Dynamic dictionary based on context
US8887044B1 (en) Visually distinguishing portions of content
KR102310648B1 (ko) 상황 정보 탐색 및 내비게이션 기법
US20130191730A1 (en) Previewing different types of documents
US9645717B2 (en) Managing a selection mode for presented content
US10650186B2 (en) Device, system and method for displaying sectioned documents
JP2015532753A (ja) 文字入力方法、システム及び装置
US20160171106A1 (en) Webpage content storage and review
KR20160100322A (ko) 시멘틱상으로 의미있는 텍스트 선택들의 식별
CN108664142B (zh) 具有文档间自学习功能的输入法
US20160078011A1 (en) Browser application and a method of operating the browser application
US8584011B2 (en) Document representation transitioning
CN112631437A (zh) 信息推荐方法、装置及电子设备
CN108664141B (zh) 具有文档上下文自学习功能的输入法
US10204156B2 (en) Displaying graphical representations of query suggestions
CN114297143A (zh) 一种搜索文件的方法、显示文件的方法、装置及移动终端
CN107315735B (zh) 用于笔记整理的方法及设备
US20160239156A1 (en) Browser application and a method of operating the browser application
JP6183801B2 (ja) 電子辞書
WO2015075920A1 (ja) 入力支援装置、入力支援方法及び記録媒体
JP5428622B2 (ja) 電子機器及びプログラム
US20190018827A1 (en) Electronic content insertion systems and methods

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid