KR101613155B1 - 콘텐트에 기초한 자동 입력 프로토콜 선택 - Google Patents

콘텐트에 기초한 자동 입력 프로토콜 선택 Download PDF

Info

Publication number
KR101613155B1
KR101613155B1 KR1020147018984A KR20147018984A KR101613155B1 KR 101613155 B1 KR101613155 B1 KR 101613155B1 KR 1020147018984 A KR1020147018984 A KR 1020147018984A KR 20147018984 A KR20147018984 A KR 20147018984A KR 101613155 B1 KR101613155 B1 KR 101613155B1
Authority
KR
South Korea
Prior art keywords
delete delete
protocol
input
input content
value
Prior art date
Application number
KR1020147018984A
Other languages
English (en)
Other versions
KR20140102287A (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 엠파이어 테크놀로지 디벨롭먼트 엘엘씨
Publication of KR20140102287A publication Critical patent/KR20140102287A/ko
Application granted granted Critical
Publication of KR101613155B1 publication Critical patent/KR101613155B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • 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/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • G06F16/90328Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Machine Translation (AREA)
  • Telephone Function (AREA)
  • Document Processing Apparatus (AREA)

Abstract

입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 기술이 일반적으로 개시된다. 일 예에서, 입력 콘텐트에 기초하여 입력 프로토콜은 선택하는 방법은, 상기 입력 콘텐트를 분석하는 단계; 상기 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 단계; 상기 하나 이상의 불가분의 개별 단위의 제1 발생 빈도와 상기 하나 이상의 불가분의 개별 단위의 제2 발생 빈도 사이의 유사도를 계산하는 단계 - 상기 하나 이상의 불가분의 개별 단위의 상기 제2 발생 빈도는 발생 빈도의 제2 값으로 사전 결정됨 -; 상기 유사도의 순위를 결정하는 단계; 상기 유사도에 기초하여 상기 입력 프로토콜을 식별하는 단계; 및 최상의 유사도를 갖는 제1 순위의 입력 프로토콜을 선택하는 단계를 포함할 수 있다.

Description

콘텐트에 기초한 자동 입력 프로토콜 선택 {CONTENT-BASED AUTOMATIC INPUT PROTOCOL SELECTION}
본원은, 입력 콘텐트에 기초한, 생성 프로토콜 및 예측 사전 프로토콜를 포함할 수 있는, 입력 프로토콜을 자동 선택하는 기술에 일반적으로 관련된다.
삭제
현재, 모바일 장치는 사용자로 하여금, 메시지를 생성하거나, 학급에서 노트를 하거나, 비즈니스 기록을 생성하는 것과 같은, 다양한 목적으로 콘텐트(content)를 입력하게 한다. 입력 콘텐트는, 단순 언어 텍스트, 구두점, 기호 (예를 들어, 작은 이미지 또는 애니메이션 아이콘), 이모티콘(emoticon), 또는 이들의 조합을 포함할 수 있다. 임의 유형의 콘텐트를 입력하기 위해, 사용자는, 콘텐트의 수신자 또는 유형에 따라, 현재의 입력 프로토콜에서 적절한 입력 프로토콜로 변환해야 할 수 있다. 예를 들어, 사용자가 온라인으로 중국어 사용자에 대한 메시지를 준비한 후 및 일본어 사용자에 대한 메시지를 준비하기 전에, 사용자는, 특히 다음 사람이 일본어만 구사하는 경우, 중국어 생성 프로토콜에서 일본어 생성 프로토콜로 변환해야 할 수 있다. 또한, 입력 콘텐트를 간단하게 하거나 일부 감정적 특징을 부가하기 위해, 사용자는 입력 프로토콜을 입력 특수 기호 또는 이모티콘으로 수차례 변경해야 할 수 있다. 휴대용 컴퓨터, 스마트 폰, 태블릿 등과 같은 모바일 장치를 사용할 때, 잦은 입력 프로토콜 변환은 때때로 스트레스를 주며 불편함을 초래할 수 있다. 한편, 본 발명의 배경이 되는 기술은 미국 공개 특허공보 US2007-0124132(2007.05.31)에 개시되어 있다.
일 실시예에 따르면, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법은, 입력 컨텐트를 획득하는 단계; 입력 콘텐트를 분석하는 단계; 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 단계; 하나 이상의 불가분의 개별 단위의 제1 발생 빈도 및 하나 이상의 불가분의 개별 단위의 제2 발생 빈도 사이의 유사도를 계산하는 단계 - 하나 이상의 불가분의 개별 단위의 제2 발생 빈도는, 발생 빈도의 제2값으로 사전 결정됨 -; 유사도의 순위를 결정하는 단계; 유사도에 기초하여 하나 이상의 입력 프로토콜을 식별하는 단계; 및 최고의 유사도를 갖는 제1 순위 입력 프로토콜을 선택하는 단계를 포함할 수 있다.
일 실시예에서, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 시스템은, 입력 콘텐트를 획득하고, 입력 콘텐트를 분석하며, 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 프로세싱 모듈; 하나 이상의 불가분의 개별 단위의 제1 발생 빈도 및 하나 이상의 불가분의 개별 단위의 제2 발생 빈도 사이의 유사도를 계산하는 계산 모듈 - 하나 이상의 불가분의 개별 단위의 제2 발생 빈도는, 발생 빈도의 제2값으로 사전 결정됨 -; 유사도의 순위를 결정하고, 유사도에 기초하여 하나 이상의 입력 프로토콜을 식별하며, 최고의 유사도를 갖는 제1 순위 입력 프로토콜을 선택하는 선택 모듈; 및 입력 콘텐트를 수신하며, 제1 순위 입력 프로토콜을 제안하는 하나 이상의 사용자 인터페이스(UI)를 포함할 수 있다. UI는, 사용자에게 시각적인 정보를 제공하는 그래픽 사용자 인터페이스(GUI)를 포함할 수 있거나, UI는, 키보드, 마우스, 터치 스크린 또는 사용자로부터 입력 콘텐트를 수신하는 다른 UI 장치를 포함할 수 있다. GUI는, 디스플레이 스크린 상에 제1 순위 입력 프로토콜에 관한 정보를 표시하는 것과 같이, 사용자에게 제1 순위 입력 프로토콜를 제안할 수 있다.
일 실시예에서, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 장치는, 입력 콘텐트를 획득하고, 입력 콘텐트를 분석하며, 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 프로세싱 유닛; 하나 이상의 불가분의 개별 단위의 제1 발생 빈도 및 하나 이상의 불가분의 개별 단위의 제2 발생 빈도 사이의 유사도를 계산하는 계산 유닛 - 하나 이상의 불가분의 개별 단위의 제2 발생 빈도는, 발생 빈도의 제2값으로 사전 결정됨 -; 유사도의 순위를 결정하고, 유사도에 기초하여 하나 이상의 입력 프로토콜을 식별하며, 최고의 유사도를 갖는 제1 순위 입력 프로토콜을 선택하는 선택 유닛; 및 입력 콘텐트를 수신하며, 제1 순위 입력 프로토콜을 제안하는 하나 이상의 사용자 인터페이스(UI)를 포함할 수 있다. UI는, 사용자에게 시각적인 정보를 제공하는 그래픽 사용자 인터페이스(GUI)를 포함할 뿐만아니라, 키보드, 마우스, 터치 스크린 또는 사용자로부터 입력 콘텐트를 수신하고 제1 순위 입력 프로토콜을 제안하는 다른 UI 장치를 포함할 수 있다.
일 실시예에 따르면, 동작을 실행하는 컴퓨팅 장치에 의해 실행 가능한 저장된 컴퓨터 판독가능 명령어를 포함하는 컴퓨터 판독가능 저장 매체가 제공될 수 있으며, 컴퓨터 판독가능 저장 매체는 입력 콘텐트에 기초하여 입력 프로토콜을 선택하도록 구성된다. 입력 콘텐트는 UI를 통해 컴퓨팅 장치로 입력될 수 있다. 컴퓨터 판독가능 명령어를 갖는 저장 매체를 갖는 컴퓨팅 장치의 동작은, 입력 컨텐트를 획득하는 것; 입력 콘텐트를 분석하는 것; 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 것; 하나 이상의 불가분의 개별 단위의 제1 발생 빈도 및 하나 이상의 불가분의 개별 단위의 제2 발생 빈도 사이의 유사도를 계산하는 것 - 하나 이상의 불가분의 개별 단위의 제2 발생 빈도는, 발생 빈도의 제2값으로 사전 결정됨 -; 유사도의 순위를 결정하는 것; 유사도에 기초하여 하나 이상의 입력 프로토콜을 식별하는 것; 및 최고의 유사도를 갖는 제1 순위 입력 프로토콜을 선택하는 것을 포함할 수 있다.
일 실시예에서, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법은, 입력 콘텐트를 분석하는 단계; 입력 콘텐트 및 데이터베이스 사이의 유사도를 계산하는 단계; 유사도의 순위를 결정하는 단계; 유사도에 기초하여 하나 이상의 입력 프로토콜을 식별하는 단계; 및 최고의 유사도를 갖는 제1 순위 입력 프로토콜을 선택하는 단계를 포함할 수 있다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 상기 설명된 예시적인 양태들, 실시예들, 그리고 특징들에 더하여, 추가적인 양태들, 실시예들, 그리고 특징들 또한 명확해질 것이다.
본 개시의 전술 및 이하 기술하는 특징 및 다른 특징은 첨부 도면과 결합하여, 다음의 설명 및 첨부된 청구범위로부터 더욱 충분히 명백해질 것이다. 이들 도면은 본 개시에 따른 단지 몇 개의 예시를 묘사할 뿐이고, 따라서, 본 개시의 범위를 제한하는 것으로 고려되어서는 안 될 것임을 이해하면서, 본 개시는 첨부 도면의 사용을 통해 더 구체적이고 상세하게 설명될 것이다.
도 1a는, 하나 이상의 자연어, 하나 이상의 기호, 하나 이상의 이모티콘을 포함하는 입력 콘텐트의 예를 도시한다.
도 1b는, 하나 이상의 기호의 예를 도시한다.
도 2a는, 생성 프로토콜 및 예측 사전 프로토콜을 포함하는 입력 프로토콜의 예를 도시한다.
도 2b는, 자연어 생성 프로토콜, 기호 생성 프로토콜 및 이모티콘 생성 프로토콜을 포함하는 생성 프로토콜의 예를 도시한다.
도 2c는, 예측 사전 프로토콜의 구조의 예를 도시한다.
도 3a는, 주제 도메인 프로파일 및 관계 프로파일을 포함하는 프로파일의 예를 도시한다.
도 3b는, 프로파일에 대한 단어 발생 빈도 히스토그램의 예를 도시한다.
도 4는, 입력에 기초한 입력 프로토콜을 선택하는 방법 및 시스템의 예를 도시한다.
도 5는, 입력 콘텐트에 기초한 입력 프로토콜의 선택 방법 및 장치의 예를 도시한다.
도 6은, 본원에 개시된 방법을 구현하고 본원에 개시된 시스템을 위해 사용될 수 있는 컴퓨팅 장치의 실시예를 도시한다.
도 7은, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법의 실시예를 도시한다.
도 8은, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법의 실시예를 도시한다.
이상 도면은 모두 본원에 개시된 적어도 일부 실시예에 따라 배열된다.
이하의 상세한 설명에서 본 개시의 일부를 이루는 첨부된 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 통상적으로, 도면에서 유사한 부호는 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면, 그리고 청구범위에 설명되는 예시적인 예시는 제한적으로 여겨지지 않는다. 본 개시에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서도 다른 예시가 이용되거나, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 도시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합, 분리, 및 설계될 수 있음과 이 모두가 여기에서 명시시적으로 고려됨이 기꺼이 이해될 것이다.
일반적으로, 본원은, 컴퓨팅 장치에 콘텐트를 입력하는 장치, 시스템 및 방법에 관한 것이다. 이러한 입력은, 사용자로부터 텍스트 입력을 수신하고, 그 텍스트를 프로세싱 및 분석하여 예측되는 텍스트를 생성하여 사용자에게 제공하는 장치에 의해 실행될 수 있다. 장치는, 사용자에 의해 입력될 수 있는 텍스트를 분석하고 예측할 수 있는 하드웨어 및 소프트웨어를 포함할 수 있다. 장치는, 사용자에 의해 입력된 과거 텍스트뿐만 아니라, 텍스트의 주제 또는 그 텍스트의 의도된 수신자를 이용하여, 사용자에 의해 입력될 텍스트의 예측을 실행할 수 있다.
다음 예는, 본원에 개시된 장치, 시스템 및 방법의 일 실시예를 제공한다. 사용자가 텍스트를 준비하기 위해 컴퓨팅 장치로 정보를 입력할 때, 사용자는, 텍스트의 입력 콘텐트에 있어서의 모든 각각의 문자, 단어, 문장, 기호, 구두점 또는 이모티콘을 타이핑할 필요가 있을 수 있다. 그러나, 컴퓨팅 장치는, 사용자에 의해 그 컴퓨팅 장치로 입력된 입력 콘텐트에 기초하여, 텍스트, 기호 또는 이모티콘과 같은, 추천된 입력 콘텐트를 사용자에게 제공하는 하드웨어 및 소프트웨어로 구성될 수 있다.
일 실시예에서, 컴퓨팅 장치는, 사용자에 의해 제공된 입력 콘텐트에 기초하여 하나 이상의 입력 프로토콜을 사용하여 추천된 입력 콘텐트를 제공할 수 있다. 하나 이상의 입력 프로토콜은, 각각, 입력 콘텐트(예를 들어, 생성된 콘텐트)를 생성하는 생성 프로토콜(generating protocol), 및 입력 콘텐트(예를 들어, 예측된 콘텐트)를 예측하는 예측 사전 프로토콜(prediction dictionary protocol)을 포함할 수 있다.
일 실시예에서, 생성 프로토콜은, 생성된 입력 콘텐트로써 사용자에게 제공되는 생성된 입력에 포함되는, 자연언어(또는 자연어), 기호 및 이모티콘을 생성, 입력 및 편집하기 위해 (예를 들어, 사용자에 의해) 사용될 수 있다. 일 실시예에서, 예측 사전 프로토콜은, 사용자에 의해 제공된 입력 콘텐트에 기초하여 텍스트의 입력 콘텐트를 위해 사용될 수 있는 예측된 콘텐트의 예측을 용이하게 하기 위해 사용될 수 있다. 일 실시예에서, 생성 프로토콜 및 예측 사전 프로토콜은, 사용자에게 추천된 입력 콘텐트를 제공하기 위해 협동할 수 있으며, 여기서 추천된 입력 콘텐트는 생성된 콘텐트 및 예측된 콘텐트를 포함할 수 있다.
일 실시예에서, 생성 프로토콜은, 사용자에 의해 장치에 실제 입력되는 것에 기초하여 콘텐트를 생성하는데 사용될 수 있다. 즉, 생성 프로토콜은, 사용자로부터 입력을 수신하고, 디스플레이되거나 사용자에게 제공되는 콘텐트를 생성한다. 생성 프로토콜은, 사용자에 의해 입력된 것과 같은 생성된 콘텐트를 제공할 수 있거나, 생성된 콘텐트는, 사용자에게 제공되는 입력 콘텐트 (예를 들어, 생성된 콘텐트)를 생성하기 위해 사용자로부터의 입력의 문자를 결합 또는 분리하는 것과 같이, 입력으로부터 발생될 수 있다. 예를 들어, 생성 프로토콜은, 콜론 및 닫는 괄호로부터 "웃는 얼굴"을 생성할 수 있다 (예를 들어, ":)").
일 실시예에서, 예측 사전 프로토콜은, 입력 콘텐트와 관련되는 관계 또는 주제 도메인에서 자주 사용되거나 추출되는 단어, 문장, 기호 또는 이모티콘의 데이터베이스를 포함할 수 있다. 일 실시예에서, 주제 도메인은, 입력 콘텐트의 문맥 환경에 관련된 일종의 주제를 포함할 수 있으며, 여기서 서로 다른 주제 도메인의 예는, 사업, 학교, 운동, 활동, 캘랜더, 또는 다른 유형의 문맥 환경을 포함할 수 있다. 다른 실시예에서, 관계는, 입력 콘텐트의 텍스트를 생성하는 사람 (예를 들어, 사용자)와 입력 콘텐트의 텍스트의 의도된 수신자 사이의 상호 연결의 유형을 일반적으로 의미할 수 있다. 관계의 일부 예는, 사업 연락처, 학교 연락처, 운동 연락처, 활동 연락처, 지인, 친구, 가족 또는 배우자, 여자친구 및 남자친구와 같은 중요한 다른 것들일 수 있다.
일 실시예에서, 생성 프로토콜은, 입력 콘텐트의 생성 및 예측을 용이하게 하기 위해, 대응되는 예측 사전 프로토콜과 협력할 수 있다. 추천된 입력 콘텐트의 예측 및/또는 생성은, 사용자에 의해 제공되는 입력 콘텐트와 연관된 관계 파라미터 및 주제 도메인에 기초할 수 있다. 예를 들어, 사업 예측 사전 프로토콜은, 사업과 연관된 주제 도메인에서 자주 사용되는 단어, 문장, 기호 또는 이모티콘의 데이터베이스를 포함할 수 있다. 사용자가 사업과 연관된 입력 콘텐트를 생성, 입력 및 편집하기 위해 생성 프로토콜을 사용할 때, 사업 예측 사전 프로토콜이 사용되어, 사업 주제 도메인에서 자주 사용되는 단어 또는 문장과 같은, 특정 입력 콘텐트를 예측할 수 있다.
일 실시예에서, 예측은, 사용자에 의해 제공되는 입력 콘텐트에 기초하여 사용자에게 적절한 단어 또는 문장을 제안하고 데이터베이스를 검색하는 것을 통해 실행될 수 있다. 일부 예에서, 사용자는, 입력 콘텐트의 생성 동안에 예측 사전 프로토콜을 변경해야 할 수 있다. 예를 들어, 사용자가 입력 콘텐트 수신자를 사업 파트너에서 가족 일원으로 변경할 때, 사용자 및/또는 컴퓨팅 장치는, 사업 예측 사전 프로토콜을 가족 일원 예측 사전 프로토콜로 변경해야 할 수 있다. 이것은, 텍스트의 의도된 수신자를 위한 적절한 텍스트를 선택하게 함으로써 텍스트를 용이하게 준비하도록 한다. 이제, 컴퓨팅 장치에 의한 입력 프로토콜의 변경은, 본원에 개시되는 시스템 및 방법으로, 주제 도메인 및 관계에 적어도 부분적으로 기초하여 자동화될 수 있다.
도 1a는, 본원에 개시된 적어도 일부 실시예에 따라 배열된, 하나 이상의 이모티콘, 하나 이상의 기호, 및 하나 이상의 자연어를 포함하는 입력 콘텐트의 예를 도시한다. 도 1a에 도시된 바와 같이, 입력 콘텐트(100)는, 하나 이상의 자연어(101), 하나 이상의 기호(102), 또는 하나 이상의 이모티콘(103), 또는 이들의 임의의 조합을 포함할 수 있다. 입력 콘텐트(100)는, 하나 이상의 자연어(101), 하나 이상의 기호(102), 또는 하나 이상의 이모티콘(103)의 임의의 조합을 포함할 수 있다. 예를 들어, 일본어 및 영어로 모두 구사하는 사람은, 일본어 단어 및 문장 및 영어 단어 및 문장을 모두 포함하는 메시지를 생성할 수 있으며, 여기서 하나 이상의 자연어(101)는 일본어 및 영어를 포함한다. 하나 이상의 자연어(101)는, 컴퓨터 언어와 다르게, 일본어, 중국어, 프랑스어, 스페인어 또는 영어, 또는 이들의 임의의 조합과 같은, 임의의 종류의 인간 언어일 수 있다.
도 1b는, 본원에 개시된 적어도 일부 실시예에 따라 배열된, 하나 이상의 기호의 예를 도시한다. 도 1b에 도시된 바와 같이, 하나 이상의 기호(102)는, 특정 의미를 갖거나 갖지 않는, 동적의 작은 이미지 또는 애니메이션 아이콘을 포함하는, 임의의 기호일 수 있다. 통상적으로, 하나 이상의 기호(102)의 콘텐트는, 제공될 정보의 일부 함의(connotation)를 가질 수 있다. 예를 들어, 태양 기호(E63E)는, 햇볕이 있는 날씨를 나타내는데 사용될 수 있으며, 구름 아이콘(E63F)는 구름 낀 날씨를 나타내는데 사용될 수 있으며, 우산 아이콘(E640)은 비가 오는 날씨를 나타내는데 사용될 수 있으며, 눈사람 아이콘 (E641)은 눈이 오는 날씨를 나타내는데 사용될 수 있으며, 번개 아이콘(E642)은 천둥과 번개가 치는 날씨를 나타내는데 사용될 수 있으며, 비행기 아이콘(미도시)은 비행 상태를 나타내는데 사용될 수 있으며, 또는 케이크 아이콘(미도시)은 생일을 나타내는데 사용될 수 있다. 도 1를 다시 참조하면, 하나 이상의 이모티콘(103)은, 구두점(punctuation) 및 문자에 의해 그림으로 나타낸 얼굴 표졍과 같이, 어떤 형태로도 될 수 있다. 하나 이상의 이모티콘(103)은, 기분 좋은 상태를 나타내는데 사용되는 스마일 이모티콘이나 기분 나쁜 상태를 나타내는데 사용되는 찡그린 표정의 이모티콘과 같이, 특정 기분을 나타내는데 사용될 수 있다.
입력 콘텐트(100)는, 하나 이상의 불가분의 개별 단위(indivisible individual unit)(104)을 포함할 수 있다. 하나 이상의 불가분의 개별 단위(104)는, 입력 콘텐트(100)의 텍스트 또는 문자에 따른 임의의 형태일 수 있다. 입력 콘텐트(100)가 하나 이상의 자연어(101)를 포함할 때, 하나 이상의 불가분의 개별 단위(104)는, 문자 또는 단어, 구두점 또는 이들의 조합과 같은, 자연어의 최소 언어 단위일 수 있다. 단어는, 특정 자연어에 있어서 속어(slang) 또는 통상의 사전 단어일 수 있다. 최소 언어 단위는, 특정 의미를 포함할 수 있는 언어 단위일 수 있다. 최소 언어 단위는, 서로 다른 자연어에 따른 서로 다른 구조를 가질 수 있다. 예를 들어, 하나 이상의 자연어(101)가 일본어를 포함할 때, 하나 이상의 불가분의 개별 단위(104)는 몰팩틴(morphactin)일 수 있는데, 그 이유는 일본어에서 몰팩틴은 특정 의미를 갖는 최소 언어 단위로 사용되기 때문이다. 예를 들어, "오하이요-(Ohayou)"는 일본어에서 몰팩틴이고, 그 의미는 "굿모닝(Good Morning)"이다. "Ohayou"에서 "O"와 같이 몰팩틴에서의 개별 가나 문자(kana character)는 아무런 의미를 갖지 않는다. 따라서, "Ohayou"의 몰팩틴은 일본어에서 최소 언어 단위로 취급될 수 있으며, 이에 따라 이것은, 하나 이상의 자연어(101)이 일본어를 포함할 때, 하나 이상의 불가분의 개별 단위(104)에 포함될 수 있다. 반면에, 하나 이상의 자연어(101)가 영어를 포함할 때, 하나 이상의 불가분의 개별 단위(104)는 단일 단어로 될 수 있는데, 그 이유는 영어에서 단일 단어는 특정 의미를 포함하기에 충분하며, 일부의 경우, 단일 문자 또는 단일 구두점(punctuation mark)는 충분한 의미를 포함할 수 있다. 예를 들어, 단어 "sunny"는, 하나 이상의 자연어(101)가 영어를 포함할 때, 하나 이상의 불가분의 개별 단위(104)의 하나일 수 있다. 질문을 나타내는 물음표(예를 들어, "?")는 하나 이상의 개별 단위(104)의 하나일 수 있다. 일부 예에서, 특히 실제 단어를 나타내는데 속어 또는 발성 속어(phonetic slang)을 사용하는 비공식적인 텍스트에서, 단일 문자 또는 숫자는 불가분의 개별 단위 또는 하나 이상의 불가분의 개별 단위(104)의 일부일 수 있다. 하나 이상의 기호(102)는, 단일 작은 이미지 또는 단일 애니메이션 아이콘이 단일 불가분의 개별 단위가 되는 것과 같이, 하나 이상의 불가분의 개별 단위(104)로써 사용될 수 있다. 하나 이상의 이모티콘(103)은 하나 이상의 불가분의 개별 단위(104)로써 사용되어, 단일 이모티콘은, 문자, 숫자 또는 구두점 등과 같이 하나 이상의 문자 입력에 의해 형성될 수 있다.
하나 이상의 불가분의 개별 단위(104)는, 컴퓨팅 산업 표준의 하나에 의해 인코딩될 수 있다. 컴퓨터 산업 표준은, UNICODE, ISO-2022-JP, ISO-2022-CN, ISO-2022-KR, EUC-JP, EUC-KR, EUC-CN, EUC-TW 및 Shift_JIS-2004를 포함할 수 있다. 따라서, 입력 콘텐트(100)의 하나 이상의 불가분의 개별 단위(104)의 임의의 것은, 컴퓨팅 산업 표준의 하나에 의해 정의되는 특정 코드에 의해 인코딩, 해석 및 식별될 수 있다.
도 2a는, 본원에 개시된 적어도 일부 실시예에 따라 배열된, 생성 프로토콜 및 예측 사전 프로토콜을 포함하는 입력 프로토콜의 예를 도시한다. 도 2a에 도시된 것과 같이, 입력 프로토콜(200)은, 생성 프로토콜(210) 및 예측 사전 프로토콜을 포함할 수 있다. 입력 프로토콜(200)은, 입력 콘텐트(100)를 생성, 입력 및 편집하는데 사용될 수 있다. 이것은, 하나 이상의 자연어(101), 하나 이상의 기호(102) 및 하나 이상의 이모티콘(103)을 생성, 입력 및 편집하는 입력 프로토콜(200)을 포함할 수 있다. 생성 프로토콜(210)은, 하나 이상의 자연어(101), 하나 이상의 기호(102) 및 하나 이상의 이모티콘(103)을 생성, 입력 및 편집하는데 사용될 수 있다. 도 2b에 도시된 바와 같이, 생성 프로토콜(210)은, 자연어 생성 프로토콜(211), 기호 생성 프로토콜(212), 및 이모티콘 생성 프로토콜(213)을 포함할 수 있다. 자연어 생성 프로토콜(211)은, 컴퓨팅 장치의 키보드 또는 터치 스크린을 이용하는 것과 같이, 사용자가 컴퓨팅 장치에 문자를 입력하는 것에 기초하여 하나 이상의 자연어(101)에 대한 알파벳 또는 숫자 문자, 단어 또는 문장일 선택 또는 결정하는 컴퓨팅 장치를 통하는 것과 같이, 하나 이상의 자연어(101)의 문자를 생성 및 입력하는데 사용될 수 있다. 기호 생성 프로토콜(212)은, 하나 이상의 기호(102)를 나타내는 문자의 조합 또는 코드의 입력, 기호 리스트로부터 하나 이상의 기호(102)를 선택 또는 결정하는 컴퓨팅 장치를 통하는 것과 같이, 하나 이상의 기호(102)를 생성 및 입력하는데 사용될 수 있다. 이모티콘 생성 프로토콜(213)은, 하나 이상의 이모티콘(103)을 생성하기 위해 몇몇 문자(예를 들어, 구두점 또는 문자)를 이용하거나, 이모티콘 리스트에서 하나 이상의 이모티콘(103)을 선택 또는 결정하는 컴퓨팅 장치를 통하는 것과 같이, 하나 이상의 이모티콘(103)을 생성 및 입력하는데 사용될 수 있다. 컴퓨팅 장치는, 사용자에 의해 컴퓨팅 장치에 입력되는 콘텐트에 기초하여, 자연어 생성 프로토콜(211), 기호 생성 프로토콜(212) 및 이모티콘 생성 프로토콜 중의 하나 이상을 이용하여, 생성 및/또는 사용자에게 제공될 콘텐트를 선택 또는 결정할 수 있다.
생성 프로토콜(210)은, 중국어 생성 프로토콜에서 일본어 생성 프로토콜로 변환하는 것과 같이, 서로 다른 유형의 자연어 생성 프로토콜(211) 사이에서 변환될 수 있다. 또한, 생성 프로토콜(210)은, 날씨 기호 생성 프로토콜에서 패션 기호 생성 프로토콜로 변환하는 것과 같이, 서로 다른 유형의 기호 생성 프로토콜(212) 사이에서 변환될 수 있다. 추가로, 생성 프로토콜(210)은, 행복한 기분 이모티콘 생성 프로토콜에서 슬픈 기분 이모티콘 생성 프로토콜로 변환하는 것과 같이, 서로 다른 유형의 이모토콘 생성 프로토콜(213) 사이에서 변환될 수 있다. 또한, 생성 프로토콜(210)은, 자연어 생성 프로토콜(211)에서 기호 생성 프로토콜(212)로 변환되거나, 기호 생성 프로토콜(212)에서 이모티콘 생성 프로토콜(213)으로 변환되는 것과 같이, 서로 다른 유형의 생성 프로토콜 사이에서 변환될 수 있다. 생성 프로토콜(210) 변환 프로세스는, 입력 콘텐트(100) 뿐만 아니라 주제 도메인 및 관계 파라미터에 따라 달라질 수 있다. 예를 들어, 사용자는, 하나 이상의 자연어(101)로 생성된 문장에 하나 이상의 기호(102) 또는 하나 이상의 이모티콘(103)을 삽입하기 원할 수 있으며, 이에 따라 입력 프로세스 동안에 생성 프로토콜(210)을 여러 번 변환해야 할 수 있다.
도 2a에 도시된 것과 같이, 입력 프로토콜(200)은 예측 사전 프로토콜(220)을 또한 포함할 수 있다. 예측 사전 프로토콜(220)은 입력 콘텐트(100)의 예측을 용이하게 하기 위해 사용될 수 있다.
도 2c는, 본원에 개시된 적어도 일부 실시예에 따라 배열된, 예측 사전 프로토콜의 구조의 예를 도시한다. 도 2c에 도시된 바와 같이, 예측 사전 프로토콜(220)은 예측 사전(221) 및 프로세싱 모듈(222)을 포함한다. 또한 도시된 바와 같이, 예측 사전(221)은 주제 도메인 예측 사전(223) 및 관계 예측 사전(224)를 포함할 수 있으며, 프로세싱 모듈(222)은 검색 엔진(225), 매칭 모듈(226), 제안 모듈(227), 및 변경 모듈(228)을 포함할 수 있다. 예측 사전(221)은, 주제 도메인 예측 사전(223) 및 관계 예측 사전(224)와 같은, 서로 다른 유형의 예측 사전을 포함할 수 있다. 예측 사전(221)은 하나 이상의 데이터베이스를 포함할 수 있으며, 각 데이터베이스는, 주제 도메인 (예를 들어, 환경의 유형) 또는 관계 (예를 들어, 사용자로부터 메시지를 받는 통신자)와 같은, 설정 또는 텍스트 환경에서 자주 사용되는 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 문장, 구두점, 몰팩틴 및 단어를 포함할 수 있다. 주제 도메인 및 관계는, 입력 콘텐트(100)의 수신자 및 사용자와의 관계에서, 생성되거나 예측될 추천된 콘텐트의 유형을 결정할 수 있다. 주제 도메인 예측 사전(223)의 주제 도메인은, 텍스트 환경과 관련된 주제의 다른 많은 유형 뿐만 아니라 학교, 직장, 사업, 가족 또는 친구관계의 주제와 같은, 임의의 주제를 포함할 수 있다. 관계 예측 사전(224)의 관계는, 학급친구, 직장동료, 사업 동반자, 가족 일원 또는 친구들 사이의 관계와 같이, 입력 콘텐트(100)의 수신자 및 사용자 사이의 임의의 유형의 관계를 포함할 수 있다. 예측 사전(221)은 다른 유형의 예측 사전을 포함할 수 있으며, 본원에 개시된 것에 제한되지 않을 수 있다.
예측 사전(221)은, 하나 이상의 자연어(101)의 임의의 사전 뿐만 아니라 일본어 사전 또는 중국어 사전과 같은, 기존의 사전에 기초하여 생성될 수 있다. 예측 사전(221)은, 특정 관계 또는 특정 주제 도메인에 관한 사용자의 이전 통신 기록과 같은, 일부 다른 자료들에 기초하여 또한 생성될 수 있다. 이전 통신 기록은, 특히 통신의 의도된 수신자의 관계 및/또는 주제 도메인의 관점에서, 과거에 사용자가 통신하였던 임의의 기록일 수 있다. 예를 들어, 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 자주 사용된 문장, 구두점, 몰팩틴, 단어들은, 특정 사업 동반자(예를 들어, 수신자)에 대한 사용자(예를 들어, 발신자)의 이전 통신 기록으로부터 추출되어, 사업 주제 도메인 예측 사전을 생성할 수 있다. 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 자주 사용된 문장, 구두점, 몰팩틴, 단어들은, 이러한 기록으로부터 추출되어 사업 동반자 관계 예측 사전을 생성할 수 있다.
예측 사전(221)에서 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 자주 사용된 문장, 구두점, 몰팩틴, 단어들은, 다음 수식 1을 통해 용어 빈도-역 문서 빈도(term frequency-inverse document frequency(TD-IDF))를 이용하여 추출될 수 있다.
Figure 112014064388312-pct00001
예를 들어, 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어들은, 주제 도메인 또는 관계에 관련된 이전 통신 기록, 공통 사전 또는 유사한 소스와 같은, 주제 도메인 또는 관계와 관련된 자료들로부터 추출될 수 있다. 위 수식 1에서, 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어들을 추출하는데 사용된 자료들은, m으로 지칭될 수 있다. 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어의 각각은, 일반적으로 단어 또는 w로 지칭될 수 있다. 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어의 리스트는 Li로 치칭될 수 있다. "a", "the", "and", "or" 또는 "is"와 같은 비기능적 단어 또는 몰팩틴은 리스트(Li)로부터 삭제되어, 사용자 "i"에 대한 예측 사전 PDi을 위한 메타데이터 후보 단어 리스트(MCi)를 생성할 수 있다. 이것은 수신자 "j"에 대해 행해질 수 있다. 로컬 용어 빈도 tf는, 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어가 추출되는 자료에 나타났던, 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어 각각의 발생 빈도이다. 문서 빈도(df)는, 추출을 위해 사용된 모든 자료에 나타났던, 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어를 포함하는 문서들의 개수다. 예를 들어, 10개의 문서가 있고, 모든 문서가 단어 "they"를 포함하면, "they"의 df는 10이다. 단지 하나의 문서가 단어 "unique"를 포함할 때, "unique"의 df는 1이다. 큰 df 점수는 작은 df 점수를 갖는 단어와 비교하여 그렇게 중요하지 않은 단어를 나타내는 데, 그 이유는 큰 df 점수는 많은 문서에서 단어가 공통적으로 나타난다는 것을 표시하기 때문이다. tf 및 df는 그 후에 계산될 수 있다. 자주 사용되고 피쳐링(feature)되는 단어 리스트 wi는 이어서, tf 및 df에 기초하여 생성될 수 있으며, 여기서 tf는 임계치 t1보다 크고, df는 임계치 t2보다 작다. 수식 1에 관한 추가적인 정보는, 본원에 그 전체를 특정 참조로 포함하는, 베자-예이츠 알 및 리베이로-네토 비의 논문 (Baeza-Yates, R. and Ribeiro-Neto, B. "Modern Information Retrieval". ACM Press/Addison-Wesley, 1999)으로부터 얻을 수 있다.
도 2c에 도시된 바와 같이, 예측 사전 프로토콜(220)은 프로세싱 모듈(222)을 포함할 수 있으나, 프로세싱 모듈(222)은 일부 시스템에는 필요하지 않다. 프로세싱 모듈(222)은, 검색 엔진(225)을 포함할 수 있으며, 이것은 입력 콘텐트(100)와 매칭하는 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 몰팩틴, 및 단어를 검색하는데 사용될 수 있다. 프로세싱 모듈(222)은, 입력 콘텐트(100)과 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 문장, 몰팩틴, 및 단어를 비교하는데 사용될 수 있는 매칭 모듈(226)을 포함할 수 있다. 프로세싱 모듈(222)은, 입력 콘텐트(100)와 매칭되거나 유사한 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 문장, 몰팩틴, 및 단어와 같은, 예측된 콘텐트를 사용자에게 스크린 상에 예측된 콘텐트를 디스플레이함으로써, 사용자에게 예측된 콘텐트를 제안하는데 사용될 수 있는 제안 모듈(227)을 포함할 수 있다. 프로세싱 모듈(222)은 또한, 예측 사전(221)을 변경하는데 사용될 수 있는 변경 모듈(228)을 포함할 수 있다. 변경 모듈(228)의 기능은, 예측 사전(221)에 이전에 저장되지 않았던, 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 문장, 몰팩틴, 및 단어를 추가하는 것; 예측 사전(221)에 실수를 수정하는 것; 일정 시간 후에 예측 사전(221)에 저장된 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 사용되지 않은 구두점, 문장, 몰팩틴, 및 단어를 제거하는 것; 또는 일정 시간 후에 새로운 유형의 예측 사전으로 예측 사전(221)을 갱신하는 것을 포함할 수 있다.
예측 사전 프로토콜(220)은, 사용자에 의해 제공된 입력 콘텐트(100)에 기초하여 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 문장, 몰팩틴, 및 단어를 예측하는 것과 같이, 입력 콘텐트(100)의 예측을 용이하게 하는데 사용될 수 있다. 예측된 입력 콘텐트는, 사용자에 의해 컴퓨팅 장치에 입력되었던 것에 기초하여 사용자에게 추천되는 추천 입력 콘텐트일 수 있다. 예를 들어, 사용자는 "me"라는 문자를 생성하고 입력하기 위해 영어를 위한 생성 프로토콜(210)을 사용할 수 있다. 여기서, 문자 "me"는 입력 콘텐트(100)의 일부가 될 수 있다. 입력 콘텐트(100)에 기초하여, 사업 주제 도메인을 위한 예측 사전 프로토콜(220)의 프로세싱 모듈(222)이, 사업 주제 도메인 예측 사전을 검색하고, 단어 "met" 또는 "meeting"을 포함하는 단어 리스트와 같은, 예측 콘텐트(예를 들어, 추천 입력 콘텐트)를 사용자에게 제안할 수 있다. 사용자는, 제안된 단어인 "meeting"을 선택함으로써 예측 콘텐트를 수용할 수 있다. 여기서, 새로 선택된 단어인 "meeting"은 입력 콘텐트(100)의 일부일 수 있다. 입력 콘텐트(100)에 기초하여, 프로세싱 모듈(222)은, 사업 주제 도메인 예측 사전을 더 검색하여, 단어 "schedule"과 같은 예측 콘텐트를 사용자에게 제안할 수 있다. 사용자는, 제안된 단어인 "schedule"를 선택함으로써 예측 콘텐트를 수용할 수 있다. 여기서, "meeting schedule"은 입력 콘텐트(100)의 일부일 수 있다. 입력 콘텐트(100)에 기초하여, 프로세싱 모듈(222)은 사업 주제 도메인 예측 사전을 이어서 검색하고, 문장 "what is the meeting schedule for tomorrow"와 같은 예측 콘텐트를 스크린 상에 사용자에게 제안할 수 있다. 사용자는, 입력 콘텐트(100)의 일부일 수 있는, 제안된 문장인 "what is the meeting schedule for tomorrow?"를 선택함으로써 예측 콘텐트를 수용할 수 있다. 사용자는, 예측 콘텐트에서 아무것도 선택하지 않음으로써 예측 콘텐트를 수용하지 않을 수 있다.
다른 예에서, 사용자는, 단어 리스트로부터 제안된 단어인 "met" 또는 "meeting"을 선택하지 않음으로써 예측 콘텐트를 수용하지 않고, 단어 "meet"를 생성하여 입력할 수 있다. 여기서, 사용자가 생성하여 입력한 단어 "meet"를 입력 콘텐트(100)의 일부가 될 수 있다. 입력 콘텐트(100)에 기초하여, 프로세싱 모듈(222)은, 사업 주제 도메인 예측 사전을 추가 검색하여, 문장 "let's meet in the office today"와 같은 예측 콘텐트를 사용자에게 제안할 수 있다. 사용자는 제안된 문장인 "let's meet in the office today"를 선택하지 않음으로써 예측 콘텐트를 수용하지 않을 수 있다. 여기서, 예측 콘텐트 "let's meet in the office today"는 입력 콘텐트(100)의 일부가 되지 않을 수 있다. 사용자는, 단순히 예측 콘텐트를 무시하고 계속해서 문자를 컴퓨팅 장치에 입력함으로써, 예측 콘텐트를 수용하지 않을 수 있다. 다른 한편, 컴퓨팅 장치는 사용자에게 취소 버튼을 제시할 수 있으며, 사용자는 취소 버튼을 선택하여 예측 콘텐트를 취소할 수 있다. 사용자는 추가로 "let's plant to meet for lunch today"와 같은 문장을 생성 및 입력할 수 있다. 여기서, 새로 생성되어 입력된 문장 "let's plan to meet for lunch today"은 입력 콘텐트(100)의 일부가 될 수 있다. 물론 사용자는 예측 콘텐트인 "let's meet in the office today"를 수용하고 문장을 편집하여 "let's plan to meet for lunch today"로 수정할 수 있다. 단어 "meet" 및 문장 "let's plan to meet for lunch today"는 사업 주제 도메인 예측 사전에 사전에 저장되어 있지 않을 수 있다. 프로세싱 모듈(222)은 이서서 이들 새로 생성되어 입력된 단어 및 문장을 사업 주제 도메인 예측 사전에 추가하고, 컴퓨팅 장치에 "me"를 후속 입력할 때 입력 콘텐트(100)의 수신자 및 사용자 사이의 관계 및 주제 도메인에 관하여 이러한 단어 및 문장을 검색하여 제안할 수 있다. 입력 프로토콜(200)이 사용자 또는 컴퓨팅 장치에 의해 변경될 때, 이것은 생성 프로토콜(210)이 변경되거나, 예측 사전 프로토콜(220)이 변경되거나, 이들 모두가 변경되는 것일 수 있다. 생성 프로토콜(210) 및 예측 사전 프로토콜(220)은 별도로 변경될 수 있다. 사용자 또는 컴퓨팅 장치는, 동일한 예측 사전 프로토콜(220)을 유지하면서, 자연어 생성 프로토콜(A)을 자연어 생성 프로토콜(B)로 변경하거나, 기호 생성 프로토콜(212)을 이모티콘 생성 프로토콜(213)로 변경하는 것과 같이, 생성 프로토콜(210)을 다른 생성 프로토콜로 변경할 수 있다. 사용자 또는 컴퓨팅 장치는 또한, 동일한 생성 프로토콜(210)을 유지하면서, 예측 사전 프로토콜(220)을 변경할 수 있다. 생성 프로토콜(210) 및 예측 사전 프로토콜(220)은 또한 동시에 변경되거나 대응하여 변경될 수 있는데, 이 상황에서는, 예측 사전 프로토콜(220)이 변경됨과 동시에, 수동적으로 또는 자동적으로, 생성 프로토콜(210)이 변경될 수 있다.
예를 들어, 사용자가 생성 프로토콜(210)을 일본어에서 중국어로 변경할 때, 일본어 단어만 포함하는 예측 사전(221)을 중국어 단어만 포함하는 예측 사전(221)로 변경할 수 있다. 다른 한편, 사용자는, 중국어 생성 프로토콜 및 영어 생성 프로토콜 모두에 대해 동일한 사업 동반자 관계 예측 사전을 유지할 수 있는데, 이것은 사업 동반자 관계 예측 사전이, 이 2개 언어에 의해 공유될 수 있는, 하나 이상의 이모티콘(103) 또는 하나 이상의 기호(102) 뿐만 아니라 하나 이상의 자연어(101)의 구두점, 문장, 몰팩틴, 및 단어를 포함할 수 있기 때문이다. 컴퓨팅 장치는 또한, 생성 프로토콜(210) 및 예측 사전 프로토콜(220) 사이의 관계를 결정하는데 사용될 수 있으며, 사용자에 의해 생성되어 입력된 입력 콘텐트(100)의 수신자 및 사용자의 관계에 기초하여, 위 프로토콜들을 대응하여 자동적으로 변경할 수 있다.
도 3a는, 본원에 개시된 적어도 일부 실시예에 따라 배열된 관계 프로파일 및 주제 도메인 프로파일을 포함하는 프로파일의 예를 도시한다. 도 3a에 도시된 바와 같이, 프로파일(300)은, 주제 도메인 프로파일(301) 및 관계 프로파일(302)와 같은, 임의의 유형의 프로파일을 포함할 수 있다. 프로파일(300)은, 데이터베이스일 수 있으며, 주제 도메인(예를 들어, 환경의 유형) 또는 관계(예를 들어, 사용자로부터 메시지를 수신하는 통신자)와 같은, 설정 또는 텍스트 환경에서 자주 사용되거나 피쳐링되는 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 구두점, 몰팩틴, 단어를 포함할 수 있다. 주제 도메인 프로파일(301)은, 텍스트에 관련된 일반적인 주제로 일반적으로 기술될 수 있거나, 그 텍스트가 관련된 하나 이상의 주제 도메인을 포함할 수 있다. 주제 도메인 프로파일(301)의 주제 도메인은, 학교, 직장, 사업, 가족 또는 친구의 주제 뿐만 아니라 텍스트 환경에 관련된 다른 많은 유형의 주제와 같은, 임의의 주제를 포함할 수 있다. 관계 프로파일(302)은, 텍스트의 의도된 수신인 및 사용자 사이의 하나 이상의 관계를 포함할 수 있다. 관계 프로파일(302)의 관계는, 학급친구들, 직장동료들, 사업 동반자들, 가족 일원들 및 친구들 사이의 관계와 같은, 입력 콘텐트(100)의 수신인과 사용자 사이의 임의의 유형의 관계를 포함할 수 있다. 프로파일(300)은, 다른 유형의 프로파일을 포함할 수 있으며, 본원에 개시된 것에 한정되지 않을 수 있다. 일반적으로, 하나 이상의 불가분의 개별 단위(104)가 사용되어, 입력 콘텐트(100) 및 프로파일(300) 사이의 유사도 또는 차이도를 계산할 수 있다. 더 큰 유사도의 입력 콘텐트를 갖는 프로파일(300)은 예측된 텍스트를 생성하고 제공하기 위해 사용될 수 있다.
프로파일(300)은, 하나 이상의 자연어(101)의 임의의 사전 뿐만 아니라 영어 사전 또는 일본어 사전 또는 중국어 사전과 같은, 기존 사전에 기초하여 생성될 수 있다. 프로파일(300)은 또한, 주제 도메인 또는 관계에 관련된 사용자의 이전 통신 기록과 같은, 일부 다른 자료에 기초하여 생성될 수 있다. 이전 통신 기록은, 통신의 의도된 수신인 의 관계 및/또는 주제 도메인에 특별히 비추어, 과거에 사용자가 통신했던 임의의 기록일 수 있다. 예를 들어, 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 자주 사용되거나 피쳐링된 단어, 몰팩틴, 구두점은, 특정 사업 동반자(예를 들어, 수신자)에 대한 사용자(예를 들어, 발신자)의 이전 통신 기록으로부터 추출되어, 사업 주제 도메인 프로파일을 생성할 수 있다. 유사하게, 임의의 다른 유형의 주제 도메인 프로파일(301)이 생성되어 컴퓨팅 장치에 저장될 수 있다. 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 자주 사용되거나 피쳐링된 단어, 몰팩틴, 구두점은, 이러한 기록으로부터 추출되어 사업 동반자 관계 프로파일을 생성할 수 있다. 유사하게, 임의의 다른 유형의 관계 프로파일(302)이 생성되어 컴퓨팅 장치에 저장될 수 있다.
프로파일(300)에서, 하나 이상의 자연어(101)의 단어 및 몰팩틴은, 기능적 단어 및 몰팩틴을 포함할 수 있다. "the", "and", "or", "for" 또는 "is"과 같이, 하나 이상의 자연어(101)의 비기능적인 단어 및 몰팩틴은 삭제될 수 있다. 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 자주 사용되거나 피쳐링된 단어, 몰팩틴, 구두점 각각의 발생 빈도가 계산되며, 하나의 값이 이러한 발생 빈도를 반영하는데 사용될 수 있다. 프로파일(300)에 포함된, 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 자주 사용되거나 피쳐링된 단어, 몰팩틴, 구두점의 각각은, 특정 값의 발생 빈도가 할당될 수 있다. 발생 빈도 값은, 입력 콘텐트(100)의 수신인 및 사용자 사이의 관계 또는 주제 도메인에 연관된 일부 기존 텍스트에 나타났던 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 자주 사용되거나 피쳐링된 단어, 몰팩틴, 구두점 각각의 발생을 단순히 계수함으로써 결정될 수 있다. 발생 빈도 값은, 본원에 제공된 수식 1과 관련되어 기술된 것과 같은 용어 빈도-역 문서 빈도(TD-IDF) 가중치와 같은, 더 정확한 가중치를 이용하여 결정될 수 있다. 발생 빈도 값은 또한 단순히 고정값으로 결정될 수 있으며, 이 값은, 입력 콘텐트(100)의 수신인 및 사용자 사이의 관계 또는 주제 도메인과 연관된 하나 이상의 이모티콘(103)의 개별 이모티콘, 하나 이상의 기호(102)의 개별 기호 또는 하나 이상의 자연어(101)의 단어, 몰팩틴, 구두점의 중요도를 나타낼 수 있다.
도 3b는, 본원에 개시된 적어도 일부 실시예에 따라 배열된 프로파일에 대한 발생 히스토그램의 단어-빈도의 예를 도시한다. 도 3b에 도시된 바와 같이, 발생 히스토그램의 단어-빈도는, 사용자에 의한 텍스트 입력에서 또는 프로파일(300)의 단어 빈도를 나타낼 수 있다. 발생 히스토그램의 단어-빈도는, 하나 이상의 자연어(101)의 자주 사용되거나 피쳐링되는 단어를 나타낼 수 있는 수평축을 포함할 수 있으며, 히스토그램의 수직축은 각 단어의 발생 빈도 값을 나타낼 수 있으며, 수직축은 수평축의 단어 발생 빈도를 나타낼 수 있다. 도 3b에 도시된 바와 같이, 사업 주제 도메인 프로파일 또는 사업 관계 프로파일의 발생 빈도 값을 갖는 자주 사용되거나 피쳐링된 단어는, (Meeting, 400), (Schedule, 300), (Tomorrow, 150), (Send, 250), (E-mail, 350), (Attend, 250), (Trip, 200), (Plan, 250), (Group, 100)를 포함할 수 있다. 도 3b에서 각 단어의 발생 빈도 값은, 사업 주제 도메인 또는 사업 관계에 연관된 일부 기존 자료들에서의 발생을 계수함으로써 단순히 계산될 수 있다. 도 3b에서 각 단어의 발생 빈도 값은, 본원에 제공된 수식 1과 결합하여 기술된 TD-IDF와 같은, 좀 더 정확한 가중치를 추가함으로써 계산될 수 있다. 도 3b에서 각 단어의 발생 빈도 값은 또한, 사업 주제 도메인 또는 사업 관계에 관련된 이러한 단어의 중요성을 보여주기 위해, 고정 값에 의해 결정될 수 있다. 예를 들어, 단어 "meeting"은 사업 환경에서 자주 사용될 수 있으며, 사업 관계 및 사업 주제 도메인의 피쳐링된 단어로써 취급될 수 있다. 따라서, 단어 "meeting"은, 사업 관계 및 사업 주제 도메인에 대한 중요성을 보여주기 위해 "400"과 같은 높은 발생 빈도 값이 할당될 수 있다.
도 4는, 본원에 개시된 적어도 일부 실시예에 따라 배열된, 입력에 기초하여 입력 프로토콜을 선택하는 방법 및 시스템의 예를 도시한다. 도 4에 도시된 바와 같이, 시스템(400)은, 입력 콘텐트(100)에 기초하여 입력 프로토콜(200)을 선택하도록 구성되어 제공될 수 있다. 시스템(400)은, 컴퓨팅 장치가 물리적으로 결합되거나 무선으로 결합될 수 있는, 컴퓨팅 시스템에서 컴퓨팅 장치의 그룹 또는 단일 컴퓨팅 장치로써 제공될 수 있다. 따라서, 본원에 기술된 프로토콜을 구현할 수 있는 컴퓨팅 장치는, 스마트폰 또는 태블릿 등 이들을 연결하도록 동작하는 네트워크와 같은, 하나 이상의 장치들을 포함하는 시스템(400)과 같은, 컴퓨팅 시스템의 일부일 수 있다.
도 4에 도시된 바와 같이, 시스템(400)은, UI(410), 프로세싱 모듈(420), 계산 모듈(430), 및 선택 모듈(440)을 포함할 수 있다. UI(410)는, 입력 컨텐트(100)를 수신하는데 사용될 수 있으며, 이로 인해 사용자가 시스템(400)에 대해 정보를 수신하고 정보를 입력하도록 허용한다. UI(410)는 임의의 유형의 사용자 인터페이스일 수 있다. 그러나, 통상의 모바일 컴퓨팅 시스템은, 사용자에 대한 정보를 제공하고 수신하는 그래픽 사용자 인터페이스(GUI)를 제공하는, 터치 스크린을 사용한다. 이와 같이, GUI의 사용은 또한 일반적으로 임의의 유형의 UI를 나타낼 수 있다.
사용자는, 터치 스크린 또는 키보드를 터치할 수 있으며, 생성 프로토콜(210) 및 예측 사전 프로토콜(220)을 사용하여 입력 콘텐트(100)를 생성하고 입력할 수 있다. 입력 콘텐트(100)는 애플리케이션 프로그래밍 인터페이스(API)를 통해 획득될 수 있다. UI(410)는 또한, 카메라 같은 이미지 생성 장치를 포함할 수 있다. 사용자는, 통신 기록 또는 출력된 이메일의 사진과 같이, 입력 콘텐트(100)의 사전을 찍기 위해서 카메라를 사용할 수 있다. 입력 콘텐트(100)의 이미지는, OCR(Optical Character Recognizer) 모듈(미도시)을 통해 입력 콘텐트(100)의 텍스트 포맷으로 변환될 수 있다. UI(410)는 감지 모듈(미도시)을 더 포함할 수 있는데, 이것은, 애플리케이션에서 입력 콘텐트(100)의 수신자 및 사용자 사이의 기존의 이전 통신 기록이 있는지를 자동적으로 감지하고, 입력 프로토콜(200)를 결정하는데 사용하는 것과 같이, 후속 처리를 위해 이러한 기록의 일부를 입력 콘텐트(100)로써 추출하는데 사용할 수 있다. 따라서, UI(410)는 시스템(400)으로 입력 콘텐트를 수신하는데 사용될 수 있다 (블록 410, "입력 콘텐트를 수신").
프로세싱 모듈(420)은 입력 콘텐트(100)를 획득할 수 있으며, 자연어 처리를 위해 설계된 상용 소프트웨어인 RFI(Rosette Language Identifier)와 같은, 언어 식별기를 통해 입력 콘텐트(100)를 처리할 수 있다. 그러나, 임의의 유형의 언어 식별기가 사용될 수 있다. 식별된 결과는, 하나 이상의 자연어(101)의 유형, 입력 콘텐트(100)에 하나 이상의 기호(102) 또는 하나 이상의 이모티콘(103)이 포함되었는지 여부, 또는 입력 콘텐트(100)의 인코딩 코드를 포함할 수 있다. 따라서, 프로세싱 모듈(420)은 UI(410)로부터 입력 콘텐트를 획득하고(블록 421, "입력 콘텐트를 획득"), 입력 콘텐트를 분석(블록 422, "입력 콘텐트를 분석")하는데 사용될 수 있다.
입력 콘텐트(100)의 하나 이상의 불가분의 개별 단위(104)는 프로세싱 모듈(420)에 의해 추출될 수 있다 (블록 423, "불가분의 개별 단위를 추출"). 추출은 입력 콘텐트(100)의 유형에 따라 달라질 수 있다. 입력 콘텐트(100)가 영어와 같이 단어와 문장 사이의 빈칸을 갖는 하나 이상의 자연어(101)를 포함할 때, 음성부분 태거(part-of-speech tagger; POS 태거)가 사용되어 입력 콘텐트(100)를 단어들로 분할할 수 있다. 반면에, 일본어나 중국어와 같이, 단어와 몰팩틴 사이에 빈칸이 포함되지 않은 하나 이상의 자연어(101)에 대해서는, 어형 분석기(morphological analyzer)가 사용되어 입력 콘텐트(100)로부터 몰팩틴이 추출될 수 있다. 입력 콘텐트(100)가 빈칸에 의해 분리된 하나 이상의 기호(102) 및 하나 이상의 이모티콘(103)을 포함할 때, 이들은 하나 이상의 기호(102) 또는 하나 이상의 이모티콘(103) 사이의 빈칸을 감지함으로써 추출될 수 있으며, 이러한 추출에 POS 태거가 사용될 수 있다.
본원에 기술된 입력 콘텐트(100) 분석 프로세스 및 하나 이상의 불가분의 개별 단위(104) 추출 프로세스는, 그 상세한 내용이 본원에 개시되지 않은 다른 효율적인 시스템 또는 소프트웨어를 통해 실행될 수 있음을 인식해야 한다.
하나 이상의 불가분의 개별 단위(104) 추출 프로세서의 결과로써, 입력 콘텐트(100)에 나타났던 하나 이상의 이모티콘(103), 하나 이상의 기호(102) 또는 하나 이상의 자연어(101)의 단어, 몰팩틴 및 구두점이 추출된다. 단어 및 몰팩틴은 단지 기능적인 단어 및 몰팩틴을 포함하고 있으며, "the", "and", "or", "for" 또는 "is"와 같은 비기능적인 단어 및 몰팩틴은 삭제될 수 있다.
계산 모듈(430)은 프로세싱 모듈(420)로부터 추출된 하나 이상의 불가분의 개별 단위(104)를 수신하고, 각 추출된 불가분의 개별 단위의 발생 빈도를 계산할 수 있다(블록 425, "빈도를 계산"). 이러한 발생 빈도 값에는, 각 추출된 불가분의 개별 단위가 할당될 수 있다. 각 추출된 불가분의 개별 단위의 발생 빈도 값은, 입력 콘텐트(100)에서 각 추출된 불가분의 개별 단위의 발생을 단순히 계수함으로써 결정될 수 있다. 발생 빈도 값은 또한, 위의 수식 1을 이용하여 TD-IDF 가중치와 같은, 좀 더 정확한 가중치를 사용하여 결정될 수 있다.
예를 들어, 입력 콘텐트(100)는 "What is the meeting schedule for tomorrow? Have you already booked the meeting room? Have you already sent e-mails to everyone who will attend the meeting?"일 수 있다. 발생 빈도 값을 갖는 추출된 불가분의 개별 단위는 표 1에 나타난 것과 같을 수 있다.
발생 빈도 값을 갖는 불가분의 개별 단위
불가분의 개별 단위 meeting schedule tomorrow book room send e-mail attend
발생 빈도 값 3 1 1 1 1 1 1 1
표 1에서, 발생 빈도 값은 단순히 입력 콘텐트(100)에서 추출된 불가분의 개별 단위의 발생을 계수함으로써 계산될 수 있다.
또한, 발생 빈도 값을 갖는 추출된 불가분의 개별 단위는 표 2에 나타난 것과 같을 수 있다.
불가분의 개별 단위 meeting schedule tomorrow book room send e-mail attend
발생 빈도 값 10 6 2 1 1 1 6 6
위 표 2에서, 발생 빈도 값은, 수식 1을 이용하는 것과 같이, 다른 것들에 대한 추출된 불가분의 개별 단위의 일부의 중요도를 부가하기 위해 특별한 가중치를 사용하여 계산될 수 있다.
발생 빈도 값을 갖거나 갖지 않은 추출된 불가분의 개별 단위는, 입력 콘텐트(100) 및 프로파일(300) 사이의 유사도를 계산하기 위해 계산 모듈(430)에 의해 사용될 수 있다 (블록 431, "유사도를 계산"). 도 3a를 다시 참조하면, 프로파일(300)은, 주제 도메인 프로파일(301) 및 관계 프로파일(302)과 같은, 임의의 유형의 프로파일을 포함할 수 있다.
일 실시예에서, 시스템(400)의 계산 모듈(430)은, 수식 2 또는 수식 3의 벡터-공간 모듈 계산 기능을 통해, 프로파일(300) 및 입력 콘텐트(100) 사이의 유사도를 계산할 수 있다.
Figure 112014064388312-pct00002
Figure 112014064388312-pct00003
수식 2 또는 수식 3에서, h1은 "프로파일(300)에서 하나 이상의 불가분의 개별 단위(104)의 발생빈도 값"을 나타낼 수 있으며, h2는 "입력 콘텐트(100)로부터 추출된 하나 이상의 불가분의 개별 단위(104)의 발생 빈도 값"을 나타낼 수 있다. 유사도 값은 유사도 계산 후에 획득될 수 있다. 입력 콘텐트(100) 및 프로파일(300) 사이의 유사도는, 본원에 개시된 기능에 그 상세한 내용이 제한되지 않을 수 있는 다른 기능을 통해 계산될 수 있다.
유사도의 계산은 둘 이상의 프로파일에 대해 실행될 수 있다. 즉, 입력 콘텐트(100)이 하나 이상의 프로파일에 비교되어 하나 이상의 유사도 및 하나 이상의 유사도 값을 결정할 수 있다. 따라서, 입력 콘텐트(100)는 다른 프로파일(300)보다는 하나의 프로파일(300)에 더 유사할 수 있다.
입력 콘텐트(100) 및 프로파일(300) 사이의 유사도가 계산되고 유사도 값이 복수의 프로파일에 대해 획득된 후에, 계산 모듈(430)은 선택 모듈(440)에 유사도 정보를 제공할 수 있다. 선택 모듈(440)은, 프로파일 그룹으로부터 결정된 복수의 유사도의 그룹에 대해 유사도의 순위를 결정할 수 있다. 즉, 입력 콘텐트(100) 및 프로파일(300)의 유사도에는, 다른 프로파일을 갖는 입력의 유사도에 대한 순위가 매겨질 수 있다 (블록 441, "유사도를 순위 매김"). 순위 결정은, 다른 프로파일과 비교한 하나의 프로파일(300) 및 입력 사이의 유사도의 계산된 값의 수치적 크기에 기초할 수 있다. 각 프로파일(300)은 동일한 입력 콘텐트(100)에 대한 유사도에 대응하기 때문에, 프로파일(300)은 유사도 값으로 식별될 수 있으며, 이에 따라 이러한 유사도 값의 수치적 크기의 순서로 순위가 결정될 수 있다. 예를 들어, 표 3에 도시된 바과 같이, 동일한 입력 콘텐트(100)에 대해서, 프로파일(A)의 유사도 값은 4.8이고, 프로파일(B)의 유사도 값은 4.1이고, 프로파일(C)의 유사도 값은 5.6이며, 프로파일(D)의 유사도 값은 6.8이고, 프로파일(E)의 유사도 값은 9.1이다. 유사도의 계산된 값을 갖는 각 프로파일(300)은, 표 3에 나타난 다른 프로파일들과 비교하여 식별되고 순위가 결정될 수 있다.
유사도 값으로 순위 결정된 프로파일
순위 유사도 프로파일 성질 1 성질 2 성질 3
1 9.1 프로파일 E 주제 도메인: 사업 일본어 기호
2 6.8 프로파일 D 관계: 사업 동반자 영어 이모티콘
3 5.6 프로파일 C 관계: 동료 중국어 기호/이모티콘
4 4.8 프로파일 A 주제 도메인: 직장 중국어 기호
5 4.1 프로파일 B 주제 도메인: 학교 영어 기호/이모티콘
따라서, 제1 순위의 주제 도메인 프로파일은 프로파일(E)이며 9.1의 유사도 값을 가지며, 이것은 사업 주제 도메인 프로파일일 수 있다. 제1 순위 관계 프로파일은 관계 프로파일(D)이고 6.8의 유사도 값을 가지며, 사업 동반자 관계 프로파일일 수 있다. 프로파일(300)은 몇 가지 성질로 정의될 수 있다. 표 3에 도시된 것처럼, 프로파일(300)의 성질은 "예측 사전(221)의 유형"의 "성질 1", "하나 이상의 자연어(101)의 유형"의 "성질 2", "하나 이상의 기호(102) 또는 하나 이상의 이모티콘(103)의 유형"의 "성질 3"을 포함할 수 있다. 이러한 성질은, 입력 콘텐트(100)에 대한 입력 프로토콜(200)을 결정하는데 사용될 수 있다.
다른 프로파일들에 대한 프로파일(300)을 갖는 입력 콘텐트의 유사도의 순위에 기초하여, 선택 모듈(440)은 입력 프로토콜이 최상의 순위의 유사도를 갖는 것으로 식별할 수 있다 (블록 442, "입력 프로토콜을 식별"). 예를 들어, 표 3에 나타난 것처럼, 제1 순위 프로파일은 프로파일(E)이고, 이는 "성질 1" 컬럼에서 "사업"의 주제 도메인을 갖고, "성질" 컬럼에서 "사업 동반자"의 관계를 갖고, "성질 2" 컬럼에서 "일본어" 언어 유형을 가지며, "성질 3" 컬럼에서 "기호"를 갖는다. 시스템(400)의 선택 모듈(440)은, 일본어 생성 프로토콜, 기호 생성 프로토콜, 사업 주제 도메인 예측 사전 및 사업 동반자 관계 예측 사전을 갖는 입력 콘텐트(100)에 대한 입력 프로토콜(200)을 결정할 수 있다. 제1 순위의 프로파일의 성질에 기초하여 식별된 입력 프로토콜(200)은, 최상의 유사도를 갖는 제1 순위의 입력 프로토콜로 취급될 수 있다.
시스템(400)의 선택 모듈(440)은 입력 콘텐트(100)을 위해 사용될 제1 순위의 입력 프로토콜을 선택할 수 있다 (블록 443, "제1 순위의 입력 프로토콜을 선택"). 선택된 후, 선택 모듈은, UI(410)를 통해 사용자에게 제1 순위의 입력 프로토콜을 제안할 수 있다 (블록 412, "제1 순위의 입력 프로토콜을 제안"). 제안은 임의의 포맷일 수 있다. 제1 순위의 입력 프로토콜은, UI(410)의 팝업 윈도우에 디스플레이되거나, 입력 영역에 강한 색으로 디스플레이되거나, 입력 영역에 플래쉬로 표시될 수 있다. 제안된 후, 사용자는 제1 순위의 입력 프로토콜을 선택할 수 있다. UI(410)은 선태 모듈(440)이 현재 입력 프로토콜을 제1 순위의 입력 프로토콜로 변경하도록 명령할 수 있다(블록 413, "입력 프로토콜을 변경하도록 선택 모듈을 명령"). 명령어는, 사용자에 의한 수용 후에 또는 일정 시간 후에 제공될 수 있다. 또한, 선택된 제1 순위의 프로토콜은 시스템(400)에 의해 자동적으로 선택되어 사용될 수 있다.
사용자에게 제1 순위의 입력 프로토콜은 제안할 때, UI(410)은 사용자로부터 입력 프로토콜 변경 명령어를 요청할 수 있으며, 이것은 현재 입력 프로토콜을 변경하는 사용자의 허용 또는 명령일 수 있다. UI(410)은 사용자의 허용 또는 명령에 대응하여 진행될 수 있다. 사용자는 이러한 상황에서 일정 기간 내에 응답하지 않을 수 있으며, UI(410)은 선택 모듈(440)이 현재 입력 프로토콜을 제1 순위의 입력 프로토콜로 변경하도록 명령하지 않을 수 있으며, 현재 입력 프로토콜을 유지할 수 있다. 대안적으로 또는 추가적으로, UI(410)는, 이러한 일정 시간 후에, 선택 모듈(440)이 현재 입력 프로토콜을 제1 순위 입력 프로토콜로 변경하도록 자동적으로 명령할 수 있다. 다른 한편, 사용자는 일정 시간 내에 응답할 수 있으며, 이러한 응답은 제안된 입력 프로토콜 변경의 허용이거나 다른 입력 프로토콜 변경의 명령일 수 있다. UI(410)은, 사용자의 허용 또는 명령에 대응하는지 여부에 따라, 현재 입력 프로토콜을 변경하도록 선택 모듈(440)을 명령하도록 진행할 수 있다. 선택 모듈(440)은 이서서, UI(410)의 명령에 대응하여, 현재 입력 프로토콜을 다른 입력 프로토콜로 변경하거나 현재 입력 프로토콜을 유지하도록 진행할 수 있다.
어떤 경우에든, 선택 모듈은, 프로파일(300)을 갖는 입력 콘텐트(100)의 유사도에 기초하여 입력 프로토콜을 변경할 수 있다(블록 444, "입력 프로토콜을 변경").
도 5는, 본원에 개시된 적어도 일부 실시예에 따라 배열된, 입력 콘텐트에 기초하여 입력 프로토콜은 선택하는 방법 및 장치의 예를 도시한다. 도 5에 도시된 바와 같이, 입력 콘텐트(100)에 기초하여 입력 프로토콜(200)을 선택하도록 구성된 장치(500)는, GUI(510), 프로세싱 유닛(520), 계산 유닛(530), 선택 유닛(540), 및 전송 유닛(550)을 포함할 수 있다. 위에서 기술된 것과 같이, GUI(510)은 임의의 유형의 UI(410)일 수 있다. 장치(500)의 GUI(510), 프로세싱 유닛(520), 계산 유닛(530), 및 선택 유닛(540)은, 본원에 기술된 시스템(400)의 UI(410), 프로세싱 모듈(420), 계산 모듈(430), 선택 모듈(440)과 유사한 기능을 가질 수 있다. 장치(500)은, 인터넷, 무선 네트워크 등을 통해 입력 콘텐트(100)를 전송하는데 사용될 수 있는 전송 유닛(550)을 더 포함할 수 있다. 장치(500)는, 스마트폰, 태블릿 등과 같은 모바일 장치, 데스트탑, 랩탑과 같은 임의의 컴퓨팅 장치일 수 있다.
이에 따라, GUI(510)은 사용자로부터 입력 콘텐트(100)를 수신할 수 있으며(블록 511, "입력 콘텐트를 수신"), 프로세싱 유닛(520)은 GUI(520)로부터 입력 콘텐트(100)를 획득할 수 있다(블록 521, "입력 콘텐트를 획득"). 프로세싱 유닛(520)은 입력 콘텐트를 분석할 수 있으며(블록 522, "입력 콘텐트를 분석"), 불가분의 개별 단위를 추출할 수 있다(블록 523, "불가분의 개별 단위를 추출"). 계산 유닛(530)은, 프로세싱 유닛(520)으로부터 추출된 불가분의 개별 단위를 획득할 수 있으며, 프로파일과 추출된 불가분의 단위 사이의 유사도를 계산할 수 있다(블록 541, "유사도를 계산"). 선택 유닛은, 복수의 프로파일 및 추출된 불가분의 단위 사이의 최상위의 유사도를 식별할 수 있으며(블록 542, "입력 프로토콜을 식별"), 최상위 유사도를 제1 순위의 입력 프로토콜로 선택할 수 있다(블록 543, "제1 순위의 입력 프로토콜을 선택"). GUI(510)은 사용자에게 제1 순위의 입력 프로토콜을 제안할 수 있다(블록 512, "제1 순위의 입력 프로토콜을 제안"). 구성에 따라, GUI(510)는 선택 모듈이 입력 프로토콜은 변경하도록 명령할 수 있다(블록 513, "선택 모듈이 입력 프로토콜을 변경하도록 명령"). 선택 유닛(540)은 입력 프로토콜을 현재 입력 프로토콜에서 제1 순위의 입력 프로토콜로 변경할 수 있다(블록 544, "입력 프로토콜을 변경"). 입력 콘텐트(100)가 완결되고 사용자로부터 수신자에게 전송할 준비가 되면, 전송 유닛(550)은 입력 콘텐트(100)를 수신자의 컴퓨팅 시스템(예를 들어 장치)로 전송할 수 있다(블록 551, "입력 콘텐트를 전송").
도 7은, 본원에 개시된 적어도 일부 실시예에 따라 배열된, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법의 일 실시예를 도시한다. 도 7에 도시된 바와 같이, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법(700)의 일반적 실시예가 실행될 수 있다. 방법(700)은, GUI 또는 장치를 통해 입력 콘텐트를 수신하는 단계(블록 701, "입력 콘텐트를 수신"), API 또는 이미지 생성 장치를 통해 입력 콘텐트를 획득하는 단계(블록 702, "입력 콘텐트를 획득"), 언어 식별기를 통해 입력 콘텐트를 분석하는 단계(블록 703, "입력 콘텐트를 분석"), 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 단계(블록 704, "불가분의 개별 단위를 추출"), 하니 이상의 불가분의 개별 단위의 제1 발생 빈도 및 하나 이상의 불가분의 개별 단위의 제2 발생 빈도 사이의 유사도를 계산하는 단계 ?? 여기서 하나 이상의 불가분의 개별 단위의 제2 발생 빈도는 발생 빈도의 제2 값으로 사전 결정됨 ?? (블록 705, "유사도를 계산"), 계산된 유사도 값에 기초하여 유사도의 순위를 결정하는 단계(블록 706, "유사도의 순위를 결정"), 계산된 유사도 값의 수치적 크기에 기초하여 입력 프로토콜을 식별하는 단계(블록 707, "입력 프로토콜을 식별"), 최상의 유사도 값을 갖는 제1 순위의 입력 프로토콜을 선택하는 단계(블록 708, "입력 프로토콜을 선택"), 제1 순위의 입력 프로토콜을 사용자에게 제안하는 단계(블록 709, "입력 프로토콜을 제안"), 장치가 현재 입력 프로토콜을 유지하거나 현재 입력 프로토콜을 다른 입력 프로토콜로 변경하도록 명령하는 단계(블록 710, "입력 프로토콜을 변경하도록 명령"), 현재 입력 프로토콜을 다른 입력 프로토콜로 변경하는 단계(블록 711, "입력 프로토콜을 변경"), 및 인터넷, 무선 네트워크 등을 통해 입력 콘텐트를 수신자에게 전송하는 단계(블록 712, "입력 콘텐트를 전송")를 포함할 수 있다.
도 8은 본원에 개시된 적어도 일부 실시예에 따라 배열된, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법의 일 실시예를 도시한다. 도 8에 도시된 바와 같이, 입력 콘텐트에 기초하여 입력 프로토콜을 선택하는 방법(800)의 다른 실시예가 실행될 수 있다. 방법(800)은, 입력 프로토콜을 분석하는 단계(블록 801, "입력 콘텐트를 분석"), 입력 콘텐트 및 데이터베이스 사이의 유사도를 계산하는 단계(블록 802, "유사도를 계산"), 유사도의 순위를 결정하는 단계(블록 803, "유사도의 순위를 결정"), 유사도에 기초하여 입력 프로토콜을 식별하는 단계(블록 804, "입력 프로토콜을 식별"), 및 최상의 유사도를 갖는 제1 순위의 입력 프로토콜을 선택하는 단계(블록 805, "입력 프로토콜을 선택")를 포함할 수 있다.
본원에 개시된 일부 실시예는, 도 7-8의 방법 단계들 뿐만 아니라 도 5의 장치 또는 도 4의 시스템(400)에 포함된 동작을 실행하는 컴퓨팅 장치에 의해 실행 가능한, 저장된 컴퓨터 실행 가능 명령어를 갖는 컴퓨터 판독 가능 저장 매체를 포함한다. 이들 및 다른 실시예에서, 컴퓨팅 장치는 시스템(400) 및 장치(500)에 포함될 수 있으며, 도 6의 컴퓨팅 장치(600)의 특징들을 포함할 수 있다.
일 실시예에서, 본 방법은 컴퓨팅 시스템 또는 임의의 컴퓨팅 장치에서 실행되는 양상들을 포함할 수 있다. 이와 같이, 컴퓨팅 시스템 또는 장치는, 방법을 실행하는 컴퓨터 실행가능 명령어를 갖는 메모리 장치를 포함할 수 있다. 컴퓨터 실행가능 명령어는, 임의의 청구항에 따른 방법의 어느 하나를 실행하는 하나 이상의 알고리즘을 포함하는 컴퓨터 프로그램 제품의 일부일 수 있다.
일 실시예에서, 본원에 개시된 동작, 프로세스, 방법 또는 단계의 어느 것은, 컴퓨터 판독가능 매체에 저장된 컴퓨터 판독가능 명령어로써 구현될 수 있다. 컴퓨터 판독가능 명령어는, 데스크탑 컴퓨팅 시스템, 휴대용 컴퓨팅 시스템 태블릿 컴퓨팅 시스템 및 소지 가능 컴퓨팅 시스템 뿐만 아니라 임의의 다른 컴퓨팅 장치로부터의 광범위한 컴퓨팅 시스템의 프로세서에 의해 실행될 수 있다.
시스템 양상들의 하드웨어와 소프트웨어 구현 사이에는 구별이 거의 없다. 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 맥락에서 하드웨어 및 소프트웨어 사이의 선택이 중요하게 될 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 여기에서 기술된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다. 예를 들어, 만약 구현자가 속도 및 정확도가 중요하다고 결정하면, 구현자는 주로 하드웨어 및/또는 펌웨어(firmware) 수단을 선택할 수 있고, 만약 유연성이 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며, 또는, 또 다른 대안으로서, 구현자는 하드웨어, 소프트웨어, 및/또는 펌웨어 중 일부 조합을 선택할 수 있다.
전술한 상세한 설명은 블록도, 흐름도, 및/또는 예시의 사용을 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예시가 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예시 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 실질적으로 그들 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해될 것이다. 일 실시예에서, 여기에서 기술된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 여기에서 기술된 실시예의 일부 양상이, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 실질적으로 그들의 조합으로서, 전체적으로 또는 부분적으로 균등하게 집적 회로에 구현될 수 있다는 알 수 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자에게 자명할 것이다. 또한, 당업자라면, 여기에서 기술된 대상의 수단(mechanism)들이 다양한 형태의 프로그램 제품으로 분포될 수 있음을 이해할 것이며, 여기에서 기술된 대상의 예시는, 분배를 실제로 수행하는데 사용되는 신호 베어링 매체(signal bearing medium)의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 베어링 매체의 예시는, 플로피 디스크, 하드 디스크 드라이브(HDD), CD(Compact Disc), DVD(Digital Versatile Disk), 디지털 테이프, 컴퓨터 메모리 등과 같은 판독가능 유형의 매체 및 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 제한되지는 않는다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치 및/또는 프로세스을 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 방법의 적어도 일부는 합당한 실험 량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서와 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치, 및/또는 피드백 루프 및 제어 모터(예를 들면, 위치 및/또는 속도를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantities)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템 중 하나 이상을 일반적으로 포함한다는 것을 인식할 것이다. 전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용 가능한 컴포넌트를 이용하여 구현될 수 있다.
여기에서 기술된 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 접속된 상이한 컴포넌트를 도시한다. 도시된 그러한 아키텍처는 단순히 예시적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 결합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 접속"되거나 또는 "동작적으로 연결"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결가능"한 것으로 볼 수 있다. 동작적으로 연결가능하다는 것의 특정예는 물리적으로 양립가능(mateable)하고 및/또는 물리적으로 인터액팅하는 컴포넌트 및/또는 무선으로 인터액팅이 가능하고 및/또는 무선으로 인터액팅하는 컴포넌트 및/또는 논리적으로 인터액팅하고 및/또는 논리적으로 인터액팅이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
도 6은 본원에 개시된 적어도 일부 실시예에 따라 배열된, 본원에 개시된 방법을 구현하고, 본원에 개시된 시스템을 위해 사용될 수 있는 컴퓨팅 장치의 실시예를 도시한다. 도 6에 도시된 바와 같이, 예시적인 컴퓨팅 장치(600)는, 본원에 개시된 계산 방법의 임의의 것을 실행하도록 배열될 수 있다. 매우 기본적인 구성(602)에서, 컴퓨팅 장치(600)는 전형적으로 하나 이상의 프로세서(604) 및 시스템 메모리(606)를 포함한다. 메모리 버스(608)가 프로세서(604)와 시스템 메모리(606) 사이의 통신을 위해 사용될 수 있다.
요구되는 구성에 따라, 프로세서(604)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(604)는 레벨 1 캐시(610) 및 레벨 2 캐시(612)와 같은 하나 이상의 레벨의 캐싱, 프로세서 코어(614) 및 레지스터(616)를 포함할 수 있다. 예시적인 프로세서 코어(614)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core), 또는 그 임의의 조합을 포함할 수 있다. 예시적인 메모리 컨트롤러(618)는 또한 프로세서(604)와 사용될 수 있거나, 또는 몇몇 구현예에서, 메모리 컨트롤러(618)는 프로세서(604)의 내부 부품일 수 있다.
요구되는 구성에 따라, 시스템 메모리(606)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그 임의의 조합을 포함할 수 있지만, 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(606)는 운영 체제(620), 하나 이상의 애플리케이션(622), 및 프로그램 데이터(624)를 포함할 수 있다. 애플리케이션(622)은, 본원에 기술된 방법에 관해서 기술된 것들을 포함하여 본원에 기술된 기능을 실행하도록 배열되는 결정 애플리케이션(626)을 포함할 수 있다. 일부 실시예에서, 애플리케이션(622)은, 본원에서 기술된 것과 같이 신뢰되지 않은 컴퓨팅 노드에 의해 실행된 작업이 검증되도록 운영 체제(620) 상에서 프로그램 데이터(624)와 동작하도록 배열될 수 있다. 이러한 기술된 기본 구성(602)은 파선 내의 컴포넌트에 의해 도 6에 도시된다.
컴퓨팅 장치(600)는 추가적인 특징 또는 기능, 및 기본 구성(602)과 임의의 요구되는 장치와 인터페이스 간 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예를 들면, 버스/인터페이스 컨트롤러(630)는 저장 인터페이스 버스(634)를 통한 기본 구성(602)과 하나 이상의 데이터 저장 장치(632) 간의 통신을 용이하게 하는데 사용될 수 있다. 데이터 저장 장치(632)는 분리형 저장 장치(636), 비분리형 저장 장치(638), 또는 그들의 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive; SSD), 및 테이프 드라이브가 포함된다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.
시스템 메모리(606), 분리형 저장 장치(636) 및 비분리형 저장 장치(638)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(600)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 컴퓨팅 장치(600)의 일부일 수 있다.
컴퓨팅 장치(600)는 버스/인터페이스 컨트롤러(630)를 통한 다양한 인터페이스 장치(예를 들면, 출력 장치(642), 주변 인터페이스(644) 및 통신 인터페이스(646))로부터 기본 구성(602)으로의 통신을 용이하게 하기 위한 인터페이스 버스(640)도 포함할 수 있다. 예시적인 출력 장치(642)는 그래픽 처리 유닛(648) 및 오디오 처리 유닛(650)을 포함하며, 이는 하나 이상의 A/V 포트(652)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 예시적인 주변 인터페이스(644)는 직렬 인터페이스 컨트롤러(654) 또는 병렬 인터페이스 컨트롤러(656)를 포함하며, 이는 하나 이상의 I/O 포트(658)를 통해 입력 장치(예를 들면, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예를 들면, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(646)는 네트워크 컨트롤러(660)를 포함하며, 이는 하나 이상의 통신 포트(664)를 통해 네트워크 통신 상에서의 하나 이상의 다른 컴퓨팅 장치(662)와의 통신을 용이하게 하도록 배치될 수 있다.
네트워크 통신 링크는 통신 매체의 일 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음파, 무선 주파수(RF), 마이크로웨이브, 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기서 사용되는 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.
컴퓨팅 장치(600)는, 휴대 전화, PDA(personal data assistant), 개인용 미디어 플레이어 장치, 무선 웹-워치(web-watch) 장치, 개인용 헤드셋 장치, 특수 용도 장치, 또는 위 기능 중 임의의 것을 포함하는 하이브리드 장치 같은 소형 폼 팩터(small-form factor)의 휴대용(또는 모바일) 전자 장치의 일부로서 구현될 수 있다. 컴퓨팅 장치(600)는 또한 랩톱 컴퓨터 및 랩톱이 아닌 컴퓨터 구성을 모두 포함하는 개인용 컴퓨터로서 구현될 수 있다. 컴퓨팅 장치(600)는 또한 임의의 유형의 네트워크 컴퓨팅 장치일 수 있다. 컴퓨팅 장치(600)는 본원에 기술된 것과 같은 자동화된 시스템일 수 있다.
본원에 기술된 실시예들은, 다양한 컴퓨터 하드웨어 또는 소프트웨어 모듈을 포함하는 특수 목적 또는 범용 컴퓨터를 포함할 수 있다.
본 발명의 범위 내의 실시예들은 또한, 저장된 컴퓨터 판독가능 명령어 또는 데이터 구조를 갖는 또는 운반하기 위한 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수목적 컴퓨터에 의해 엑세스될 수 있는 임의의 가용한 매체일 수 있다. 예로써 그러나 한정되지 않은 범위에서, 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수목적 컴퓨터에 의해 엑세스될 수 있는 컴퓨터 실행가능 명령어 또는 데이터 구조의 형태의 요구되는 프로그램 코드 수단을 저장 또는 운송하기 위해 사용될 수 있는, RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 장치, 또는 다른 매체를 포함할 수 있다. 정보가 네트워크 또는 다른 통신 연결(하드와이어, 무선 또는 하드와이어 또는 무선의 결합) 상으로 컴퓨터에 전송 또는 제공될 때, 컴퓨터는 그 연결을 컴퓨터 판독가능 매체로 적절히 판단한다. 따라서, 임의의 이러한 연결은 컴퓨터 판독가능 매체로 적절히 명명된다. 이상의 결합은 또한 컴퓨터 판독가능 매체의 범위 내에 포함될 것이다.
컴퓨터 실행가능 명령어는, 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터 또는 특수 목적 프로세싱 장치가 특정 기능 또는 기능의 그룹을 실행하도록 하는 명령어 또는 데이터를 포함한다. 발명의 주제가 구조적 특징 및/또는 방법적 동작에 특정되는 언어로 기술되었지만, 첨부된 청구범위에 정의된 발명의 주제는 이상 기술된 특정 특징 또는 동작에 제한될 필요는 없다. 오히려, 이상 기술된 특정 특징 및 동작은 청구범위를 구현하는 예시적인 형태로써 개시된다.
본원에 사용되는, "모듈(module)" 또는 "구성요소(component)"라는 용어는, 컴퓨팅 시스템 상에서 실행되는 소프트웨어 객체 또는 루틴을 지칭할 수 있다. 본원에 기술된 서로 다른 구성요소, 모듈, 엔진 및 서비스는, (예를 들어, 개별적인 쓰레드(thread)로써) 컴퓨터 시스템 상에서 실행되는 객체 또는 프로세스로써 구현될 수 있다. 본원에 개시된 시스템 및 방법이 소프트웨어로 구현되는 것이 바람직하지만, 하드웨어로의 구현 또는 소프트웨어 및 하드웨어의 조합으로의 구현 또한 가능하며 검토된다. 이 기술에서, "컴퓨팅 개체(computing entity)"는, 본원에서 앞서 정의된 것과 같은 임의의 컴퓨팅 시스템이거나, 컴퓨팅 시스템 상에서 실행되는 모듈 또는 모듈들의 조합일 수 있다.
당업자라면, 여기에서 기술된 이러한 및 다른 프로세스 및 방법에 대해, 프로세스 및 방법에서 수행되는 기능이 상이한 순서로 구현될 수 있음을 이해할 것이다. 또한, 개략적인 단계 및 동작은 단지 예시로서 제공된 것이고, 이러한 단계 및 동작의 일부는, 개시된 실시예의 본질을 손상시키지 않으면서, 선택적일 수 있거나, 더 적은 단계 및 동작으로 조합될 수 있거나, 추가적인 단계 및 동작으로 확장될 수 있다.
본 개시는 다양한 태양의 예시로서 의도된 본 출원에 기술된 특정 예시들에 제한되지 않을 것이다. 당업자에게 명백할 바와 같이, 많은 수정과 변형이 그 사상과 범위를 벗어나지 않으면서 이루어질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 안에서 기능적으로 균등한 방법과 장치가 위의 설명으로부터 당업자에게 명백할 것이다. 그러한 수정과 변형은 첨부된 청구항의 범위에 들어가도록 의도된 것이다. 본 개시는 첨부된 청구항의 용어에 의해서만, 그러한 청구항에 부여된 균등물의 전 범위와 함께, 제한될 것이다. 본 개시가 물론 다양할 수 있는 특정 방법, 시약, 합성 구성 또는 생물학적 시스템에 제한되지 않는 것으로 이해될 것이다. 또한, 여기에서 사용된 용어는 단지 특정 예시들을 기술하기 위한 목적이고, 제한하는 것으로 의도되지 않음이 이해될 것이다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 예시들로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 전형적으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 전형적으로 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 전형적으로 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다. 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). "A, B 또는 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
추가적으로, 개시의 특징 또는 양태가 마쿠시(Markush) 그룹으로 기술되는 경우, 개시는 마쿠시 그룹의 임의의 개별 요소 또는 요소들의 하위 그룹 역시 포함하고 있다는 것을 당업자는 인식할 것이다.
당업자에게 이해될 것과 같이, 임의의 그리고 모든 목적에서든, 기술 내용을 제공하는 것 등에 있어서, 여기에 개시되어 있는 모든 범위는 임의의 그리고 모든 가능한 하위범위와 그러한 하위범위의 조합을 또한 포함한다. 임의의 열거된 범위는 적어도 1/2, 1/3, 1/4, 1/5, 1/10 등으로 나누어지는 동일한 범위를 충분히 설명하고 실시가능하게 하는 것으로서 쉽게 인식될 수 있다. 제한하지 않는 예시로서, 여기서 논의되는 각각의 범위는 하위 1/3, 중앙 1/3, 상위 1/3 등으로 나누어질 수 있다. 또한, "까지", "적어도", "보다 많은", "보다 적은" 등과 같은 언어는 기재된 수를 포함하며, 전술한 하위범위로 후속적으로 나누어질 수 있는 범위를 지칭함이 당업자에게 이해되어야 한다. 마지막으로, 범위는 각각의 개별 요소를 포함함이 이해되어야 한다. 따라서, 예를 들어, 1-3개의 셀을 갖는 그룹은 1, 2 또는 3개의 셀을 갖는 그룹들을 의미한다. 유사하게, 1-5개의 셀을 갖는 그룹은 1, 2, 3, 4 또는 5개의 셀을 갖는 그룹을 의미한다.
앞서 말한 바로부터, 본 개시의 다양한 실시예가 예시의 목적을 위해 여기에서 기술되었고, 다양한 수정이 본 개시의 사상과 범위를 벗어나지 않으면서 이루어질 수 있음이 이해될 것이다. 따라서, 여기에서 개시된 다양한 실시예는 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하 청구범위에서 나타난다.

Claims (106)

  1. 입력 콘텐트에 기초하여 입력 프로토콜을 선택하기 위한 방법에 있어서,
    상기 입력 콘텐트를 분석하는 단계;
    상기 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위(indivisible individual unit)를 추출하는 단계;
    상기 입력 콘텐트에서 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제1 발생 빈도 값을 계산하는 단계 - 각각의 불가분의 개별 단위는 상기 하나 이상의 제1 발생 빈도 값에 포함되는 해당 제1 빈도 값과 연관됨 -;
    벡터 공간 모델에 기초하여 상기 입력 콘텐트와 하나 이상의 프로파일 사이의 하나 이상의 유사 값을 계산하는 단계 - 상기 벡터 공간 모델은, 상기 입력 콘텐트와 해당 프로파일 사이의 해당 유사도 값(similarity value)을 상기 해당 프로파일 내 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제2 발생 빈도 값과 상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위의 상기 하나 이상의 제1 발생 빈도 값 사이의 상관관계로 출력하도록 구성되고, 각각의 불가분의 개별 단위는 상기 하나 이상의 제2 발생 빈도 값에 포함되는 해당 제2 빈도 값과 연관됨 -;
    상기 하나 이상의 유사도 값의 순위를 결정하는 단계;
    상기 하나 이상의 유사도 값에 기초하여 최상의 유사도 값과 연관되는 제1 순위의 입력 프로토콜을 식별하는 단계; 및
    상기 최상의 유사도 값과 연관되는 상기 제1 순위의 입력 프로토콜을 선택하는 단계를 포함하고,
    상기 제1 순위의 입력 프로토콜은 생성 프로토콜 및 예측 사전 프로토콜을 포함하고; 그리고
    상기 생성 프로토콜은 자연어 생성 프로토콜, 기호 생성 프로토콜 또는 이모티콘 생성 프로토콜 중 적어도 하나를 포함하는, 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 예측 사전 프로토콜은, 주제 도메인 예측 사전 프로토콜 및 관계 예측 사전 프로토콜을 포함하는, 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 제1항에 있어서,
    상기 하나 이상의 제1 빈도 값을 계산하는 단계는 상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위 각각의 발생을 계수함으로써 상기 하나 이상의 제1 빈도 값을 생성하는 단계를 더 포함하고; 그리고
    상기 입력 콘텐트에 관련된 상기 하나 이상의 제1 빈도 값과 상기 해당 프로파일 내 상기 하나 이상의 제2 빈도 값 사이의 상기 상관관계는 상기 하나 이상의 제1 빈도 값과 상기 하나 이상의 제2 빈도 값의 곱의 합을 포함하고, 각각의 곱은 해당 제2 빈도 값에 의해 곱해지는 해당 제1 빈도 값을 포함하는, 방법.
  30. 입력 콘텐트에 기초하여 입력 프로토콜을 선택하기 위한 시스템에 있어서,
    프로세서; 및
    컴퓨터 판독가능 명령어가 저장된 비일시적인 컴퓨터 판독가능 매체를 포함하고,
    상기 컴퓨터 판독가능 명령어는 상기 상기 프로세서에 의해 실행 가능하며,
    단순 언어 텍스트, 구두점, 기호 또는 이모티콘 중 적어도 하나를 포함하는 상기 입력 콘텐트를 분석하는 것;
    상기 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 것;
    상기 입력 콘텐트에서 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제1 발생 빈도 값을 계산하는 것 - 각각의 불가분의 개별 단위는 상기 하나 이상의 제1 발생 빈도 값에 포함되는 해당 제1 빈도 값과 연관됨 -;
    벡터 공간 모델에 기초하여 상기 입력 콘텐트와 하나 이상의 프로파일 사이의 하나 이상의 유사 값을 계산하는 것 - 상기 벡터 공간 모델은, 상기 입력 콘텐트와 해당 프로파일 사이의 해당 유사도 값을 상기 해당 프로파일 내 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제2 발생 빈도 값과 상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위의 상기 하나 이상의 제1 발생 빈도 값 사이의 상관관계로 출력하도록 구성되고, 각각의 불가분의 개별 단위는 상기 하나 이상의 제2 발생 빈도 값에 포함되는 해당 제2 빈도 값과 연관됨 -;
    상기 하나 이상의 유사도 값의 순위를 결정하는 것;
    상기 하나 이상의 유사도 값에 기초하여 최상의 유사도 값과 연관되는 제1 순위의 입력 프로토콜을 식별하는 것;
    상기 최상의 유사도 값과 연관되는 상기 제1 순위의 입력 프로토콜을 선택하는 것; 및
    사용자 인터페이스(UI)를 통해 상기 제1 순위의 입력 프로토콜을 제안하는 것을 포함하는 동작의 수행을 제어하거나 동작하게 하는, 시스템.
  31. 제30항에 있어서,
    상기 제1 순위의 입력 프로토콜은, 생성 프로토콜 및 예측 사전 프로토콜을 포함하는, 시스템.
  32. 삭제
  33. 삭제
  34. 제31항에 있어서,
    상기 생성 프로토콜은, 자연어 생성 프로토콜, 기호 생성 프로토콜 또는 이모티콘 생성 프로토콜 중 적어도 하나를 포함하는, 시스템.
  35. 삭제
  36. 제31항에 있어서,
    상기 예측 사전 프로토콜은, 주제 도메인 예측 사전 프로토콜 및 관계 예측 사전 프로토콜을 포함하는, 시스템.
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 제30항에 있어서,
    상기 하나 이상의 제1 빈도 값을 계산하는 것은, 상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위 각각의 발생을 계수함으로써 상기 하나 이상의 제1 빈도 값을 생성하는 것을 포함하는, 시스템.
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 입력 콘텐트에 기초하여 입력 프로토콜은 선택하기 위한 방법에 있어서,
    단순 언어 텍스트, 구두점, 기호 또는 이모티콘 중 적어도 하나를 포함하는 상기 입력 콘텐트를 분석하는 단계;
    상기 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 단계;
    상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제1 발생 빈도 값을 계산하는 단계 - 각각의 불가분의 개별 유닛은 상기 하나 이상의 제1 발생 빈도 값에 포함된 해당 제1 빈도 값과 연관됨 -;
    벡터 공간 모델에 기초하여 데이터베이스에 저장된 하나 이상의 프로파일과 상기 입력 콘텐트 사이의 하나 이상의 유사도 값을 계산하는 단계 - 상기 벡터 공간 모델은 해당 프로파일과 상기 입력 콘텐트 사이의 해당 유사도 값을 상기 해당 프로파일 내 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제2 발생 빈도 값과 상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위의 상기 하나 이상의 제1 발생 빈도 값 사이의 히스토그램 교차지점으로 출력하도록 구성되고, 각각의 불가분의 개별 단위는 상기 하나 이상의 제2 발생 빈도 값에 포함된 해당 제2 빈도 값과 연관됨 -;
    상기 하나 이상의 유사도 값의 순위를 결정하는 단계;
    상기 하나 이상의 유사도 값에 기초하여 최상의 유사도 값과 연관되는 제1 순위의 입력 프로토콜을 식별하는 단계; 및
    상기 최상의 유사도 값과 연관되는 상기 제1 순위의 입력 프로토콜을 선택하는 단계를 포함하는, 방법.
  70. 삭제
  71. 삭제
  72. 제69항에 있어서,
    상기 데이터베이스는 상기 하나 이상의 불가분의 개별 단위를 포함하는, 방법.
  73. 제72항에 있어서,
    상기 하나 이상의 불가분의 개별 단위의 상기 하나 이상의 제2 발생 빈도 값은 상기 해당 프로파일에서 사전 결정되고; 그리고
    상기 입력 콘텐트와 관련된 상기 하나 이상의 제1 빈도 값과 상기 해당 프로파일 내 상기 하나 이상의 제2 빈도 값 사이의 상기 히스토그램 교차지점은 상기 하나 이상의 제2 빈도 값의 합에 의해 나누어지는 하나 이상의 빈도 최소값의 합을 포함하고, 각각의 빈도 최소값은 해당 제1 빈도 값과 해당 제2 빈도 값의 최소값인, 방법.
  74. 삭제
  75. 제69항에 있어서,
    상기 제1 순위의 입력 프로토콜은, 생성 프로토콜 및 예측 사전 프로토콜을 포함하는, 방법.
  76. 삭제
  77. 삭제
  78. 제75항에 있어서,
    상기 생성 프로토콜은, 자연어 생성 프로토콜, 기호 생성 프로토콜 및 이모티콘 생성 프로토콜 중 적어도 하나를 포함하는, 방법.
  79. 삭제
  80. 제75항에 있어서,
    상기 예측 사전 프로토콜은, 예측 사전 데이터베이스 및 프로세싱 모듈을 포함하는, 방법.
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 제69항에 있어서,
    상기 해당 프로파일에는 하나 이상의 성질이 할당되며, 상기 하나 이상의 성질은, 생성 프로토콜과의 관계 및 예측 사전 프로토콜과의 관계를 포함하는, 방법.
  97. 제96항에 있어서,
    생성 프로토콜과의 상기 관계는, 자연어 생성 프로토콜 유형, 기호 생성 프로토콜 유형 및 이모티콘 생성 프로토콜 유형을 포함하는, 방법.
  98. 삭제
  99. 삭제
  100. 제69항에 있어서,
    상기 하나 이상의 제1 빈도 값을 계산하는 단계는,
    상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위 각각의 발생을 계수함으로써 상기 하나 이상의 제1 빈도 값을 생성하는 단계를 더 포함하는, 방법.
  101. 입력 콘텐트에 기초하여 입력 프로토콜을 선택하기 위한 시스템으로서,
    프로세서;
    컴퓨터 판독가능 명령어가 저장된 비일시적인 컴퓨터 판독가능 매체를 포함하고,
    상기 컴퓨터 판독가능 명령어는 상기 상기 프로세서에 의해 실행 가능하며,
    단순 언어 텍스트, 구두점, 기호 또는 이모티콘 중 적어도 하나를 포함하는 상기 입력 콘텐트를 분석하는 것;
    상기 입력 콘텐트로부터 하나 이상의 불가분의 개별 단위를 추출하는 것;
    상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제1 발생 빈도 값을 계산하는 것 - 각각의 불가분의 개별 단위는 상기 하나 이상의 제1 발생 빈도 값에 포함된 해당 제1 빈도 값과 연관됨 -;
    벡터 공간 모델에 기초하여 데이터베이스에 저장된 하나 이상의 프로파일과 상기 입력 콘텐트 사이의 하나 이상의 유사도 값을 계산하는 것 - 상기 벡터 공간 모델은 해당 프로파일 및 상기 입력 콘텐트 사이의 해당 유사도 값을 상기 해당 프로파일 내 상기 하나 이상의 불가분의 개별 단위의 하나 이상의 제2 발생 빈도 값과 상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위의 상기 하나 이상의 제1 발생 빈도 값 사이의 히스토그램 교차지점으로 출력하도록 구성되고, 각각의 불가분의 개별 단위는 상기 하나 이상의 제2 발생 빈도 수에 포함된 해당 제2 빈도 값과 연관됨 -;
    상기 하나 이상의 유사도 값의 순위를 결정하는 것;
    상기 하나 이상의 유사도 값에 기초하여 최상의 유사도 값과 연관되는 제1 순위의 입력 프로토콜을 식별하는 것; 및
    상기 최상의 유사도 값과 연관되는 상기 제1 순위의 입력 프로토콜을 선택하는 것을 포함하는 동작의 수행을 제어하거나 동작하게 하고,
    상기 제1 순위의 입력 프로토콜은 생성 프로토콜 및 예측 사전 프로토콜을 포함하고; 그리고
    상기 생성 프로토콜은 자연어 생성 프로토콜, 기호 생성 프로토콜 또는 이모티콘 생성 프로토콜 중 적어도 하나를 포함하는, 시스템.
  102. 제101항에 있어서,
    상기 데이터베이스는 상기 하나 이상의 불가분의 개별 단위를 포함하는, 시스템.
  103. 제101항에 있어서,
    상기 하나 이상의 제1 빈도 값을 계산하는 것은 상기 입력 콘텐트 내 상기 하나 이상의 불가분의 개별 단위 각각의 발생을 계수함으로써 상기 하나 이상의 제1 빈도 값을 생성하는 것을 포함하고;
    상기 하나 이상의 제2 빈도 값은 상기 해당 프로파일 내에서 사전 결정되고; 그리고
    상기 입력 콘텐트에 관련되는 상기 하나 이상의 제1 빈도 값과 상기 해당 프로파일 내 상기 하나 이상의 제2 빈도 값 사이의 히스토그램 교차 지점은 상기 하나 이상의 제2 빈도 값의 합에 의해 나누어지는 하나 이상의 빈도 최소값의 합을 포함하고, 각각의 빈도 최소값은 해당 제1 빈도 값과 해당 제2 빈도 값의 최소값인, 시스템.
  104. 제101항에 있어서,
    상기 예측 사전 프로토콜은 예측 사전 데이터베이스 및 프로세싱 모듈을 포함하는, 시스템.
  105. 제101항에 있어서,
    상기 해당 프로파일은 하나 이상의 속성이 할당되고, 상기 하나 이상의 속성은 생성 프로토콜과의 관계 및 예측 사전 프로토콜과의 관계를 포함하는, 시스템.
  106. 제105항에 있어서,
    상기 생성 프로토콜과의 관계는 자연어 생성 프로토콜 유형, 기호 생성 프로토콜 유형 및 이모티콘 생성 프로토콜 유형을 포함하는, 시스템.
KR1020147018984A 2011-12-12 2011-12-12 콘텐트에 기초한 자동 입력 프로토콜 선택 KR101613155B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/064453 WO2013089668A2 (en) 2011-12-12 2011-12-12 Content-based automatic input protocol selection

Publications (2)

Publication Number Publication Date
KR20140102287A KR20140102287A (ko) 2014-08-21
KR101613155B1 true KR101613155B1 (ko) 2016-04-18

Family

ID=48572974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147018984A KR101613155B1 (ko) 2011-12-12 2011-12-12 콘텐트에 기초한 자동 입력 프로토콜 선택

Country Status (4)

Country Link
US (2) US9348808B2 (ko)
JP (1) JP6033326B2 (ko)
KR (1) KR101613155B1 (ko)
WO (1) WO2013089668A2 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
RU2631164C2 (ru) * 2011-12-08 2017-09-19 Общество с ограниченной ответственностью "Базелевс-Инновации" Способ анимации sms-сообщений
US9152219B2 (en) * 2012-06-18 2015-10-06 Microsoft Technology Licensing, Llc Creation and context-aware presentation of customized emoticon item sets
US8918339B2 (en) 2013-03-15 2014-12-23 Facebook, Inc. Associating an indication of user emotional reaction with content items presented by a social networking system
US9843543B2 (en) 2013-12-27 2017-12-12 Entefy Inc. Apparatus and method for multi-format and multi-protocol group messaging
US9930002B2 (en) 2013-12-27 2018-03-27 Entefy Inc. Apparatus and method for intelligent delivery time determination for a multi-format and/or multi-protocol communication
US9819621B2 (en) 2013-12-27 2017-11-14 Entefy Inc. Apparatus and method for optimized multi-format communication delivery protocol prediction
US11755629B1 (en) 2014-02-24 2023-09-12 Entefy Inc. System and method of context-based predictive content tagging for encrypted data
US10394966B2 (en) 2014-02-24 2019-08-27 Entefy Inc. Systems and methods for multi-protocol, multi-format universal searching
US10169447B2 (en) 2014-02-24 2019-01-01 Entefy Inc. System and method of message threading for a multi-format, multi-protocol communication system
US20170193009A1 (en) 2015-12-31 2017-07-06 Entefy Inc. Systems and methods for filtering of computer vision generated tags using natural language processing
US20150242391A1 (en) * 2014-02-25 2015-08-27 Adobe Systems Incorporated Contextualization and enhancement of textual content
US20160048492A1 (en) * 2014-06-29 2016-02-18 Emoji 3.0 LLC Platform for internet based graphical communication
US9462009B1 (en) * 2014-09-30 2016-10-04 Emc Corporation Detecting risky domains
JP6434295B2 (ja) * 2014-12-12 2018-12-05 鹿島建設株式会社 重機周りの安全管理方法及びシステム
KR101615848B1 (ko) * 2015-01-19 2016-04-26 주식회사 엔씨소프트 유사상황 검색을 통한 대화 스티커 추천방법 및 컴퓨터 프로그램
KR101634086B1 (ko) * 2015-01-19 2016-07-08 주식회사 엔씨소프트 감정 분석을 통한 스티커 추천 방법 및 시스템
KR20160089152A (ko) * 2015-01-19 2016-07-27 주식회사 엔씨소프트 화행 분석을 통한 스티커 추천 방법 및 시스템
KR101641572B1 (ko) * 2015-01-19 2016-07-21 주식회사 엔씨소프트 상황 및 선호도 기반 대화 스티커 순위 결정 방법 및 컴퓨터 프로그램
US10796264B2 (en) * 2015-09-08 2020-10-06 International Business Machines Corporation Risk assessment in online collaborative environments
US9665567B2 (en) * 2015-09-21 2017-05-30 International Business Machines Corporation Suggesting emoji characters based on current contextual emotional state of user
US10135764B2 (en) 2015-12-31 2018-11-20 Entefy Inc. Universal interaction platform for people, services, and devices
US10353754B2 (en) 2015-12-31 2019-07-16 Entefy Inc. Application program interface analyzer for a universal interaction platform
US10459970B2 (en) * 2016-06-07 2019-10-29 Baidu Usa Llc Method and system for evaluating and ranking images with content based on similarity scores in response to a search query
GB201610984D0 (en) 2016-06-23 2016-08-10 Microsoft Technology Licensing Llc Suppression of input images
CN106372059B (zh) * 2016-08-30 2018-09-11 北京百度网讯科技有限公司 信息输入方法和装置
US10491690B2 (en) 2016-12-31 2019-11-26 Entefy Inc. Distributed natural language message interpretation engine
US20180189352A1 (en) 2016-12-31 2018-07-05 Entefy Inc. Mixed-grained detection and analysis of user life events for context understanding
US11037674B2 (en) * 2017-03-28 2021-06-15 International Business Machines Corporation Dashboard usage tracking and generation of dashboard recommendations
US11062222B2 (en) 2017-03-28 2021-07-13 International Business Machines Corporation Cross-user dashboard behavior analysis and dashboard recommendations
CN107463273B (zh) * 2017-07-14 2021-06-18 北京新美互通科技有限公司 一种表情符号输入方法和装置
KR102046262B1 (ko) 2017-12-18 2019-11-18 고려대학교 산학협력단 모바일 운영체제 환경에서 악성 코드 행위에 따른 위험을 관리하는 장치 및 방법, 이 방법을 수행하기 위한 기록 매체
US11948023B2 (en) 2017-12-29 2024-04-02 Entefy Inc. Automatic application program interface (API) selector for unsupervised natural language processing (NLP) intent classification
US11573990B2 (en) 2017-12-29 2023-02-07 Entefy Inc. Search-based natural language intent determination
US10587553B1 (en) 2017-12-29 2020-03-10 Entefy Inc. Methods and systems to support adaptive multi-participant thread monitoring
US10970471B2 (en) * 2018-04-23 2021-04-06 International Business Machines Corporation Phased collaborative editing
US11205045B2 (en) * 2018-07-06 2021-12-21 International Business Machines Corporation Context-based autocompletion suggestion
JP2021166000A (ja) * 2020-04-08 2021-10-14 富士フイルムビジネスイノベーション株式会社 情報処理装置、データ構造、文字認識システムおよびプログラム
US11604845B2 (en) 2020-04-15 2023-03-14 Rovi Guides, Inc. Systems and methods for processing emojis in a search and recommendation environment
US11775583B2 (en) * 2020-04-15 2023-10-03 Rovi Guides, Inc. Systems and methods for processing emojis in a search and recommendation environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034871A (ja) * 2005-07-29 2007-02-08 Sanyo Electric Co Ltd 文字入力装置および文字入力装置プログラム
US20110037718A1 (en) 2003-04-09 2011-02-17 James Stephanick System and process for selectable input with a touch screen
US20110087962A1 (en) * 2009-10-14 2011-04-14 Qualcomm Incorporated Method and apparatus for the automatic predictive selection of input methods for web browsers
US20110105190A1 (en) 2009-11-05 2011-05-05 Sun-Hwa Cha Terminal and control method thereof

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210689A (en) * 1990-12-28 1993-05-11 Semantic Compaction Systems System and method for automatically selecting among a plurality of input modes
JPH05324713A (ja) * 1992-05-20 1993-12-07 Hitachi Ltd 自然語処理方法および自然語処理システム
JP2937729B2 (ja) * 1993-12-21 1999-08-23 株式会社バーズ情報科学研究所 パターン認識方法及び装置及び辞書作成方法
JP3034773B2 (ja) * 1994-12-27 2000-04-17 シャープ株式会社 電子通訳機
US20020178141A1 (en) * 2001-05-25 2002-11-28 Kushnirskiy Igor Davidovich Method and apparatus for remote inter-language method calling
US7401020B2 (en) * 2002-11-29 2008-07-15 International Business Machines Corporation Application of emotion-based intonation and prosody to speech in text-to-speech systems
US7251648B2 (en) * 2002-06-28 2007-07-31 Microsoft Corporation Automatically ranking answers to database queries
FR2842056B1 (fr) * 2002-07-08 2004-12-03 Speeq Procede, terminal et serveur de telecommunications
JP4964442B2 (ja) * 2005-08-10 2012-06-27 三菱電機株式会社 薄膜トランジスタおよびその製造方法
US8688671B2 (en) * 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
GB0524354D0 (en) 2005-11-30 2006-01-04 Ibm Method, system and computer program product for composing a reply to a text message received in a messaging application
US20100076749A1 (en) * 2007-03-01 2010-03-25 Nec Corporation Language processing system, language processing method, language processing program, and recording medium
US20080270110A1 (en) * 2007-04-30 2008-10-30 Yurick Steven J Automatic speech recognition with textual content input
US7734641B2 (en) 2007-05-25 2010-06-08 Peerset, Inc. Recommendation systems and methods using interest correlation
WO2009029865A1 (en) * 2007-08-31 2009-03-05 Google Inc. Automatic correction of user input
US8180630B2 (en) * 2008-06-06 2012-05-15 Zi Corporation Of Canada, Inc. Systems and methods for an automated personalized dictionary generator for portable devices
US8346800B2 (en) * 2009-04-02 2013-01-01 Microsoft Corporation Content-based information retrieval
JP5553553B2 (ja) * 2009-08-20 2014-07-16 キヤノン株式会社 映像処理装置及び映像処理装置の制御方法
US20110106807A1 (en) * 2009-10-30 2011-05-05 Janya, Inc Systems and methods for information integration through context-based entity disambiguation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110037718A1 (en) 2003-04-09 2011-02-17 James Stephanick System and process for selectable input with a touch screen
JP2007034871A (ja) * 2005-07-29 2007-02-08 Sanyo Electric Co Ltd 文字入力装置および文字入力装置プログラム
US20110087962A1 (en) * 2009-10-14 2011-04-14 Qualcomm Incorporated Method and apparatus for the automatic predictive selection of input methods for web browsers
US20110105190A1 (en) 2009-11-05 2011-05-05 Sun-Hwa Cha Terminal and control method thereof

Also Published As

Publication number Publication date
WO2013089668A3 (en) 2014-04-10
US20130151508A1 (en) 2013-06-13
KR20140102287A (ko) 2014-08-21
WO2013089668A2 (en) 2013-06-20
JP2015507252A (ja) 2015-03-05
US20160224687A1 (en) 2016-08-04
JP6033326B2 (ja) 2016-11-30
US9348808B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
KR101613155B1 (ko) 콘텐트에 기초한 자동 입력 프로토콜 선택
US10685186B2 (en) Semantic understanding based emoji input method and device
CN105814519B (zh) 将图像或标签输入到电子设备的系统和方法
US20220107953A1 (en) Knowledge sharing based on meeting information
US10664657B2 (en) System and method for inputting images or labels into electronic devices
Pohl et al. Beyond just text: semantic emoji similarity modeling to support expressive communication👫📲😃
WO2018222776A1 (en) Methods and systems for customizing suggestions using user-specific information
US20180349517A1 (en) Knowledge operating system
JP6254534B2 (ja) エモティコンを識別および提案するためのシステムおよび方法、ならびに、コンピュータプログラム
US20190197119A1 (en) Language-agnostic understanding
CN112313680A (zh) 助理系统中手势输入的自动完成
US20150278195A1 (en) Text data sentiment analysis method
US20100030715A1 (en) Social Network Model for Semantic Processing
KR20160121382A (ko) 텍스트 마이닝 시스템 및 툴
WO2014031505A1 (en) Word detection and domain dictionary recommendation
KR20110115543A (ko) 개체의 유사성을 계산하는 방법
US11640420B2 (en) System and method for automatic summarization of content with event based analysis
CN116888661A (zh) 用于辅助系统的包括非拉丁或不可解析内容项的通信内容的读出
CN111555960A (zh) 信息生成的方法
Bai et al. Predicting reader’s emotion on Chinese web news articles
CN110929122A (zh) 一种数据处理方法、装置和用于数据处理的装置
Rajeshwari et al. Regional Language Code-Switching for Natural Language Understanding and Intelligent Digital Assistants
Wang et al. Classification-based emoji recommendation for user social networks
Krsteski Development of a component-based, media data processing and classifying system powered by Artificial Intelligence, accessible via Web API
Yeh et al. Spelling checking using conditional random fields with feature induction for secondary language learners

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190507

Year of fee payment: 4