KR20160096177A - 텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들 - Google Patents

텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20160096177A
KR20160096177A KR1020167018507A KR20167018507A KR20160096177A KR 20160096177 A KR20160096177 A KR 20160096177A KR 1020167018507 A KR1020167018507 A KR 1020167018507A KR 20167018507 A KR20167018507 A KR 20167018507A KR 20160096177 A KR20160096177 A KR 20160096177A
Authority
KR
South Korea
Prior art keywords
speech
definitions
ranking
display
definition
Prior art date
Application number
KR1020167018507A
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 KR20160096177A publication Critical patent/KR20160096177A/ko

Links

Images

Classifications

    • G06F17/2836
    • 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/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • G06F17/2735

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

시스템들 및 방법들이 문구 블록을 번역하고 상기 문구 블록에 대한 의미들 및 번역들을 제시하기 위해 제공된다. 특정 실시예들에 따르면, 컴퓨터로 구현되는 시스템들 및 방법들이 문구 블록의 품사를 식별하고, 소스 언어에서 상기 품사에 대응하는 문구 블록의 정의들을 결정하고 그리고 상기 정의들에 대응하는 사용 예들을 결정하기 위해 제공된다. 추가적으로 시스템 및 방법들이 문구 블록을 소스 언어로부터 번역된 텍스트로 번역하기 위해 그리고 사용에 기초하여 품사들을 랭킹하기 위해 제공된다. 또한, 특정 실시예들에 따르면, 컴퓨터로 구현되는 시스템들 및 방법들이 사용자의 위치에 기초하여, 문서들의 코퍼스에 기초하여 및/또는 사용자에 의해 저장된 컨텐츠에 기초하여 사용을 결정하기 위해 제공된다. 또한 시스템들 및 방법들이 문구 블록, 문구 블록의 정의들 및 사용 예들 및/또는 상기 랭킹에 따라 문구 블록의 번역들을 디스플레이하기 위해 제공된다.

Description

텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR PROVIDING CONTEXT BASED DEFINITIONS AND TRANSLATIONS OF TEXT}
관련 출원들의 상호 참조
이 출원은 2013년 12월 9일에 출원된 미국 가출원 제61/913,532호의 이익을 주장하는 2014년 12월 8일에 출원된 미국 출원 제14/563,584호의 우선권을 주장한다. 상기 출원들 각각의 개시는 그 전체가 참조로서 본 명세서에 통합된다.
기술분야
본 발명은 기계 번역에 대한 기법들과 관련되며, 더 구체적으로, 텍스트 문맥에 기초하여 텍스트의 정의들 및 번역들을 제공하기 위한 기법과 관련된다.
본 명세서에서 제공된 배경기술은 본 발명의 맥락을 일반적으로 제시하기 위함이다. 이 배경기술 섹션에서 기술된 범위까지 현재 명명된 발명자들의 성과 뿐만 아니라 출원시점에 선행 기술로서 달리 자격이 없는 기술의 양태들은 명시적으로 또는 묵시적으로 본 발명에 대한 선행 기술로서 인정되지 않는다.
인터넷과 웹의 빠른 성장과 쉬운 접근성은 사용자로 하여금 사양한 전자 또는 통신 디바이스들을 사용하여 정보를 임의의 위치로부터 편하게 검색할 수 있게 한다. 익숙하지 않은 언어로 컨텐츠가 제시된 때, 사용자들은 그들이 익숙한 언어로 또는 그들이 이해할 수 있는 언어로 컨텐츠의 자동 번역을 얻기를 종종 원한다.
일부 단어들 또는 문구들은 단일 의미를 가진다. 그러나, 많은 경우들에서, 단어 또는 문구는 가능한 의미들의 범위를 가진다. 추가적으로, 단일 단어는 하나의 이상의 품사(part-of-speech)를 가진다. 예를 들면, “brush”와 같은 단일 단어는 명사 형태와 동사 형태 둘 다를 가진다. 그 결과, 한 언어에서 단어들을 다른 언어에 대응하는 단어들로 단지 대체함으로써 번역하는 것은 올바른 번역이 상기 단어가 사용되는 문맥에 종속되기 때문에 충분하지 않다.
본 발명에 따르면, 컴퓨터화된 시스템들 및 방법들이 텍스트 또는 문구 블록들의 문맥 기반 정의들 및 번역들을 제공하기 위해 제공된다. 본 발명의 실시예들은 다양한 문맥들에서 단어들의 의미 및 단어들의 번역들을 단어가 다른 문맥들에서 어떻게 사용되는지 보여주는 예시들과 함께 제시하기 위한 시스템들 및 방법들과 관련된다.
특정 실시예들에 따르면, 시스템들 및 방법들은 단어 또는 문구에 대응하는 품사를 식별하고, 가장 지배적인 품사를 결정하고 그리고 지배적 품사에 대한 단어 또는 문구의 정의들 및 사용 예들을 제공하기 위해 제공된다. 또한, 본 명세서에 개시된 바와 같이, 본 발명의 실시예들은 사용자에 의해 식별된 제2 언어로 단어 또는 문구의 번역들을 제시한다. 추가적으로 본 발명의 실시예들은 특정 단어 또는 문구가 특정 문맥에서 예를 들면, 특정 품사로 사용되는 빈도의 표시를 제공한다. 추가로, 본 발명의 실시예들은 사용자의 개인적 번역 이력 및 사용 문맥(context)을 레버리징(leveraging)함으로써 사용자에게 정의들 및 번역들을 제시하기 위한 시스템들 및 방법들과 관련된다. 추가로, 본 발명의 실시예들은 조직화되고 읽기 쉬운 방식 예를 들면, 요약의 행태로 사용자에게 정의들 및 번역들을 제시하기 위한 시스템들 및 방법들을 제공하며, 상기 방식은 단어 또는 문구에 관한 더 많은 정보를 제공하기 위해 확장가능하다.
일 대표적 실시예에 따르면, 서버 시스템이 문구 블록(phrase block)은 번역하기 위해 제공된다. 예시로서, 서버는 명령어들의 세트를 저장하는 메모리 디바이스; 그리고 명령어들을 실행하는 하나 이상의 프로세서들을 포함하며, 상기 명령어들은: 번역에 대한 요청을 수신하고, 상기 요청은 문구 블록을 포함하며; 상기 문구 블록의 품사들(parts of speech)을 식별하고; 상기 소스 언어(source language)에서 상기 식별된 품사들에 대응하는 상기 문구 블록의 정의들을 결정하고; 상기 소스 언어에서 상기 정의들에 대응하는 상기 문구 블록에 대한 사용 예들을 결정하고; 상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어(target language)에서 번역된 텍스트로 번역하고, 상기 번역된 텍스트는 상기 문구 블록의 하나 이상의 번역들을 포함하며; 상기 소스 언어에서 상기 품사들의 사용에 기초하여 제1 랭킹 순서로 상기 품사들을 랭킹(ranking)하고; 디스플레이 그룹들을 생성하고, 각 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 하나 이상의 정의 및 상기 정의들에 대응하는 하나 이상의 사용 예들을 포함하며; 상기 제1 랭킹 순서에 기초하여 상기 디스플레이 그룹들에 대한 상기 순서를 결정하고; 그리고 디바이스가 상기 디스플레이 그룹들을 상기 순서 및 상기 번역된 텍스트로 렌더링(rendering)하는데 충분한 정보를 전송하기 위한 명령어들을 포함한다.
다른 대표적인 실시예에 따르면, 컴퓨터로 구현되는 방법이 문구 블록을 번역하기 위해 제공된다. 예시로서, 상기 방법은 하나 이상의 프로세서에 의해 수행되는 다음의 동작들을 포함하며, 상기 방법은: 클라이언트 디바이스로부터, 소스 언어(source language)로부터 목적 언어(target language)로 번역하기 위한 문구 블록을 수신하는 단계; 상기 문구 블록에 대한 품사를 식별하는 단계; 상기 소스 언어에서 상기 문구 블록의 정의를 결정하는 단계, 상기 정의는 상기 품사에 대응하며; 상기 소스 언어에서 상기 문구 블록에 대한 사용 예를 결정하는 단계, 상기 사용 예는 상기 정의에 대응하며; 상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어에서 번역된 텍스트로 번역하는 단계, 상기 번역된 텍스트는 상기 품사에 대응하며; 그리고 상기 문구, 상기 품사, 상기 정의, 상기 사용 및 상기 번역된 텍스트의 디스플레이를 생성하는 단계를 포함한다.
다른 대표적 실시예에 따르면, 컴퓨터로 구현되는 방법이 문구 블록을 번역하기 위해 제공된다. 예시로서, 상기 방법은 하나 이상의 프로세서들에 의해 수행되는 다음의 동작들을 포함하며, 상기 방법은: 소스 언어로부터 목적 언어로 번역하기 위한 문구 블록을 수신하는 단계; 상기 문구 블록에 대응하는 품사들을 식별하는 단계; 상기 소스 언어에서 상기 품사들에 대응하는 상기 단어의 정의들을 결정하는 단계; 상기 소스 언어에서 상기 정의들에 대응하는 상기 단어에 대한 사용 예들을 결정하는 단계; 상기 목적 언어에서, 상기 품사들에 대응하는 상기 문구 블록을 상기 소스 언어로부터 번역된 텍스트로 번역하는 단계; 상기 소스 언어에서 상기 품사들의 사용에 기초하여 상기 품사들을 상기 제1 랭킹 순서로 랭킹하는 단계; 디스플레이 그룹들을 생성하는 단계, 각 디스플레이 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 정의들, 상기 정의들에 대응하는 사용 예들을 포함하고; 그리고 디스플레이 디바이스에 상기 제1 랭킹 순서에 기초하여 상기 문구 블록 및 상기 디스플레이 그룹들을 제시하는 단계를 포함한다.
다른 대표적 실시예에 따르면, 컴퓨터 프로그램 물이 제공된다. 예시로서, 컴퓨터 프로그램 물은 비-일시적 컴퓨터-판독가능 매체에 유형적으로 수록된 실행가능한 명령어들을 포함하며, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하며, 상기 동작들은: 소스 언어(source language)로부터 목적 언어(target language)로 번역하기 위한 문구 블록을 수신하는 동작; 상기 문구 블록에 대응하는 품사들을 식별하는 동작; 상기 소스 언어에서 상기 품사들에 대응하는 상기 단어에 정의들을 결정하는 동작; 상기 소스 언어에서 상기 정의들에 대응하는 상기 단어의 사용 예들을 결정하는 동작; 상기 품사들에 대응하는 상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어에서 번역된 텍스트로 번역하는 동작; 상기 소스 언어에서 상기 품사들의 사용에 기초하여 제1 랭킹 순서로 상기 품사들을 랭킹하는 동작; 디스플레이 그룹들을 생성하는 동작, 각 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 정의들 및 상기 정의들에 대응하는 사용 예들을 포함하며; 디스플레이 디바이스에서, 상기 제1 랭킹 순서에 기초하여 상기 문구 블록 및 상기 디스플레이 그룹들을 제시하는 동작을 포함한다.
일 대표적 실시예에 따르면, 클라이언트가 문구 블록을 번역하기 위해 제공된다. 예시로서, 상기 클라이언트는 명령어들의 세트를 저장하는 메모리 디바이스; 및 상기 명령어들을 실행하는 하나 이상의 프로세서들을 포함하며, 상기 명령어들은: 번역에 대한 요청을 수신하고, 상기 요청은 문구 블록을 포함하며; 상기 문구 블록의 품사들을 식별하고; 상기 소스 언어(source language)에서 상기 식별된 품사들에 대응하는 상기 문구 블록의 정의들을 결정하고; 상기 소스 언어에서 상기 정의들에 대응하는 상기 문구 블록에 대한 사용 예들을 결정하고; 상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어(target language)에서 번역된 텍스트로 번역하고, 상기 번역된 텍스트는 상기 문구 블록의 하나 이상의 번역들을 포함하며; 상기 소스 언어에서 상기 품사들의 사용에 기초하여 제1 랭킹 순서로 상기 품사들을 랭킹하고; 디스플레이 그룹들을 생성하고, 각 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 하나 이상의 정의 및 상기 정의들에 대응하는 하나 이상의 사용 예들을 포함하며; 상기 제1 랭킹 순서에 기초하여 상기 디스플레이 그룹들에 대한 상기 순서를 결정하고; 그리고 디바이스가 상기 디스플레이 그룹들을 상기 순서 및 상기 번역된 텍스트로 렌더링하는데 충분한 정보를 전송하기 위한 명령어들을 포함한다.
본 발명의 적용가능성의 추가적 영역들은 이하 제공되는 상세한 설명으로부터 분명해질 것이다. 상세한 설명 및 특정 예시들은 단지 도시적인 목적으로 의도되었으며, 본 발명의 범위를 제한하도록 의도되지 않았음이 이해되어야 한다.
본 발명은 상세한 설명 및 첨부 도면들로부터 더 완전하게 이해될 것이다.
도 1은 본 발명의 실시예들 및 구성들을 구현하기 위한 대표적인 시스템 환경을 도시한다.
도 2는 본 발명의 실시예들 및 구성들을 구현하기 위한 대표적인 전자 장치 또는 시스템을 도시한다.
도 3은 하나의 품사를 가지는 단어 또는 문구의 정의들 및 번역들을 제공하기 위한 대표적인 프로세스의 흐름도이다.
도 4는 하나의 품사가 있는 경우 단어 또는 문구의 정의들 및 번역들을 제시하기 위한 대표적인 사용자 인터페이스를 도시한다.
도 5는 2개의 품사들을 가지는 단어 또는 문구의 정의들 및 번역들을 제공하기 위한 대표적인 프로세스의 흐름도이다.
도 6은 2개의 품사들이 있는 경우 단어 또는 문구의 정의들 및 번역들을 제시하기 위한 대표적인 사용자 인터페이스를 도시한다.
도 7은 2개의 품사들이 있는 경우 단어 또는 또는 문구의 정의들 및 번역들을 제시하기 위한 다른 대표적인 사용자 인터페이스를 도시한다.
도 8은 2개 이상의 품사들을 가지는 단어 또는 문구의 정의들 및 번역들을 제공하기 위한 대표적인 프로세스의 흐름도이다.
도 9는 2개 이상의 품사가 있는 경우 단어 또는 또는 문구의 정의들 및 번역들을 제시하기 위한 대표적인 사용자 인터페이스를 도시한다.
참조가 본 발명의 현재 대표적인 실시예들에 대해 상세히 이루어질 것이며, 그것의 예시들이 첨부 도면들에서 도시된다. 가능한, 동일 참조 번호들은 도면들 전체에 걸쳐서 동일하거나 유사한 부분들을 지칭하도록 사용될 것이다.
도 1은 본 발명의 실시예들 및 구성들을 구현하기 위한 대표적인 시스템 환경(100)의 블록 다이어그램이다. 시스템(100)에서 배치 및 컴포넌트들의 수는 도시의 목적으로 제공되었다. 추가적 배치들, 컴포넌트들의 수 및 기타 수정들이 본 발명에 따라 이루어질 수 있다.
도 1에 도시된 바와 같이, 시스템 환경(100)은 하나 이상의 사용자들(112, 122)에 의해 소유되거나 동작되는 하나 이상의 클라이언트들(110, 120)을 포함한다. 예시로서, 클라이언트들(110, 120)은 스마트폰들, 타블렛들, 넷북들, 전자 판독기들, PDA, 퍼스널 컴퓨터들, 랩톱 컴퓨터들, 데스크톱 컴퓨터들 및/또는 기타 타입들의 전자 또는 통신 디바이스들을 포함한다. 일부 실시예들에서, 클라이언트들(110, 120)은 하드웨어 디바이스들 및/또는 하드웨어 디바이스들에서 실행되는 소프트웨어 어플리케이션들로 구현된다. 특정 실시예들에서, 클라이언트(100 또는 120)는 다른 디바이스 컴포넌트 또는 네트워크(130)와 같은 네트워크에 엑세스할 필요 없이 본 발명의 실시예들 및 구성들을 구현할 수 있다. 다른 실시예들에서, 서버(140)는 다른 디바이스 컴포넌트 또는 네트워크에 엑세스할 필요 없이 본 발명의 실시예들 및 구성들을 구현한다. 또 다른 실시예들에서, 클라이언트들(110, 120)은 서버(140) 및 데이터베이스(150)와 같은 다른 클라이언트들 및 컴포넌트들과 네트워크(130)로 또는 네트워크(130)를 통해 통신하도록 구성된다.
특정 실시예들에서, 네트워크(130)는 통신 네트워크들의 임의의 조합을 포함한다. 예를 들면, 네트워크(130)는 인터넷 및/또는 임의의 타입의 광역 네트워크, 인트라넷, 메트로폴리탄 영역 네트워크, 근거리 네트워크(LAN), 무선 네트워크, 셀룰러 통신 네트워크 등을 포함한다. 일부 실시예들에서, 클라이언트들(110, 120)은 네트워크(130)를 통해 예를 들면, 서버(140)와 같은 적절한 서버에 요청들(예를 들면, 사용자들(112, 122)에 의해 제공된 입력에 기초한 요청들)을 전송하도록 구성된다. 또한, 일부 실시예들에서, 클라이언트들(110, 120)은 상기 요청들에 응답하여, 서버(140)로부터 네트워크(130)를 통해 정보를 수신하도록 구성된다.
서버(140)는 클라이언트들(110, 120), 네트워크(130) 및/또는 데이터베이스(150)와 통신하고 인터렉션하도록 구성된 하나 이상의 서버들을 포함한다. 일부 실시예들에서, 서버(140)는 하나 이상의 검색 엔진들, 사전 서비스들, 번역 서비스들, 사전 엔진들 및/또는 번역 엔진들을 구현하거나 제공한다. 서버(140)는 범용 컴퓨터, 메인프레임 컴퓨터 또는 이들 컴포넌트들의 임의의 조합이다. 특정 실시예들에서, 서버(140)는단독 컴퓨팅 시스템 또는 장치이거나 또는 보다 큰 시스템의 부분인 서브시스템의 부분이다. 예를 들면, 서버(140)는 통신 매체(예를 들면, 네트워크(130))를 통해 또는 예를 들면 LAN과 같은 전용 네트워크를 통해 원격적으로 위치된 분산된 서버들을 나타낸다. 서버(140)는 서버, 복수의 서버들을 포함하는 서버 시스템 또는 로드 발란싱 시스템(load balancing system) 및 복수의 서버들을 포함하는 서퍼 팜(server farm)으로서 구현된다.
데이터베이스(150)는 데이터를 저장하도록 구성된 하나 이상의 논리적으로 및/또는 물리적으로 분리된 데이터베이스들을 포함한다. 데이터베이스(150)에 저장된 데이터는 서버들(140)로부터, 클라이언트들(110, 120)로부터 수신되고 및/또는 통상적 방법들(예를 들면, 데이터 기입, 데이터 전송, 데이터 업로딩 등)을 사용하여 입력으로서 제공된다. 데이터베이스(150)에 저장된 데이터는 문서들, 프레젠테이션들, 텍스트적 컨텐츠, 맵핑 및 지리적 정보, 순위 및 리뷰 정보, 가격 정보, 뉴스, 오디오 파일들, 비디오 파일들 및 다양한 기타 전자적 데이터 또는 그것들의 임의의 조합을 포함하나 그에 제한되지 않는 다양한 형태들을 취하거나 나타낸다. 또한 데이터베이스(150)는 예를 들면, 하나 이상의 언어들에 대한 사전 데이터베이스(dictionary database)들 및/또는 문서들, 검색 로그들, 웹 페이지들을 포함하는 컨텐츠의 코퍼스 및/또는 소셜 네트워크 컨텐츠 등을 포함한다.
일부 실시예들에서, 데이터베이스(150)는 단일의 컴퓨터-판독가능 저장 매체를 사용하여 구현된다. 다른 실시예들에서, 데이터베이스(150)는 네트워크 부착 스토리지 디바이스에, 스토리지 영역 네트워크(SAN)에 또는 그것들의 조합 등에 유지된다. 게다가, 데이터베이스(150)는 다수의 타입들의 데이터베이스 소프트웨어 및 프로그래밍 언어들 예를 들면, SQL, MySQL, IBM DB2®, Microsoft Access®, PERL, C/C++, Java® 등을 사용하여 유지되고 질의(query)된다. 비록 도 1에서 서버(140)와 관련된 데이터베이스(150)를 도시하였지만, 데이터베이스(150)는 네트워크(130)를 통해 엑세스 가능한 단독 데이터페이스이거나 또는 데이터베이스(150)는 클라이언트들(110, 120) 및/또는 다른 컴포넌트들이 엑세스가능한 시스템 또는 환경의 부분과 관련되거나 부분으로서 제공된다.
도 2는 본 발명의 실시예들 및 구성들을 구현하기 위한 대표적 전자 장치 또는 시스템(200)의 블록 다이어그램이다. 예시로서, 장치 또는 시스템(200)은 도 1의 클라이언트들(110, 120) 및/또는 서버(140)를 구현하는데 사용된다. 시스템(200)에 배치 및 컴포넌트들의 수는 도시의 목적으로 제공된다. 추가적 배치들, 컴포넌트들의 수 및 기타 수정들이 본 발명에 따라 이루어질 수 있다.
도 2에 도시된 바와 같이, 시스템(200)은 명령어들을 실행하기 위한 하나 이상의 프로세서들(210)을 포함한다. 또한 시스템(200)은 하나 이상의 입력/출력(I/O) 디바이스들(220)을 포함한다. 예시로서, I/O디바이스들(220)은 물리적 키보드들, 가상 터치-스크린 키보드들, 마우스들, 조이스틱들, 스타일러스들 등을 포함한다. 또한 특정 실시예들에서, 시스템(200)은 예를 들면, 음성 인식 어플리케이션들을 사용하여 마이크(도시되지 않음)를 통해 입력을 수신할 수 있다.
도 2에 추가로 도시된 바와 같이, 시스템(200)은 데이터 및/또는 개시된 실시예들에 따라 동작들을 수행하기 위해 하나 이상의 프로세서들(210)에 의해 사용되는 소프트웨어 명령어들을 저장하도록 구성된 하나 이상의 저장 디바이스들을 포함한다. 예를 들면, 시스템(200)은 하나 이상의 프로세서들(210)에 의해 실행될 때 기능들 또는 동작들을 수행하는 하나 이상의 소프트웨어 프로그램들을 저장하도록 구성된 메인 메모리(230)를 포함한다. 예시로서, 메인 메모리(230)는 NOR 또는 NAND 플래시 메모리 디바이스들, ROM(Read Only Memory) 디바이스들, RAM(Random Access Memory) 디바이스들 등을 포함한다. 또한 시스템(200)은 저장 매체(240)를 포함한다. 예시로서, 저장 매체(240)는 하드 드라이브들, SSD들(solid state drives), 테이프 드라이브들, RAID 어레이들 등을 포함한다. 비록 도2가 단지 하나의 메인 메모리(230) 및 하나의 저장 매체(240)를 도시하지만, 시스템(200)은 임의의 수의 메인 메모리들(230) 및 저장 매체들(240)을 포함한다. 추가로, 비록 도 2가 메인 메모리(230) 및 저장 매체(240)를 시스템(200)의 부분으로서 도시하지만, 메인 메모리(230) 및/또는 저장 매체(240)는 원격적으로 위치될 수 있고 시스템(200)은 메인 메모리(230) 및/또는 저장 매체(240)에 네트워크(130)를 통해 엑세스할 수 있다.
또한 시스템(200)은 데이터 및 정보를 디스플레이하기 위한 하나 이상의 디스플레이들(250)을 포함한다. 디스플레이(250)는 CRT(cathode ray tube), LCD(liquid crystal display), 플라즈마 디스플레이, LED(light emitting diode) 디스플레이, 터치 스크린 타입 디스플레이 및/또는 공지된 임의의 기타 타입의 디스플레이와 같은 디바이스들 또는 기술들을 사용하여 구현된다.
또한 시스템(200)은 하나 이상의 통신 인터페이스들(260)을 포함한다. 통신 인터페이스들(260)은 소프트웨어 및 데이터로 하여금 시스템(200), 네트워크(130), 클라이언트들(110, 120) 및/또는 기타 컴포넌트들 사이에서 전송될 수 있게 한다. 통신 인터페이스들(260)의 예시들은 모뎀, 네트워크 인터페이스(에를 들면, 이더넷 카드), 통신 포트, PCMCIA 슬롯 및 카드 등을 포함한다. 통신 인터페이스들(260)은 소프트웨어 및 데이터를 전자적, 전자기적, 광학적 신호들 또는 통신 인터페이스들(260)에 의해 수신될 수 있는 기타 신호들의 형태로 전송한다. 이들 신호들은 유선, 케이블, 광섬유, RF(radio frequency) 링크 및/또는 기타 통신 채널들을 사용하여 구현될 수 있는 통신 경로(path)(도시되지 않음)를 통해 통신 인터페이스들(260)에 제공된다.
개시된 실시예들은 전용 테스크들을 수행하도록 구성된 별개의 프로그램들 또는 컴퓨터들에 제한되지 않는다. 예를 들면, 서버(140)는 단일의 프로그램 또는 다수의 프로그램들을 저장하는 메인 메모리(230)를 포함할 수 있다. 추가적으로, 서버(140)는 서버(140)로부터 원격적으로 위치된 하나 이상의 프로그램들을 실행할 수 있다. 예를 들면, 서버(140)는 컴포넌트 예를 들면, 실행될 때 개시된 실시예들에 따라 동작들을 수행하는 클라이언트들(110, 120) 내에 포함된 메인 메모리(230)에 저장된 하나 이상의 원격 프로그램들에 엑세스할 수 있다. 일부 대표적 실시예들에서, 서버(140)는 웹 사이트(들), 사전 서비스들, 및/또는 번역 서비스들을 생성하고, 유지하고 그리고 제공하는 별개의 웹 서버(들) 또는 컴퓨팅 디바이스들에 엑세스할 수 있다. 클라이언트들(110, 120)은 서버(140)와 유사한 방식으로 기능할 수 있고 그 역 또한 같다.
도 3은 하나의 품사를 가지는 단어 또는 문구의 의미들 및 번역들을 제공하기 위해 구현되는 대표적인 프로세스(300)의 흐름도이다. 프로세스(300)는 서버(140) 및/또는 네트워크(130)에 엑세스할 필요 없이 클라이언트(110 또는 120)에서 구현된다. 추가적으로 또는 대안적으로, 프로세스(300)는 클라이언트들(110, 120) 및/또는 네트워크(130)에 엑세스할 필요 없이 서버(140)에서 구현될 수 있다. 일부 실시예들에서, 프로세스(300)는 클라이언트들(110, 120) 중 하나 이상 및/또는 네트워크(130)를 통해 통신하는 서버(140)를 사용하여 구현된다. 프로세스(300)에서 단계들의 순서 및 배치는 도시의 목적으로 제공된다. 본 발명으로부터 인식될 것과 같이, 수정들이 프로세스(300)에 예를 들면, 프로세스에 대한 단계들을 추가, 조합, 제거 및/또는 재정렬함으로써 가해질 수 있다.
본 발명에서 사용된 바와 같이, 문구 블록(phrase block)은 단일 단어, 문구 및/또는 변화된 형태를 포함한다. 일반적으로, 문구는 길이가 2개 및 5개의 단어들 사이이다. 예시로서, “apple”, “run” 또는 “weave”와 같은 단일 단어는 문구 블록을 나타낸다. 추가로, 예시로서, “good morning”, “bad weather” 등과 같은 문구는 문구 블록을 나타낸다. 추가로, 예를 들면, 문장 조각 “my hair is black”은 2개의 문구 블록들 즉, “my hair”와 “is black”을 포함한다.
도 3에 도시된 바와 같이, 프로세스(300)는 하나 이상의 입력들을 수신하는 단계(302)를 포함한다. 입력들은 번역을 위한 하나 이상의 문구 블록들을 포함한다. 단계(302)는 데이터베이스(150) 또는 시스템(100)과 관련된 다른 데이터베이스에 저장된 문구 블록에 엑세스하는 것 또는 수신하는 것을 포함한다. 일 대표적 실시예에서, 문구 블록은 클라이언트들(110, 120) 및/또는 서버(140)의 메인 메모리(230) 또는 저장 매체(240)에 저장된 문구 블록들에 엑세스함으로써 수신된다. 다른 대표적 실시예에서, 단계(302)에서 문구 블록은 사용자(112, 122)가 하나 이상의 클라이언트들(110, 120) 또는 서버(130)와 관련된 I/O 디바이스들(220) 중 하나 이상을 사용하여 문구 블록을 입력한 때 수신된다. 일부 대표적 실시예들에서, 단계(302)에서 문구 블록은 URL(Uniform Resource Locator) 또는 예를 들면, 웹 페이지, 문서, 이미지 또는 기타 리소스를 특정할 수 있는 다른 식별자의 형태로 수신된다.
단계(302)의 일부로서, 소스 및 목적 언어들의 표시는 입력으로서 수신된다. 소스 언어는 그로부터 사용자가 문구 블록을 번역하기 원하는 언어이다. 목적 언어는 그 언어로 사용자가 문구 블록을 번역하기 원하는 언어이다. 예시로서, 사용자가 문구 블록을 “영어”로부터 “스페인어”로 번역하기 원하는 경우, 소스 언어는 “영어”이고 목적 언어는 “스페인어”이다. 단계(302)에서 소스 및 목적 언어들의 표시를 수신하는 것은 I/O 디바이스들9220) 중 하나 이상을 사용하는 사용자(112, 122)로부터 또는 클라이언트들(110, 120) 또는 서버(140)로부터 소스 및 목적 언어들의 입력들을 수신하는 것을 포함한다. 일 대표적 실시예에서, 사용자 인터페이스는 풀-다운 메뉴들(pull-down menus) 또는 드롭-다운 박스들(drop-down boxes)에서 제공된 지원되는 언어들의 리스트로부터 소스 및/또는 목적 언어들의 선택을 위해 풀-다운 메뉴들 또는 드롭-다운 박스들과 함께 제공된다. 표시를 수신하는 것은 (예를 들면, 컴퓨터 마우스 또는 기타 I/O 디바이스들(220)을 사용하여) 선택을 하는 사용자를 포함한다. 다른 대표적 실시예에서, 풀-다운 메뉴 또는 드롭-다운 박스는 지원되는 소스 언어-목적 언어 쌍들의 리스트를 제공한다. 예시로서, 영어에서-독일어로” 또는 “스페인어에서-영어로”와 같은 소스 언어-목적 언어 쌍은 사용자 인터페이스에 디스플레이된다. 표시를 수신하는 것은 상기 하나 쌍을 선택하는 사용자를 포함한다(예를 들면, 컴퓨터 마우스 또는 기타 I/O 디바이스들(220)을 사용하여). 다른 대표적 실시예에서, 소스 및 목적 언어들의 표시를 수신하는 것은 데이터베이스(150)에 또는 시스템(100)과 관련된 다른 데이터베이스에 저장된 소스 및 목적 언어들 또는 소스 언어-목적 언어 쌍들에 엑세스하는 것을 포함한다. 다른 대표적인 실시예에서, 소스 및 목적 언어들의 표시를 수신하는 것은 하나 이상의 메인 메모리들(230) 또는 저장 매체들(240)에 저장된 소스 및 목적 언어들 또는 소스 언어-목적 언어 쌍들에 엑세스하는 것을 포함한다.
일부 대표적인 실시예들에서, 목적 언어는 예를 들면, 브라우저 설정, 사용자에 관한 정보, 위치 정보 등으로부터 결정된다. 추가로, 일부 대표적인 실시예들에서, 소스 언어는 문구 블록이 찾아지는 사전 데이터베이스에 기초하여 또는 사전 데이터베이스와 관련된 언어 모델들에 매칭함으로써 결정된다.
또한 도 3에 추가로 도시된 바와 같이, 프로세스(300)는 문구 블록에 대한 품사를 결정하는 단계(304)를 포함한다. 예를 들면, 단계(304)에서, 단계(302)에서 수신된 문구 블록이 명사, 동사, 형용사 부사 등인지 여부가 결정된다. 예시로서, 단일 단어 “apple”은 단지 하나의 품사(즉, 명사)를 가진다. 단계(304)에서 품사를 결정하는 것은 사전 데이터베이스에 엑세스하는 것과 사전 데이터베이스로부터 품사 정보를 검색하는 것을 포함한다. 다른 대표적인 실시예에서, 품사를 결정하는 것은 클라이언트들(110, 120) 및/또는 서버(140)에 의해 제공된 사전 엔진(dictionary engine)을 사용하는 것을 포함한다. 사전 엔진은 문구 블록에 대한 품사를 결정하기 위해 그것의 고유 사전 및/또는 기타 데이터베이스를 이용한다.
또한, 프로세스(300)는 예를 들면, 단계(304)에서 결정된 품사에 대응하는 소스 언어에서의 문구 블록의 하나 이상의 정의들을 결정하는 단계(306)를 포함한다. 또한 문구 블록의 정의들을 결정하는 것은 사전 데이터베이스로부터 문구 블록에 대한 정의들에 엑세스하는 것 또는 단계(304)와 관련하여 상기 논의된 것과 유사한 방식으로 사전 엔진을 사용하는 것을 포함한다. 문구 블록의 정의들을 결정하는 것은 문구 블록과 관련된 단어들 또는 문구들의 정의들을 식별하는 것을 포함한다. 예를 들면, 단어 “apple”에 대한 정의들을 결정하는 것은 단어 “apple” 및 단어 “apple-tree”에 대한 정의들을 검색하는 것을 포함한다. 문구 블록과 관련된 단어들 또는 문구들은 상기 문구 블록이 소스 언어와 관련된 코퍼스(corpus)에서 어떻게 사용되는지 검토(examining)함으로써 결정된다. 본 발명에서 사용된 바와 같이, 코퍼스는 예를 들면, 문서들, 검색 로그들, 웹 페이지들, 소셜 네트워크 컨텐츠 등을 포함한다. 예시로서, 단어 “apple”의 제1 정의는 “the round fruit of a tree of the rose family, which typically has thin red or green skin and crisp flesh”로서 제공된다. 추가로, 예시로서, 단어 “apple”의 제2 정의는 관련된 단어 “apple-tree”의 의미에 기초하여, “a tree which bears apples”로서 제공된다.
문구 블록의 정의들을 결정하는 것은 그 문구 블록에 대한 모든 품사들에 대한 정의들을 결정하는 것을 포함한다. 예를 들면, 문구 블록은 명사 형태, 동사 형태, 형용사 형태, 부사 형태 등을 가진다. 단계(306)에서 정의들을 결정하는 것은 문구 블록의 각 품사에 대응하는 정의들을 결정하는 것을 포함한다. 예시로서, 문구 블록 “run”은 명사 형태 및 동사 형태 둘 다를 가진다. 단계(306)에 따라 “run”의 정의들을 결정하는 것은 “move at a speed faster than walk”로서 동사 형태에 대한 제1 정의 및 “an act or spell of running”로서 명사 형태에 대한 제2 정의를 결정하는 것을 포함한다. 비록, 각 품사에 대한 단지 하나의 정의가 상기 기술되었지만, 단계(306)에서 정의들을 결정하는 것은 문구 블록의 각 품사에 대한 하나 이상의 정의를 결정하는 것을 포함한다.
단계(306)의 일부로서, 사용 예들(usage examples)은 결정된 정의들 각각에 대해 결정된다. 각 정의에 대한 사용 예들을 결정하는 것은 사전 데이터베이스로부터 사용 예들에 엑세스하는 것 또는 사전 엔진과 관련된 데이터베이스로부터 사용 예들을 검색하기 위해 사전 엔진을 사용하는 것을 포함한다. 추가로, 각 정의에 대해 사용 예들을 결정하는 것은 문구 블록의 사용을 보여주는 문장들을 검색하기 위해 소스 언어와 관련된 코퍼스를 검토하는 것을 포함한다.
또한, 도 3에 도시된 바와 같이, 프로세스(300)는 문구 블록을 소스 언어로부터 목적 언어로 번역하는 단계(308)를 포함한다. 번역하는 것은 목적 언어에 대한 사전 데이터베이스에 엑세스 하는 것과 목적 언어와 관련된 사전 데이터베이스로부터 문구 블록에 대응하는 번역된 텍스트를 검색하는 것을 포함한다. 번역된 텍스트는 문구 블록의 번역을 각각 나타내는 많은 아이템들을 포함한다. 번역된 텍스트는 예를 들면, 단계(304)에서 식별된 문구 블록의 품사에 대응한다. 일 대표적인 실시예에서, “명사” 형태에 대응하는 번역된 텍스트는 목적 언어에서 남성 및 여성 형태들 둘 다를 포함한다. 목적 언어와 관련된 사전 데이터베이스는 데이터베이스(150), 메모리(230), 저장 매체(240) 또는 네트워크(130)에 연결된 일부 원격 데이터베이스에 저장된다. 다른 대표적인 실시예에서, 목적 언어와 관련된 사전 데이터베이스는 클라이언트들(110, 120)에 저장된다. 다른 대표적인 실시예에서, 문구 블록을 번역하는 것은 클라이언트들(110, 120) 및/또는 서버(140)에 의해 제공되는 목적 언어와 관련된 사전 엔진을 사용하는 것을 포함한다. 사전 엔진은 목적언어에서 번역된 텍스트를 획득하기 위해 그것의 고유 사전 또는 목적 언어와 관련된 기타 데이터베이스를 이용한다.
또한 프로세스(300)는 제1 랭킹 순서(first rank order)로 정의들을 랭킹하는 단계(310)를 포함한다. 정의를 랭킹하는 것은 그 정의에 대응하는 문구 블록의 사용의 빈도를 결정하는 것을 포함한다. 일부 대표적인 실시예들에서, 랭킹하는 것은 문구 블록이 문구의 각 정의에 대응하는 코퍼스에서 사용된 횟수를 결정하는 것을 포함한다. 그 후, 문구 블록의 서로 다른 정의들은 각 정의에 대응하는 문구 블록의 사용의 빈도에 기초하여 랭킹된다. 일 대표적인 실시예에서, 정의는 그 정의에 대응하는 문구 블록의 사용의 더 많은 예들이 코퍼스에서 식별되면, 보다 높은 랭킹을 가진다. 예시로서, 코퍼스에서 과일을 의미하기 위해 단어 “apple”의 더 빈번한 사용은 “apple”의 그 정의가 “a tree which bears apples”로서의 정의에 비해 더 높은 랭킹을 가지는 것을 결과로 한다.
일 대표적인 실시예에서, 정의들을 랭킹하는 것은 사용자와 관련된 정보 예를 들면, 사용자가 번역을 요청한 시간에 사용자의 위치를 검토하는 것을 포함한다. 사용자의 위치는 다양한 방식으로 결정된다. 일 대표적인 실시예에서, 사용자의 위치는 클라이언트들(110, 120) 또는 사용자에 의해 사용되는 기타 디바이스들의 거리를 셀룰러 또는 네트워크(130)와 관련된 무선 전송 사이트들의 위치로부터 삼각측량함으로써 결정된다. 다른 대표적인 실시예에서, 사용자의 위치는 클라이언트들(110, 120) 또는 사용자에 의해 사용되는 기타 디바이스들에 의해 전송되거나 수신되는 GPS(global positioning signals)로부터의 정보에 기초하여 결정된다. 다른 대표적인 실시예에서, 클라이언트들(110, 120), 서버(140) 및/또는 기타 컴포넌트들 또는 사용자들(112, 122)에 의해 사용되는 디바이스들의 IP(Internet Protocol) 주소가 사용자의 위치를 결정하기 위해 사용된다. 다른 대표적인 실시예에서, 사용자의 위치는 클라이언트들(110, 120), 사용자(112, 122)에 의해 클라이언트들(110, 120) 또는 서버(130)와 관련된 하나 이상의 I/O 디바이스들을 통해 또는 사용자에 의해 사용되는 기타 디바이스들을 통해 제공되는 정보로부터 결정된다.
사용자가 번역을 요청한 시간에 사용자의 지리적 위치에 대응하는 정의들은 문구 블록의 정의들을 랭킹하는데 사용된다. 예시로서, 사용자가 그림 수업에 있는 경우, “a device for painting”으로서 단어 “brush”의 정의는 “shrubbery” 또는 “vegetation”로서의 “brush”의 정의에 비해 더 높은 랭킹을 수신한다. 다른 예시로서, 사용자가 기차역에 위치하면서 단어 “train”의 번역을 요청한 경우, 철도들과 관련된 정의가 총 또는 카메라와 같은 무언가를 포인팅하거나 조준하는 것과 관련된 “train”의 정의에 비해 더 높은 랭킹을 수신한다.
일부 대표적인 실시예들에서, 랭킹하는 것은 사용자가 위치하는 지리적 영역에서 문구 블록의 속지적, 구어체적 또는 속어적 사용의 검토를 포함한다. 예를 들면, 정의는 만약 코퍼스의 검토가 사용자의 위치에서 또는 근처에서 그 정의의 사용의 더 높은 빈도를 표시한다면, 더 높은 랭킹을 수신한다.
다른 대표적인 실시예들에서, 정의들을 랭킹하는 것은 사용자의 개인적 번역 이력을 검토하는 것을 포함한다. 예를 들면, 랭킹하는 것은 사용자에 의한 최근 번역 요청들을 검토하는 것을 포함한다. 예시로서, 만약 사용자가 요리와 관련된 정보에 대해 최근에 검색했으면, “chicken”에 대한 후속적 검색은 “poultry”와 관련된 단어 “chicken”의 정의들을 예를 들면, “being scared”와 관련된 정의들 보다 더 높게 랭킹한다.
또 다른 대표적인 실시예에서, 정의들을 랭킹하는 것은 예를 들면, 개인적 문구북(phrase book)에 클라이언트들(110, 120) 또는 서버(140)에서 사용자에 의해 저장된 컨텐츠를 검토하는 것을 포함한다. 예시로서, 단어 “run”는 “moving at a speed faster than a walk”로서의 제1 정의 및 “manage or direct”로서의 제2 정의를 가진다. 초기적으로, 제1 정의에 의해 대표되는 더 일반적이 사용이 더 높은 랭킹을 수신한다. 그러나, 상기 랭킹은 사용자의 문구북에 저장된 컨텐츠에 기초하여 변화한다. 예를 들면, “the president appears to run the country”와 같이 만약 사용자가 문구들을 저장하면, “manage or direct”로서의 “run”의 제2 정의는 “moving at a speed faster than a walk”로서의 제1 정의에 비해 더 높은 랭킹을 수신한다. 따라서, 문구 블록의 정의들의 랭킹은 사용의 빈도 또는 사용자의 위치와 같은 컨텍스트적 정보, 사용자의 번역 이력 또는 사용자(112 또는 122)에 의해 저장된 컨텐츠에 의해 저장된 것과 같은 사용자의 선호들에 기초한다.
또한, 프로세스(300)는 제2 랭킹 순서에서 번역된 텍스트에 아이템들을 랭킹하는 단계(312)를 포함한다. 번역된 텍스트에서 아이템들을 랭킹하는 것은 단계(310)와 관련하여 상기 기술된 것과 유사한 프로세스들을 사용하여 정의에 대응하는 아이템의 사용의 빈도를 결정하는 것을 포함한다. 일 대표적인 실시예에서, 번역된 텍스트에서 아이템을 랭킹하는 것은 사용자와 관련된 정보 예를 들면, 단계(310)와 관련하여 상기 기술된 것과 유사한 프로세스들을 사용하여 사용자가 번역을 요청한 시간에 사용자의 위치를 검토하는 것을 포함한다. 다른 대표적인 실시예에서, 번역된 텍스트에서 아이템들을 랭킹하는 것은 사용자의 개인적 번역 이력에 기초한다. 또 다른 대표적인 실시예에서, 번역된 텍스트에서 아이템들을 랭킹하는 것은 목적 언어에서 코퍼스에 기초하거나 또는 예를 들면, 문구북에 사용자에 의해 저장된 텍스트적 컨텐츠에 기초한다. 코퍼스에 기초하여, 사용자의 번역 이력에 기초하여 또는 저장된 텍스트적 컨텐츠에 기초하여 번역된 텍스트에서 아이템들을 랭킹하는 것은 단계(310)와 관련하여 상기 기술된 것과 유사한 프로세스들을 사용하여 수행된다.
또한, 다시 도 3을 참조하면, 프로세스(300)는 디스플레이(250) 또는 클라이언트들(110, 120), 서버(140) 또는 사용자에 의해 사용되는 기타 디바이스와 관련된 기타 유사한 디스플레이 디바이스에 소스 언어로 문구 블록에 대한 정의들을 디스플레이하는 단계(316)를 포함한다. 문구 블록의 정의들은 단계(310)에서 결정된 정의들의 제1 랭킹 순서에 따라 디스플레이된다. 예를 들면, 제1 랭킹 순서에서 더 높은 랭킹을 가지는 정의들은 디스플레이(250)의 상단 부분 가까이에 디스플레이되며, 낮은 랭킹을 가지는 정의들은 높은 랭킹을 가지는 정의들 아래에 디스플레이된다. 추가로, 제1 랭킹 순서에서 높은 랭킹들을 가지는 몇 개의 선택된 정의들만이 디스플레이(250)에 디스플레이된다. 일 대표적 실시예에서, 순서에서 가장 높은 3개의 랭킹들을 가지는 3개의 정의들만이 디스플레이(250)에 디스플레이된다. 일부 대표적인 실시예들에서, 화살표, 버튼, 링크 등이 사용자가 반복적으로 더 많은 정의들을 펼치게하도록(unfold) (즉, 보이게) 디스플레이(250)에 디스플레이되는 사용자 인터페이스에 제공된다.
정의들을 디스플레이하는 것은(단계(316)) 각 정의와 관련된 하나 이상의 사용 예들을 디스플레이하는 것을 포함한다. 일 대표적인 실시예에서, 정의 및 상기 정의와 관련된 사용 예는 상호 인접한 그룹으로서 디스플레이된다. 다른 대표적인 실시예에서, 디스플레이 그룹이 생성된다. 각 디스플레이 그룹은 문구 블록의 정의들 가운데에서 선택된 정의를 포함한다. 추가로, 디스플레이 그룹은 선택된 정의에 대응하는 하나 이상의 사용 예들을 포함한다. 일부 대표적인 실시예들에서, 단지 하나의 사용 예가 각 정의에 대해 제공된다. 디스플레이 그룹들은 정의들의 제1 랭킹 순서에 기초한 순서로 디스플레이된다. 예를 들면, 제1 디스플레이 그룹은 제1 디스플레이 그룹은 제2 디스플레이 그룹에 포함된 제2 정의에 비해 더 높은 랭킹의 제1 정의를 포함하는 경우 제2 디스플레이 그룹 위에 디스플레이된다. 일부 대표적인 실시예들에서, 화살표, 버튼, 링크 등이 사용자가 반복적으로 문구 블록에 대한 하나 이상의 디스플레이 그룹을 펼치게하도록 (즉, 보이게) 디스플레이(250)에 디스플레이되는 사용자 인터페이스에 제공된다.
또한 프로세스(300)는 문구 블록의 번역들을 디스플레이하는 단계(318)를 포함한다. 번역들을 디스플레이하는 것은 예를 들면, 단계(312)에서 결정된 제2 랭킹 순서에 따라 번역들을 디스플레이하는 것을 포함한다. 예를 들면, 제2 랭킹 순서에서 더 높은 랭킹을 가지는 번역들은 디스플레이(250)의 상단 부분 가까이에 디스플레이되며, 낮은 랭킹을 가지는 번역들은 제2 랭킹 순서에서 높은 랭킹을 가지는 번역들 아래에 디스플레이된다. 추가로, 단지 몇 개의 선택된 정의들만이 디스플레이(250)에 디스플레이된다. 일 대표적 실시예에서, 제2 랭킹 순서에서 가장 높은 5개의 랭킹들을 가지는 5개의 정의들만이 디스플레이(250)에 디스플레이된다. 일부 대표적인 실시예들에서, 화살표, 버튼, 링크 등이 사용자가 반복적으로 더 많은 번역들을 펼치게하도록 (즉, 보이게) 디스플레이(250)에 디스플레이되는 사용자 인터페이스에 제공된다.
도 4는 대표적인 사용자 인터페이스(400)를 도시한다. 사용자 인터페이스(400)는 예를 들면, 문구 블록이 단일의 품사를 가지는 경우 문구 블록의 정의들 및 번역들을 제시한다. 도 4에 도시된 바와 같이, 사용자 인터페이스(400)는 소스 언어를 선택하기 위한 언어들의 리스트 및 메뉴 아이템들을 디스플레이하기 위한 디스플레이 부분(402)을 포함한다. 예를 들면, 도 4에 도시된 바와 같이, 디스플레이 부분(402)은 언어들 “영어” 및 “스페인어”를 디스플레이하는 버튼들을 포함한다. 사용자는 예를 들면, 마우스 또는 기타 I/O 디바이스들(220)을 사용하여 대응하는 버튼을 클릭함으로써 이들 두 개의 언어들 중 하나를 소스 언어로서 선택한다. 또한 디스플레이 부분(402)은 “언어 감지”라고 명명된 메뉴 아이템을 포함한다. 이 버튼을 클릭하는 것은 사용자에 의해 입력된 문구 블록을 검토함으로써 소스 언어를 감지하게 한다. 추가로, 디스플레이 부분(402)은 “더”라고 명명된 버튼을 포함하며, 이는 추가적인 옵션들 예를 들면, 기타 지원되는 언어들의 리스트 등을 제공한다. 디스플레이 부분(404)은 목적 언어들로서 사용가능한 언어들을 유사하게 리스팅한다. 일부 대표적인 실시예들에서, 소스 및 목적 언어는 사용자가 특정 소스 및/또는 목적 언어를 선택했음을 보여주기 위해 하나 이상의 색상들을 사용하여 하이라이팅된다.
또한 사용자 인터페이스(400)는 창들(406, 408, 410 및/또는 412)을 포함한다. 창(406)은 소스 창이고 디스플레이(250)의 상단 좌측 코너에 인접하게 디스플레이된다. 창(406)은 디스플레이 부분(402) 아래에 디스플레이된다. 창(406)은 사용자에 의해 선택된 소스 언어로 문구 블록을 디스플레이한다. 예를 들면, 도 4에 도시된 바와 같이, 창(406)은 소스 언어 “영어”로 문구 블록 “apple”을 디스플레이한다.
창(408)은 목적 창이고 디스플레이(250)의 상단 우측 코너 가까이에 창(406)에 인접하여 디스플레이된다. 창(408)은 디스플레이 부분(404) 아래에 디스플레이된다. 창(408)은 번역된 텍스트 예를 들면, 사용자에 의해 선택된 목적 언어로 문구 블록의 번역을 디스플레이한다. 예를 들면, 도 4에서 도시된 바와 같이, 창(408)은 목적 언어 “스페인어”로 번역된 텍스트 “manzana”를 디스플레이한다.
또한 사용자 인터페이스(400)는 소스 언어에서 문구의 정의들 및 사용 예들을 보여주기 위한 창(410)을 포함한다. 창(410)은 디스플레이(250)의 하단 좌측 코너에 인접하여 창(406) 아래에 디스플레이된다. 창(410)은 문구에 대한 품사를 디스플레이한다. 또한 창(410)은 예를 들면 프로세스(300)의 단계(310)에서 결정된 제 랭킹 순서에 따라 소스 언어에서 문구 블록의 정의들을 디스플레이한다. 일부 대표적인 실시예들에서, 예를 들면, 지도를 나타내는 아이콘들은 정의가 클라이언트(110, 120) 또는 사용자(112, 122)의 위치에 기초하여 높은 랭킹을 수신함을 표시하기 위해 정의 옆에 위치된다. 다른 대표적인 실시예들에서, 사용자의 번역 이력 또는 개인적 문구 북에 기초하여 랭킹들을 나타내기 위한 아이콘들이 정의들 옆에 디스플레이된다. 예를 들면, 도 4에 도시된 바와 같이, 창(410)은 “명사”를 문구 블록 “apple”에 대한 품사로서 디스플레이한다. 추가적으로, 창(410)은 단어 “apple”의 2개의 정의들을 디스플레이한다. 도 4에 도시된 바와 같이, 과일으로서의 “apple”의 제1 정의는 “apple-tree”에 대응하는 제2 정의에 비해 더 높은 랭킹을 가진다. 그러므로, 창(410)은 “apple”의 제1 정의를 디스플레이하고, 제1 정의 아래에 “apple-tree”에 대응하는 제2 정의를 디스플레이한다. 또한, 도 4에 추가로 도시된 바와 같이, 창(410)은 각 정의에 대응하는 사용 예를 디스플레이한다.
또한 사용자 인터페이스(400)는 문구 블록에 대응하는 번역된 텍스트를 디스플레이하기 위한 창(412)을 포함한다. 창(412)은 디스플레이(25)의 하단 우측 코너에 인접하여 창(408) 아래에 디스플레이된다. 창(412)은 예를 들면, 프로세스(300)의 단계(316)에서 결정된 제2 랭킹 순서에 따라 목적 언어로 번역된 텍스트를 디스플레이한다. 또한 창(412)은 품사들에 기초하여 번역된 텍스트에서 아이템들을 그룹화한다. 추가로, 창(412)은 번역된 텍스트에서의 남성 및 여성 형태들 둘 다를 디스플레이한다. 예를 들면, 도 3에 도시된 바와 같이, 창(412)은 2개의 아이템들 즉, 품사 “명사”하에서 남성 형태인 “la manzana” 및 여성 형태인 “el manzano”를 디스플레이 한다. 또한 창(412)은 랭킹 그래픽(414)를 포함하며, 이는 번역된 텍스트에서 각 아이템의 사용의 상대적 빈도를 표시하는 수평적 쉐이딩된 박스들을 디스플레이한다. 예를 들면, 도 4에 도시된 바와 같이, “la manzana”의 사용은 랭킹 그래픽(414)에서 “la manzana”에 대해 더 큰 수평적 쉐이딩된 박스에 의해 보여지는 것과 같이 “el manzano”의 사용에 비해 더 빈번하다.
또한, 창(410, 412)은 그래픽 화살표(416)를 포함한다. 그래픽 화살표(416)를 클릭하는 것은 사용자가 창(410)에서 추가적인 정의들 및 사용 예들 그리고 창(412)에서 추가적인 번역된 텍스트를 보이게한다. 상기 기술된 바와 같은 사용자 인터페이스(400)의 다양한 부분들의 배치들은 대표적인 것이며, 이들 부분들은 임의의 순서로 디스플레이될 수 있고, 다양한 모양들 및 크기들을 가질 수 있음이 이해되어야 한다. 추가로, 사용자 인터페이스(400)는 상기 기술된 디스플레이 부분들, 창들, 그래픽들에 대한 제한이 아니며, 더 많거나 적은 디스플레이 부분들, 창들, 그래픽 화살표들, 그래픽들 또는 기타 사용자 인터페이스 엘리먼트들을 포함할 수 있음이 이해되어야 한다.
도 5는 본 발명의 실시예들에 따르는 대표적인 프로세스(500)의 흐름도이다. 후술될 바와 같이, 도 5의 대표적인 프로세스(500)는 2 개의 품사들을 가지는 문구 블록의 정의들 및 번역들을 디스플레이하기 위해 구현된다. 프로세스(500)는 서버(140) 및/또는 네트워크(130)에 엑세스할 필요 없이 클라이언트(110 또는 120)에서 구현된다. 추가적으로 또는 대안적으로, 프로세스(500)는 클라이언트들(110, 120) 및/또는 네트워크(130)에 엑세스할 필요 없이 서버(140)에서 구현될 수 있다. 일부 실시예들에서, 프로세스(500)는 클라이언트들(110, 120) 중 하나 이상 및/또는 네트워크(130)를 통해 통신하는 서버(140)를 사용하여 구현된다. 프로세스(500)에서 단계들의 순서 및 배치는 도시의 목적으로 제공된다. 본 발명으로부터 인식될 것과 같이, 수정들이 프로세스(500)에 예를 들면, 프로세스에 대한 단계들을 추가, 조합, 제거 및/또는 재정렬함으로써 가해질 수 있다.
도 5에서 도시된 바와 같이, 프로세스(500)는 입력(들)을 수신하는 단계(502)를 포함한다. 단계(502)에서 입력들을 수신하는 것은 번역을 위한 문구 블록의 입력을 수신하는 것, 소스 언어의 표시를 수신하는 것 및/또는 목적 언어의 표시를 수신하는 것을 포함한다. 프로세스(500)의 단계(502)에서 문구 블록의 입력을 수신하는 것은 프로세스(300)의 단계(302)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 프로세스(500)의 단계(502)에서 소스 언어의 표시를 수신하는 것 및 목적 언어의 표시를 수신하는 것은 프로세스(300)의 단계(302)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다.
또한 프로세스(500)는 문구 블록에 대한 제1 품사(제1 POS) 및 제2 품사(제2 POS)를 결정하는 단계 및 상기 제1 및 제2 품사에 대한 정의들 및 사용 예들을 결정하는 단계(504)를 포함한다. 단계(504)에서 제1 및 제2 품사를 결정하는 것은 프로세스(300)의 단계(304)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 추가로, 제1 품사 및 제2 품사 각각에 대한 정의들을 결정하는 것은 프로세스(300)의 단계(306)과 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 추가로, 제1 품사 및 제2 품사 각각에 대한 정의들에 대응하는 사용 예들을 결정하는 것은 프로세스(300)의 단계(306)과 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다.
또한 프로세스(500)는 단계(502)에서 수신된 문구 블록을 번역하는 단계(506)를 포함한다. 단계(506)에서 문구 블록을 번역하는 것은 제1 품사 및 제2 품사 각각에 대한 문구 블록에 대응하는 번역된 텍스트를 결정하는 것을 포함한다. 추가로, 단계(506)에서 제1 품사 및 제2 품사 각각에 대한 문구 블록을 번역하는 것은 프로세스(300)의 단계(308)과 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다.
또한 프로세스(500)는 제1 품사가 제2 품사에 비해 지배적인지 여부를 결정하는 단계(508)를 포함한다. 제1 품사가 지배적인지 여부를 결정하는 것은 코퍼스, 사용자의 번역 이력 또는 사용자에 의해 저장된 텍스트적 컨텐츠에서 제1 품사에 대응하는 문구 블록의 사용의 빈도를 결정하는 것을 포함한다. 일 대표적 실시예에서, 제1 품사는 제1 품사에 대응하는 의미로 코퍼스에서 보이는 문구 블록의 상대적 횟수가 제2 품사에 대응하는 의미로 보이는 문구 블록의 횟수를 초과하는 경우 제2 품사에 비해 지배적인 것으로 결정된다. 또한 제1 품사가 지배적인지 여부를 결정하는 것은 제1 품사가 사용자(112, 122) 또는 클라이언트(120, 130)의 위치에서 또는 근처에서 더 빈번하게 사용되었는지 여부를 결정하는 것을 포함한다. 제1 품사가 더 지배적인지 여부를 결정하는 것은 프로세스(300)의 단계(310)와 관련하여 정의들을 랭킹하기 위해 개시된 것과 유사한 프로세스들을 포함한다.
제1 품사가 지배적임이 결정된 경우(단계(508): 예), 프로세스(500)는 제1 품사가 n 보다 더 많은 정의들을 가지는지 여부를 결정하는 단계(510)으로 진행한다. 단계(510)에서 제1 품사가 n보다 많은 정의들을 가짐이 결정된 경우(단계(510): 예), 프로세스(500)는 제1 품사에 대한 m개 정의들(m>n)을 가지는 제1 디스플레이 그룹을 생성하는 단계(512)로 진행한다. 제1 디스플레이 그룹을 생성하는 것은 제1 품사에 대한 정의들을 제1 랭킹 순서로 랭킹하는 것을 포함한다. 제1 품사에 대한 정의들을 제1 랭킹 순서를 랭킹하는 것은 프로세스(300)의 단계(310)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 또한, 제1 디스플레이 그룹을 생성하는 것은 제1 랭킹 순서에서 더 높은 랭킹을 가지는 정의들을 선택하는 것을 포함한다. 일 대표적인 실시예에서(n=1, m=2), 제1 디스플레이 그룹을 생성하는 것은 제1 랭킹 순서에서 간장 높은 랭킹을 가지는 제1 정의 및 제1 랭킹 순서에서 두번째로 높은 랭킹을 가지는 제2 정의를 포함하는 2 개의 정의들을 선택하는 것을 포함한다. 또한, 제1 디스플레이 그룹을 생성하는 것은 선택된 각각의 정의에 대응하는 하나 이상의 사용 예들을 선택하는 것을 포함한다. 추가로, 제1 디스플레이 그룹을 생성하는 것은 선택된 정의들 및 사용 예들을 순서매기는 것을 포함하며, 정의에 대응하는 사용 예들이 정의 바로 아래에 디스플레이 되게 한다. 또한, 정의들을 순서매기는 것은 제1 랭킹 순서에서 그들의 랭킹의 오름차순 또는 내림차순 순서에 기초하여 정의들을 정렬하는 것을 포함한다.
또한, 도 5에 도시된 바와 같이, 프로세스(500)는 제2 품사에 대해 결정된 정의들로부터 선택된 n개의 정의들을 가지는 제2 디스플레이 그룹을 생성하는 단계(514)를 포함한다. 제2 디스플레이 그룹을 생성하는 것은 제2 품사에 대한 정의들을 제2 랭킹 순서로 랭킹하는 것을 포함한다. 일 대표적인 실시예에서, 제2 디스플레이 그룹을 생성하는 것은 제2 랭킹 순서에서 가장 높은 랭킹들을 가지는 n개의 정의들을 선택하는 것과 n개 정의들 각각에 대응하는 하나 이상의 사용 예들을 선택하는 것을 포함한다.
또한, 프로세스(500)는 디스플레이에 제1 및 제2 디스플레이 그룹들을 디스플레이하는 단계(516)를 포함한다. 일 대표적인 실시예에서, 제1 및 제2 디스플레이 그룹들을 디스플레이하는 것은 제2 디스플레이 그룹 위에 제1 디스플레이 그룹을 사용자에게 제시하기 위해 디스플레이에 디스플레이하는 것을 포함한다.
단계(510)으로 돌아가면, n개의 정의들이 제1 품사에 대해 존재함이 결정된 경우(단계(510): 아니오), 프로세스(500)는 제2 품사가 n개 보다 많은 정의들을 가지는지 여부를 결정하는 단계(518)로 진행한다. 제2 품사가 2개 보다 많은 정의들을 가진다는 것이 결정된 경우(단계(518): 예), 프로세스(500)는 제1 품사에 대한 n개 정의들을 가지는 제1 디스플레이 그룹을 생성하는 단계(520)로 진행한다. 단계(520)에서 제1 디스플레이 그룹을 생성하는 단계는 제1 품사에 대한 정의들을 제1 랭킹 순서로 랭킹하는 것을 포함한다. 일 대표적인 실시예에서, 제1 디스플레이 그룹을 생성하는 것은 제1 랭킹 순서에서 가장 높은 랭킹들을 가진 n개 정의들을 선택하는 것과 상기 제1 품사에 대한 n개의 정의들 각각에 대응하는 하나 이상의 사용 예들을 선택하는 것을 포함한다.
또한, 프로세스(500)는 제2 품사에 대해 결정된 정의들로부터 선택된 m개의 정의들을 가지는 제2 디스플레이 그룹을 생성하는 단계(522)를 포함한다. 단계(522)에서 제2 디스플레이 그룹을 생성하는 것은 제2 랭킹 순서에서 제2 품사에 대한 정의들을 랭킹하는 것을 포함한다. 일 대표적인 실시예에서(n=1, m=2), 제2 디스플레이 그룹을 생성하는 것은 제2 랭킹 선서에서 가장 높은 랭킹을 가지는 제1 정의 및 제2 랭킹 순서에서 두번째로 높은 랭킹을 가지는 제2 정의를 포함하는 2개의 정의들을 선택하는 것을 포함한다. 또한, 제2 디스플레이 그룹을 생성하는 것은 선택된 각각의 정의에 대응하는 하나 이상의 사용 예들을 포함하는 것을 포함한다. 추가로, 제2 디스플레이 그룹을 생성하는 것은 선택된 정의들 및 사용 예들을 순서매기는 것을 포함하며, 정의에 대응하는 사용 예들이 정의 바로 아래에 디스플레이 되게 한다. 또한, 정의들은 제1 랭킹 순서에서 그들의 랭킹의 오름차순 또는 내림차순 순서로 정렬된다. 그 후, 프로세스(500)는 제1 디스플레이 그룹 및 제2 디스플레이 그룹을 디스플레이하는 단계(516)로 진행한다.
단계(518)로 돌아가면, 제2 품사가 n개의 정의들을 가진다는 것이 결정된 경우(단계(518): 아니오), 프로세스(500)는 제2 품사에 대한 n개 정의들을 가지는 제 디스플레이 그룹을 생성하는 단계(514)로 진행한다. 그 후, 프로세스(500)는 제1 디스플레이 그룹 및 제2 디스플레이 그룹을 디스플레이하는 단계(516)로 진행한다.
단계(508)로 돌아가면, 제1 품사가 지배적이지 않음이 결정된 경우(단계(508): 아니오), 프로세스(500)는 제2 품사가 n개 보다 많은 정의들을 가지는지 여부를 결정하는 단계(524)로 진행한다. 단계(524)에서 제2 품사가 n개 보다 많은 정의들을 가진다는 것이 결정된 경우(단계(524): 예), 프로세스(500)는 제2 품사에 대해 m개의(m>n) 정의들을 포함하는 제1 디스플레이 그룹을 생성하는 단계(526)로 진행한다. 제1 디스플레이 그룹을 생성하는 것은 제2 품사에 대한 정의들을 제1 랭킹 순서로 랭킹하는 것을 포함한다. 제2 품사에 대한 정의들을 제1 랭킹 순서로 랭킹하는 것은 프로세스(300)의 단계(310)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 또한, 제1 디스플레이 그룹을 생성하는 것은 제1 랭킹 순서에 가장 높은 랭킹을 가지는 제2 품사에 대한 m개의 정의들을 선택하는 것을 포함한다. 일 대표적인 실시예에서(n=1, m=2), 제1 디스플레이 그룹을 생성하는 것은 제1 랭킹 순서에서 가장 높은 랭킹을 가지는 제1 정의 및 제1 랭킹 순서에서 두번째로 높은 랭킹을 가지는 제2 정의를 포함하는 제2 품사에 대한 2개의 정의들을 선택하는 것을 포함한다. 또한 제1 디스플레이 그룹을 생성하는 단계는 선택된 각각의 정의에 대응하는 하나 이상의 사용 예들을 포함하는 것을 포함한다. 추가로, 제1 디스플레이 그룹을 생성하는 것은 선택된 정의들 및 사용 예들을 순서매기는 것을 포함하며, 정의에 대응하는 사용 예들이 정의 바로 아래에 디스플레이 되게 한다. 또한, 정의들은 제1 랭킹 순서에서 그들의 랭킹의 오름차순 또는 내림차순 순서로 정렬된다.
또한, 도 5에 도시된 바와 같이, 프로세스(500)는 제1 품사에 대해 결정된 정의들로부터 선택된 n개의 정의들을 가지는 제2 디스플레이 그룹을 생성하는 단계(528)를 포함한다. 제2 디스플레이 그룹을 생성하는 것은 제1 품사에 대한 정의들을 제2 랭킹 순서로 랭킹하는 것을 포함한다. 일 대표적인 실시예에서, 제2 디스플레이 그룹을 생성하는 것은 제2 랭킹 순서에서 가장 높은 랭킹들을 가지는 n개 정의들을 선택하는 것과 상기 n개 정의들 각각에 대응하는 하나 이상의 사용 예들을 선택하는 것을 포함한다.
또한, 프로세스(500)는 디스플레이에 제1 및 제2 디스플레이 그룹들을 디스플레이하는 단계(516)를 포함한다. 제1 및 제2 디스플레이 그룹들을 디스플레이하는 것은 제2 디스플레이 그룹 위에 제1 디스플레이 그룹을사용에게 제시하기 위해 디스플레이에 디스플레이하는 것을 포함한다.
단계(524)로 돌아가면, 제2 품사가 n개의 정의들을 가진다는 것이 결정된 경우(단계(524): 아니오), 프로세스(500)는 제1 품사가 n개 보다 많은 정의들을 가지는지 여부를 결정하는 단계(530)로 진행한다. 제1 품사가 n개 보다 많은 정의들을 가진다는 것이 결정된 경우(단계(530): 예), 프로세스(500)는 제2 품사에 대해 n개 정의를 가지는 제1 디스플레이 그룹을 생성하는 단계(532)로 진행한다. 단계(532)에서 제1 디스플레이 그룹을 생성하는 것은 제2 품사에 대한 정의들을 제1 랭킹 순서로 랭킹하는 것을 포함한다. 일 예시적 실시예에서, 제1 디스플레이 그룹을 생성하는 것은 제1 랭킹 순서에서 가장 높은 랭킹들을 가지는 정의들에서 선택하는 것과 제2 품사에 대한 n개의 정의들 각각에 대응하는 하나 이상의 사용 예들을 선택하는 것을 포함한다.
또한 프로세스(500)는 제1 품사에 대해 결정된 정의들로부터 선택된 m개 정의들을(m>n) 가지는 제2 디스플레이 그룹을 생성하는 단계(534)를 포함한다. 단계(534)에서 제2 디스플레이 그룹을 생성하는 것은 제1 품사에 대한 정의들을 제2 랭킹 순서로 랭킹하는 것을 포함한다. 일 대표적인 실시예에서(n=1, m=2), 제2 디스플레이 그룹을 생성하는 것은 제2 랭킹 순서에서 가장 높은 랭킹을 가지는 제1 정의 및 제2 랭킹 순서에서 두번째로 높은 랭킹을 가지는 제2 정의를 포함하는 2개의 정의들을 선택하는 것을 포함한다. 또한, 제2 디스플레이 그룹을 생성하는 것은 선택된 각각의 정의에 대응하는 하나 이상의 사용 예들을 포함하는 것을 포함한다. 추가로, 제2 디스플레이 그룹을 생성하는 것은 선택된 정의들 및 사용 예들을 순서매기는 것을 포함하며, 정의에 대응하는 사용 예들이 정의 바로 아래에 디스플레이 되게 한다. 추가로, 정의들은 제1 랭킹 순서에서 그들의 랭킹의 오름차순 또는 내림차순 순서에 기초하여 정렬된다. 그 후, 프로세스(500)는 제1 디스플레이 그룹 및 제2 디스플레이 그룹을 디스플레이하는 단계(516)로 진행한다.
단계(530)로 돌아가면, 제1 품사는 n개 정의들을 가진다는 것이 결정되면(단계(530): 아니오), 프로세스(500)는 제1 품사에 대해 n개 정의들을 가지는 제2 디스플레이 그룹을 생성하는 단계(528)로 진행한다. 그 후, 프로세스(500)는 제1 디스플레이 그룹 및 제2 디스플레이 그룹을 디스플레이하는 단계(516)로 진행한다.
상기 기술에서, 정의들의 수 n과 m은 m이 n보다 큰 수인 한 임의의 수를 취할 수 있다. 일 대표적 실시예에서, n은 1이고, m은 2이며, 단지 하나의 사용 예가 선택된 각 정의에 대해 제공된다.
또한 프로세스(500)의 단계(516)는 각 품사에 의해 그룹화된 문구 블록에 대한 번역들을 디스플레이하는 것을 포함한다. 추가로, 각 품사에 대응하는 번역들은 프로세스(300)의 단계(308)와 관련하여 상기 기술된 것과 유사한 프로세스들을 사용하여 순서가 매겨진다. 예를 들면, 제1 번역 디스플레이 그룹은 제1 품사에 대응하는 번역된 텍스트를 포함하고, 제2 번역 디스플레이 그룹은 제2 품사에 대응하는 번역된 텍스트를 포함한다. 제1 및 제2 번역 디스플레이 그룹들은 디스플레이에서 임의의 순서로 디스플레이된다. 일 대표적인 실시예에서, 제1 및 제2 번역 디스플레이 그룹들은 제1 품사 또는 제2 품사가 지배적인지 여부에 기초한 순서로 디스플레이된다. 예를 들면, 만약 제1 품사가 제2 품사에 비해 지배적이면, 제1 번역 디스플레이 그룹이 제2 번역 디스플레이 그룹 위에 디스플레이된다.
도 6은 대표적인 사용자 인터페이스(600)를 도시한다. 도 6에 도시된 바와 같이, 사용자 인터페이스(600)는 m=2이고 n=1인 경우 문구 블록에 대한 정의들 및 번역들을 보여준다. 디스플레이 부분들(602, 604), 창들(606, 608, 610, 612), 그래픽 화살표(616) 및 사용 그래픽(614)은 도 4의 대응 엘리먼트들과 관련하여 기술된 것과 유사한 구조들 및 기능들을 가진다. 도 6에서 창들(610 및612)은 프로세스(500)와 관련하여 상기 기술된 프로세스에 기초하여 정의들, 사용 예들 및 번역들을 디스플레이한다. 도6은 제1 품사가 지배적이고(단계(508): 예), 하나 이상의 정의를 가지는(단계(510): 예) 예를 도시한다.
예를 들면, 도 6에 도시된 바와 같이, 입력 문구 블록 “run”은 창(606)에 보여진다. 문구 블록 “run”은 2개의 품사를 가진다. 즉, 동사(제1품사) 및 명사(제2 품사). 도6은 제2 품사(“명사”)에 비해 제1 품사(“동사)가 지배적이고(단계(508): 예), 제1 품사가 하나의 정의를 가지는(단계(510): 예) 예를 도시한다. 도 6에서 도시된 바와 같이, 프로세스(500)의 단계(512)에 따르면, 제1 디스플레이 그룹(610)은 제1 정의: ”Move at a speed faster than walk, never having both or all feet on the ground at the same time”와 제2 정의 “Move about in a hurried and hectic way”를 포함한다. 도 6에 추가로 도시된 바와 같이, 제1 디스플레이 그룹(610)에서 제1 정의는 제1 정의가 제2 정의에 비해 더 높은 랭킹을 가지기 때문에 제2 정의 위에 배치된다. 또한 도 6에 도시된 바와 같이, 품사 “동사”에 대한 제1 및 제2 정의들 각각은 사용 예를 가진다. 예를 들면, 제1 정의에 대한 사용 예는 “See the dog run across the road”로 읽히고, 제2 정의에 대한 사용 예는 “I’ve spent the whole day running around after the kids”로 읽힌다.
또한 도 6은 프로세스(500)의 단계(514)에 따라 비-지배적 제2 품사(“명사”)에 대한 제2 디스플레이 그룹(620)을 도시한다. 도 6에서 도시된 바와 같이 제2 디스플레이 그룹(620)은 하나의 정의:” An act or spell of running” 및 하나의 사용 예:” I usually go for a run in the morning”를 가진다. 또한 도 6은 제1 디스플레이 그룹(610)이 제1 품사가 제2 품사에 비해 지배적이기 때문에 제2 디스플레이 그룹(620) 위에 디스플레이되는 것을 도시한다.
추가로, 도 6은 문구 블록 “run”에 대한 번역된 텍스트를 도시한다. 도 6의 창(612)에 도시된 바와 같이, 번역된 텍스트에서 아이템들은 품사에 의해 그룹화된다. 따라서, 예를 들면, 도 6의 창(612)은 제1 번역 디스플레이 그룹(630) 및 제2 번역 디스플레이 그룹(640)을 보여준다. 제1 품사(“동사”하에서 그룹화된 아이템들 “ejectuar”, “funcionar”, “correr” 등은 제1 번역 디스플레이 그룹(630)에 배치된다. 제2 품사(“명사”) 하에서 그룹화된 아이템들 “la carrera”, “la corrida”, “la marcha” 및 “el recorrido”은 제2 번역 디스플레이 그룹(640)에 배치된다. 도 6에서 도시된 바와 같이, 제1 번역 그룹(630)은 제2 번역 디스플레이 그룹(640)에 위에 디스플레이된다. 추가로, 도 6은 랭킹 그래픽(614)를 디스플레이하며, 이는 번역된 텍스트에서 각 아이템의 상대적 사용 빈도를 보여둔다. 또한 도 6은 창(608)에서 번역된 텍스트 아이템 “ejecutar”를 보여주며, 이는 그것이 이 예에서는 “동사”인 지배적인 품사에 대해 가장 높은 상대적 사용 빈도를 가지기 때문이다.
도 7은 대표적인 사용자 인터페이스(700)를 도시한다. 도 7에서 도시된 사용자 인터페이스(700)는 문구 블록과 관련된 2개의 품사들이 있는 경우 문구 블록에 대한 정의들 및 번역들을 보여준다. 도 7에 도시된 바와 같이, 디스플레이 부분들(702, 704), 창들(406, 708, 710, 712), 그래픽 화살표들(716), 사용 그래픽(714)은 도 4에서 대응 엘리먼트들과 관련하여 상기 기술된 것과 유사한 구조들 및 기능들을 가진다. 도 7에서 창들(710 및 712)은 프로세스(500)와 관련하여 상기 기술된 프로세스에 기초하여 정의들, 사용 예들 및 번역들을 디스플레이한다. 도7은 제1 품사가 지배적이고(단계(508): 예), 단지 하나의 정의를 가지는(단계(510): 아니오) 예를 도시한다.
도 7에 도시된 바와 같이, 예를 들면, 입력 문구 블록 “weave”는 창(706)에 보여진다. 문구 블록 “weave”은 2개의 품사들을 가진다. 즉, 동사(제1 품사) 및 명사(제2 품사). 도 7은 제2 품사(“명사”)에 비해 제1 품사(“동사)가 지배적이고(단계(508): 예), 제1 품사가 하나의 정의를 가지는(단계(510): 예) 예를 도시한다. 도 7에서 도시된 바와 같이, 프로세스(500)의 단계(520)에 따르면, 제1 디스플레이 그룹(710)은 제1 정의: ” Form (fabric or a fabric item) by interfacing long threads in one direction with others at a right angle to them”와 하나의 사용 예: “Some thick mohairs can be difficult to weave”를 포함한다.
또한 도7은 프로세스(500)의 단계(522)에 따라 비-지배적 제2 품사(“명사”)에 대한 제2 디스플레이 그룹(720)을 도시한다. 도 7에 도시된 바와 같이, 제2 디스플레이 그룹은 2개의 정의들, 제1 정의: “A particular style or manner in which something is woven”, 및 제2 정의: “A hairstyle created by weaving pieces of real or artificial hair into a person's existing hair, typically in order to increase its length of thickness”을 디스플레이 한다. 도 7에 추가로 도시된 바와 같이, 제2 디스플레이 그룹(720)에서 제1 정의는 제2 정의 위에 배치되며, 이는 제1 정의가 제2 정의에 비해 더 높은 랭킹을 가지기 때문이다. 또한 도 7에 도시된 바와 같이, 품사 “명사”에 대한 제1 및 제2 정의들 각각은 사용 예를 가진다. 예를 들면, 제1 정의에 대한 사용 예는 “Scarlet cloth of a very fine weave”로 읽히고, 제2 정의에 대한 사용 예는 “Trailers show him with dyed blond hair and flowing blond weave”로 읽힌다. 또한 도 7은 제1 디스플레이 그룹(710)이 제2 디스플레이 그룹(720)위에 디스플레이 됨을 도시하며, 이는 제1 품사가 제2 품사에 비해 지배적이기 때문이다. 도7에서 추가로 도시된 바와 같이, 각 정의에 대응하는 사용 예는 대응하는 정의 바로 아래에 디스플레이된다.
추가로 도 7은 문구 블록 “weave”에 대한 번역된 텍스트를 도시한다. 도 7의 창(712)에 도시된 바와 같이, 번역들을 품사에 의해 그룹화 된다. 따라서, 예를 들면, 도 7의 창(712)은 제1 번역 디스플레이 그룹(730) 및 제2 번역 디스플레이 그룹(740)을 보여준다. 제2 품사(“명사”) 하에서의 아이템들 “el tejidon”, “la textura”는 제1 번역 디스플레이 그룹(730)에 배치된다. 제1 품사(“동사”) 하에서 그룹화된 아이템들 “tejer”, “entrelazar” 등은 제2 번역 디스플레이 그룹(740)에 배치된다. 도 7에 도시된 바와 같이, 제1 번역 디스플레이 그룹(730)은 제2 번역 디스플레이 그룹(740) 위에 디스플레이된다. 추가로, 도 7은 랭킹 그래픽(714)을 디스플레이하며, 이는 각 번역의 상대적인 사용 빈도를 보여준다. 또한 도 7은 창(708)에서 번역된 텍스트 아이템 “tejer”를 보여주며, 이는 그것이 이 예에서는 “동사”인 지배적 품사에 대해 가장 높은 상대적 사용 빈도를 가지기 때문이다.
도 8은 본 발명의 실시예들에 따르는 대표적인 프로세스(800)의 흐름도이다. 후술될 바와 같이, 도 8의 대표적인 프로세스(800)는 2 개 이상의 품사들을 가지는 문구 블록의 정의들 및 번역들을 디스플레이하기 위해 구현된다. 프로세스(800)는 서버(140) 및/또는 네트워크(130)에 엑세스할 필요 없이 클라이언트(110 또는 120)에서 구현된다. 추가적으로 또는 대안적으로, 프로세스(800)는 클라이언트들(110, 120) 및/또는 네트워크(130)에 엑세스할 필요 없이 서버(140)에서 구현될 수 있다. 일부 실시예들에서, 프로세스(800)는 클라이언트들(110, 120) 중 하나 이상 및/또는 네트워크(130)를 통해 통신하는 서버(140)를 사용하여 구현된다. 프로세스(800)에서 단계들의 순서 및 배치는 도시의 목적으로 제공된다. 본 발명으로부터 인식될 것과 같이, 수정들이 프로세스(800)에 예를 들면, 프로세스에 대한 단계들을 추가, 조합, 제거 및/또는 재정렬함으로써 가해질 수 있다.
도 8에서 도시된 바와 같이, 프로세스(800)는 입력(들)을 수신하는 단계(802)를 포함한다. 단계(802)에서 입력들을 수신하는 것은 번역을 위한 문구 블록의 입력을 수신하는 것, 소스 언어의 표시를 수신하는 것 및/또는 목적 언어의 표시를 수신하는 것을 포함한다. 프로세스(800)의 단계(802)에서 문구 블록의 입력을 수신하는 것은 프로세스(300)의 단계(302)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 프로세스(800)의 단계(802)에서 소스 언어의 표시를 수신하는 것 및 목적 언어의 표시를 수신하는 것은 프로세스(300)의 단계(302)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다.
또한 프로세스(800)는 문구 블록에 대한 품사를 결정하는 단계 및 상기 모든 품사에 대한 정의들 및 사용 예들을 결정하는 단계(804)를 포함한다. 단계(804)에서 품사를 결정하는 것은 프로세스(300)의 단계(304)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 또한, 프로세스(800)는 문구 블록에 대한 품사들의 수(즉, 품사들이 얼마나 많은지)를 결정하는 단계(806)를 포함한다.
또한 프로세스(800)는 품사들에 대한 정의들 및 사용 예들을 결정하는 단계(808)를 포함한다. 품사들에 대한 정의들을 결정하는 것은 프로세스(300)의 단계(306)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다. 추가로, 품사들에 대한 정의들에 대응하는 사용 예들을 결정하는 것은 프로세스(300)의 단계(306)와 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다.
또한, 프로세스(800)는 단계(802)에서 수신된 문구 블록을 번역하는 단계(810)를 포함한다. 단계(810)에서 문구 블록을 번역하는 것은 예를 들면, 단계(804)에서 결정된 품사들 각각에 대한 문구 블록에 대응하는 번역된 텍스트를 결정하는 것을 포함한다. 추가로, 단계(810)에서 문구 블록을 번역하는 것은 프로세스(300)의 단계(308)과 관련하여 상기 기술된 것과 유사한 프로세스들을 포함한다.
또한, 프로세스(800)는 품사들의 수가 1을 초과하는지 여부를 결정하는 단계(812)를 포함한다. 단계(812)에서 문구 블록에 대한 품사들의 수가 1을 초과하지 않음이 결정된 경우(단계(812): 아니오), 프로세스(800)는 프로세스(300)의 단계(316)로 진행하고, 프로세스(300)의 단계들(318 및 320)을 계속한다. 단계(812)에서 문구 블록에 대한 품사들의 수가 1을 초과함이 결정된 경우(단계(812): 예), 프로세스(800)는 문구 블록에 대한 품사들의 수가 2를 초과하는지 여부를 결정하는 단계(814)로 진행한다.
단계(814)에서 문구 블록에 대한 품사들의 수가 2를 초과하지 않음이 결정된 경우(단계(814): 아니오), 프로세스(800)는 프로세스(500)의 단계(508)로 지행하고, 프로세스(500)에서 남은 단계들을 계속한다. 단계(814)에서 문구 블록에 대한 품사들의 수가 2를 초과함이 결정된 경우(단계(814): 예), 프로세스(800)는 품사들을 제1 랭킹 순서로 랭킹하는 단계(816)로 진행한다. 단계(816)에서 품사들을 랭킹하는 것은 프로세스(500)의 단계(508)에 대해 상기 기술된 것과 유사한 프로세스들을 포함한다.
프로세스(800)는 단계(816)에서 결정된 랭킹 순서에 기초하여 품사들을 선택하는 단계(818)를 포함한다. 품사들을 선택하는 것은 더 높은 랭킹을 가지는 품사들을 선택하는 것을 포함한다. 일 대표적인 실시예에서, 단계(818)는 가장 높은 랭킹을 가지는 제1 품사, 두번째로 높은 랭킹을 가지는 제2 품사 및 세번째로 높은 랭킹을 가지는 제3 품사를 포함하는 3개의 품사들을 선택하는 것을 포함한다. 다른 대표적인 실시예에서, 임의의 수의 품사들이 제1 랭킹 순서에서 그들의 랭킹의 오름차순 또는 내림차순 순서로 선택된다.
프로세스(800)는 정의들 및 사용 예들과 함께 선택된 품사들을 디스플레이하는 단계(820)를 포함한다. 품사들 및 사용 예들을 디스플레이하는 것은 가장 높은 랭킹을 가지는 제1 품사를 최상단에 보여주는 것을 포함한다. 제1 품사에 대응하는 하나 이상의 정의들은 제1 품사 아래에 디스플레이된다. 디스플레이된 각각의 정의에 대응하는 하나 이상의 사용 예들은 각각 대응하는 정의 아래에 디스플레이 된다. 추가로, 다음으로 낮은 랭킹을 가지는 제2 품사는 제1 품사에 대한 마지막 사용 예 아래에 디스플레이된다. 추가적으로, 제2 품사에 대응하는 하나 이상의 정의들은 제2 품사 아래에 디스플레이된다. 추가로, 디스플레이된 각각의 정의에 대응하는 하나 이상의 사용 예들은 대등하는 정의 아래에 디스플레이된다. 추가적인 품사들 및 사용 예들은 품사들의 랭킹의 내림차순 순서에 따라 제2 품사에 대한 마지막 사용 예 아래에 유사한 방식으로 디스플레이된다. 디스플레이된 각각의 품사에 대응하는 정의들은 프로세스(500)의 단계들(512, 522, 526 및 534)와 관련하여 상기 기술된 것과 유사한 프로세스들을 사용하여 순서가 매겨진다. 일 대표적인 실시예에서, 3개의 품사들 각각에 대한 가장 높은 지배적(즉, 가장 높게 랭킹된) 정의를 가지는 품사와 함께 가장 높은 3개의 랭킹들을 가지는 단지 3개의 품사들 및 각 정의에 대한 하나의 사용 예가 디스플레이된다.
또한 프로세스(800)는 단계(820)에서 디스플레이하기 위해 선택된 품사들에 대한 번역된 텍스트를 디스플레이하는 단계(822)를 포함한다. 번역된 텍스트에서 아이템들은 프로세스(500)의 단계(516)와 관련하여 상기 기술된 것과 유사한 프로세스들을 사용하여 순서가 매겨지고 디스플레이된다.
도 9는 대표적인 사용자 인터페이스(900)를 도시하며, 문구 블록과 관련된 2개의 품사들이 있는 경우 문구 블록의 정의 및 번역들을 보여준다. 도 9에서 도시된 바와 같이, 디스플레이 부분들(902, 904), 창들(906, 908, 910, 912), 그래픽 화살표(916) 및 사용 그래픽(914)은 도 4의 대응 엘리먼트들과 관련하여 기술된 것과 유사한 구조들 및 기능들을 가진다.
예를 들면, 도 9에서 도시된 바와 같이, 입력 문구 블록 “set”이 창(906)에 보여진다. 문구 블록 “set”는 3개의 품사들을 가진다. 즉, 동사(제1 품사), 명사(제2 품사) 및 형용사(제3 품사). 도 9에서 제1 품사(“동사”)가 가장 지배적이고, 제3 품사(“형용사”)는 가장 적게 지배적이고, 제2 품사(“명사”)는 제1 품사보다는 덜 지배적이고 제3 품사보다는 더 지배적인 예를 도시한다. 도 9에서 도시된 바와 같이, 프로세스(800)의 단계(822)에 따라, 제1 디스플레이 그룹(910)은 제1 품사에 대한 하나의 정의: “Put, lay, or stand (something) in a specified place or position” 및 하나의 사용 예: “Dana set the mug of tea down”를 포함한다. 도 9에서 추가로 도시된 바와 같이, 프로세스(800)의 단계(822)에 따라, 제2 디스플레이 그룹(920)은 제2 품사(“명사”)에 대한 하나의 정의: “A group or collection of things that belong together, resemble…”, 및 하나의 사용 예: “Jackson died as he was preparing for a set of concerts in…”를 포함한다. 또한 도 9에서 도시된 바와 같이, 프로세스(800)의 단계822)에 따라, 제3 디스플레이 그룹(930)은 제3 품사(“형용사”)에 대한 하나의 정의: “Fixed or arranged in advance…” 및 하나의 사용 예: “There is no set procedure”를 포함한다. 도 9에서 도시된 바와 같이, 제1, 제2 및 제3 디스플레이 그룹들은 제1, 제2 및 제3 품사들의 랭킹의 내림차순 순서에서 다른 것 아래에 디스플레이되는 것이다.
추가로, 도 9는 분구 블록 “weave”에 대한 번역들을 도시한다. 도 9의 창(912)에 도시된 바와 같이, 번역들은 품사들에 의해 그룹화된다. 따라서, 예를 들면, 도 9의 창(912)은 제1 번역 디스플레이 그룹(950) 및 제2 번역 디스플레이 그룹(960)을 보여준다. 제2 품사(“명사”) 하에서 아이템들 “el conjunto”, “el serie” 등은 제1 번역 디스플레이 그룹(950)에 배치된다. 제1 품사(“동사”) 하에서 그룹화된 아이템들 “establecer”, “adjustar” 등은 제2 번역 디스플레이 그룹(960)에 배치된다. 도 9에서 도시된 바와 같이, 제1 번역 디스플레이 그룹(950)은 제2 번역 디스플레이 그룹(960) 위에 디스플레이된다. 제3 품사(“형용사”)에 대응하는 아이템들은 도 9에 도시되지 않았다. 일부 대표적인 실시예에서, 사용자는 예를 들면, 컴퓨터 마우스 또는 I/O디바이스들(220) 중 하나 이상을 사용하여 그래픽 화살표(916)를 클릭함으로써 “동사”에 대한 추가적인 번역된 텍스트 또는 제3 품사(“형용사”)에 대응하는 번역된 텍스트를 펼칠 수 있다(unfold). 또한 도 9는 랭킹 그래픽(914)를 디스플레이하고, 이는 각 번역의 상대적인 사용 빈도를 보여준다. 또한 도 9는 창(908)에 번역 “establecer”를 보여주며, 이는 그것이 이 예에서는 “동사”인 지배적 품사에 대한 가장 높은 상대적인 사용 빈도를 가지기 때문이다.
본 발명의 다른 실시예들은 본 명세서에 개시된 실시예들의 상세한 설명 및 실무의 고려로부터 통상의 기술자에게 명백해질 것이다. 본 발명의 진정한 범위 및 정신 및 대표적인 실시예들은 후속하는 청구항들에 의해 표시되며, 명세서 및 예시들은 단지 전형적인 것으로서 고려된 것으로 의도되었다.
예시적 실시예들은 본 발명이 통상의 기술자들에게 상세할 것이고 범위를 완전히 전하도록 제공된다. 다수의 특정 세부사항들이 본 발명의 실시예들의 완전한 이해를 제공하기 위해 특정 컴포넌트들, 디바이스들 및 방법들의 예시들과 같이 기재된다. 특정 세부사항들은 이용될 필요가 없고, 예시적 실시예들은 많은 서로 다른 형태들로 이용되고, 어느 것도 본 발명의 범위를 제한하도록 의도되지 않음이 통상의 기술자에게 명백할 것이다. 일부 예시적 실시예들에서, 공지된 절차들, 공지된 디바이스 구조들 및 공지된 기술들은 상세하게 기술되지 않았다.
본 명세서에서 사용된 용어들은 특정 예시적 실시예들을 기술하기 위한 목적이며, 제한될 것으로 의도되지 않았다. 본 명세서에서 사용된 바와 같이, 단수형들 “a', “an” 및 “the”는 문맥이 다르게 명백히 표시하지 않는 한 복수형들 또한 포함하도록 의도되었다. 용어 “및/또는”은 관련된 리스팅된 아이템들 중 하나 이상 중 임의의 또는 모든 조합들을 포함한다. 용어들 “포함하는” 및 “가지는”은 포괄적이며, 그러므로 언급된 구성들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하나, 하나 이상의 기타 구성들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 그것들의 그룹들의 존재 또는 추가를 배제하지 않는다. 본 명세서에 기술된 방법 단계들, 프로세스들 및 동작들은 수행의 순서로서 구체적으로 식별되지 않는 한, 논의되거나 도시된 특정 순서로 그들의 수행을 반드시 필요로 함으로서 고려되어서는 아니된다. 또한 추가적 또는 대안적 단계들이 이용될 수 있음이 이해되어야 한다.
용어들 제1, 제2, 제3 등이 본 명세서에서 다양한 엘리먼트들, 컴포넌트들, 영역들, 레이어들 및/또는 섹션들을 기술하기 위해 사용되었지만, 이들 엘리먼트들, 컴포넌트들, 영역들, 레이어들 및/또는 섹션들은 이들 용어들에 의해 제한되어서는 아니된다. 이들 용어들은 단지 하나의 엘리먼트, 컴포넌트, 영역, 레이어 또는 섹션을 다른 영역, 레이어 또는 섹션으로부터 구별하기 위해 사용되었다. 본 명세서에서 사용된 “제1”, “제2” 및 다른 숫자적 용어들과 같은 용어들은 문맥에 의해 명백히 표시되지 않는 한 시퀀스 또는 순서를 암시하지 않는다. 따라서, 이하 논의되는 제1 엘리먼트, 컴포넌트, 영역, 레이어 또는 섹션은 예시적 실시예들의 교시들로부터 벗어남 없이 제2 엘리먼트, 컴포넌트, 영역, 레이어 또는 섹션으로 호칭될 수 있다.
본 명세서에 사용된 바와 같이, 용어 모듈은: ASIC(Application Specific Integrated Circuit); 전자 회로; 조합 논리 회로; FPGA(Field programmable gate array); 프로세서 또는 프로세서들의 분산 네트워크(공유, 전용 또는 그룹핑된) 및 코드 또는 프로세스를 실행하는 네트워크화된 클러스터들 또는 데이터센서들에서의 스토리지; 또는 시스템-온-칩에서와 같은 상기의 것들 중 전부 또는 일부의 조합을 지칭하거나, 그 일부이거나, 이들을 포함한다. 또한 용어 모듈은 하나 이상의 프로세서들에 의해 실행되는 코드를 저장하는 메모리(공유, 전용 또는 그룹핑된)를 포함한다.
상기 사용된 것과 같은 용어 코드는 소프트웨어, 펌웨어, 바이트-코드 및/또는 마이크로코드를 포함하며, 프로그램들, 루틴들, 함수들, 클래스들 및/또는 오브젝트들을 지칭한다. 상기 사용된 것과 같은 용어 “공유된”은 다수의 모듈들로부터의 일부 또는 모든 코드는 단일의(공유된) 프로세서를 사용하여 실행될 수 있음을 의미한다. 추가로, 다수의 모듈들로부터의 일부 또는 모든 코드는 단일(공유된) 메모리에 의해 저장된다. 상기 사용된 것과 같은 용어 “그룹”은 단일의 모듈로부터의 일부 또는 모든 코드가 프로세서들의 그룹을 사용하여 실행될 수 있음을 의미한다. 추가로, 단일의 모듈로부터의 일부 또는 모든 코드는 메모리들의 그룹을 사용하여 저장된다.
본 명세서에 기술된 기법들은 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 컴퓨터 프로그램들에 의해 구현된다. 컴퓨터 프로그램은 프로세서-실행가능 명령어들을 포함하며, 상기 명령어들은 비-일시적 유형적 컴퓨터 판독가능 매체에 저장된다. 또한 컴퓨터 프로그램들은 저장된 데이터를 포함한. 비-일시적 유형적 컴퓨터 판독가능 매체의 비-제한적 예시들은 비휘발성 메모리, 자기 스토리지 및 광학 스토리지이다.
상기 기술의 일부 부분들은 정보에 관한 동작들의 알고리즘들 및 상징적 표현들에 관하여 본 명세서에 기술된 기법들을 제시한다. 이들 알고리즘적 기술들 및 표현들은 다른 통상의 기술자에게 그들의 성과의 실질을 가장 효율적으로 전달하기 위해 데이터 프로세싱 분야에서 숙련된 자들에 의해 사용되는 수단들이다. 기능적으로 또는 논리적으로 기술된 이들 동작들은 컴퓨터 프로그램들에 의해 구현될 것이 이해된다. 또한 추가로, 동작들의 이들 배치들을 모듈들로서 또는 기능적 명칭에 의해 지칭하는 것이 때로는 일관성을 잃지 않고 편리하다는 것이 증명되었다.
상기 논의로부터 명백한 것으로서 구체적으로 다르게 언급하지 않는 한, “프로세싱” 또는 “컴퓨팅” 또는 “계산하기” 또는 “결정하기” 또는 “디스플레이하기” 또는 이와 유사한 것과 같은 용어들을 활용하는 전체에 걸친 기술, 논의들은 컴퓨터 시스템의 액션 및 프로세스들 또는 유사한 전자 컴퓨팅 디바이스를 지칭하며, 이들은 컴퓨터 시스템 메모리들 또는 레지스터들 또는 기타 그러한 정보 스토리지, 전송 또는 디스플레이 디바이스 내에서 물리적(전자적) 양들로서 표현된 데이터를 조작하고 변형한다는 것이 인식된다.
기술된 기법들의 특정 양태들은 알고리즘의 형태로 본 명세서에 기술된 프로세스 단계들 및 명령어들을 포함한다. 기술된 프로세스 단계들 및 명령어들은 소프트웨어, 펌웨어 또는 하드웨어에 수록될 수 있으며, 소프트웨어에 수록된 경우, 실시간 네트워크 운영체제들에 의해 사용되는 다른 플랫폼들에 상주하기 위해 또는 거기에서 동작되도록 다운로드될 수 있음을 주목해야 한다.
또한, 본 발명은 본 명세서의 동작들을 수행하기 위한 장치와 관련된다. 이 장치는 필요한 목적들을 위해 특별히 구성되거나, 또는 컴퓨터에 의해 엑세스될 수 있는 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함한다. 상기 컴퓨터 프로그램은 플로피 디스크들, 광학 디스크들, CD-ROM들, 자기-광학 디스크들, ROM들(Read-Only Memories), RAM들(Random Access Memories), EPROM들, EEPROMS들, 자기 또는 광학 카드들, ASIC들(Application Specific Integrated Circuits) 포함하는 임의의 타입의 디스크 또는 전자적 명령어들을 저장하기에 적절하고 컴퓨터 시스템 버스에 각각 연결되는 임의의 타입의 매체와 같은, 다만 이에 제한되지 않는, 유형적 컴퓨터 판독가능 저장 매체에 저장된다. 추가로, 본 명세서에서 지칭된 컴퓨터들은 단일의 프로세서를 포함하거나 또는 컴퓨팅 능력을 증가시키기 위해 구성된 다수의 프로세서들을 이용하는 아키텍쳐들이다.
본 명세서에서 제시된 알고리즘들 및 동작들은 본질적으로 임의의 특정 컴퓨터 또는 기타 장치와 관련되지 않는다. 또한 다양한 범용 시스템들이 본 명세서의 교시들에 따라 프로그램들과 함께 사용될 수 있고 또는, 요구되는 방법 단계들을 수행하기 위해 더 특화된 장치들을 구성하는 것이 편리함이 증명될 수 있다. 다양한 이들 시스템들에 대해 요구되는 구조는 균등물들과 함께 통상의 기술자에게 분명해질 것이다. 추가로, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 기술되지 않았다. 다양한 프로그래밍 언어들이 본 명세서에 기술된 것과 같은 본 발명의 교시들을 구현하는데 사용될 수 있고, 특정 언어들에 대한 임의의 참조들이 본 발명의 실시가능성 및 최적 모드의 개시를 위해 제공된다.
본 발명은 다수의 토폴로지들에서 매우 다양한 컴퓨터 네트워크 시스템들에 적절하다. 이 분야에서, 대형 네트워크들의 구성 및 관리는 스토리지 디바이스들 및 컴퓨터들을 포함하며, 이들은 인터넷과 같은 네트워크 상에서 비유사한 컴퓨터들 및 저장 디바이스들에 통신적으로 연결된다.
실시예들의 앞의 기술은 도시 및 설명의 목적으로 제공되었다. 그것은 완전하다거나 발명을 제한하도록 의도되지 않았다. 특정 실시예의 개별적 엘리먼트들 또는 구성들은 일반적으로 그 특정 실시예들로 제한되지 않는다. 다만, 적용가능한 경우, 상호교환적이고, 구체적으로 도시되거나 기술되지 않았다고 하더라도 선택된 실시예에서 사용될 수 있다. 또한 동일한 것이 많은 박식들로 변화될 수 있다. 상기 변화들은 본 발명으로부터 벗어남으로 간주되지 않으며, 모든 상기 수정들은 본 발명의 범위 내에 포함되도록 의도되었다.

Claims (37)

  1. 문구 블록(phrase block)을 번역하기 위한 서버 시스템으로서,
    명령어들의 세트를 저장하는 메모리 디바이스; 및
    상기 명령어들을 실행하는 하나 이상의 프로세서들을 포함하며, 상기 명령어들은:
    번역에 대한 요청을 수신하고, 상기 요청은 문구 블록을 포함하며;
    상기 문구 블록의 품사들(parts of speech)을 식별하고;
    상기 소스 언어(source language)에서 상기 식별된 품사들에 대응하는 상기 문구 블록의 정의들을 결정하고;
    상기 소스 언어에서 상기 정의들에 대응하는 상기 문구 블록에 대한 사용 예들을 결정하고;
    상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어(target language)에서 번역된 텍스트로 번역하고, 상기 번역된 텍스트는 상기 문구 블록의 하나 이상의 번역들을 포함하며;
    상기 소스 언어에서 상기 품사들의 사용에 기초하여 제1 랭킹 순서(first rank order)로 상기 품사들을 랭킹하고;
    디스플레이 그룹들을 생성하고, 각 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 하나 이상의 정의 및 상기 정의들에 대응하는 하나 이상의 사용 예들을 포함하며;
    상기 제1 랭킹 순서에 기초하여 상기 디스플레이 그룹들에 대한 상기 순서를 결정하고; 그리고
    디바이스가 상기 디스플레이 그룹들을 상기 순서 및 상기 번역된 텍스트로 렌더링(rendering)하는데 충분한 정보를 전송하기 위한 명령어들을 포함하는 것을 특징으로 하는 서버 시스템.
  2. 청구항 1에 있어서,
    상기 디스플레이 그룹들을 생성하기 위해 상기 서버는:
    상기 소스 언어에서 상기 정의들의 사용에 기초하여 제2 랭킹 순서로 상기 품사에 대응하는 상기 정의들을 랭킹(ranking)하고; 그리고
    상기 제2 랭킹 순서에 따라 상기 각 디스플레이 그룹에서 상기 정의들을 정렬하는 것을 특징으로 하는 서버 시스템.
  3. 청구항 2에 있어서,
    상기 명령어들은 상기 서버의 상기 하나 이상의 프로세서들로 하여금:
    상기 클라이언트의 위치를 결정하게 하고; 그리고
    상기 위치에 기초하여 상기 정의들의 상기 사용을 결정하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 서버 시스템.
  4. 청구항 2에 있어서,
    상기 명령어들은 상기 서버의 상기 하나 이상의 프로세서들로 하여금:
    상기 클라이언트에 저장된 상기 문구 블록을 포함하는 텍스트적 컨텐츠를 검색하게 하고;
    상기 텍스트적 컨텐츠에서, 상기 정의들에 따라 상기 문구 블록의 사용의 빈도들을 결정하게 하고; 그리고
    상기 사용의 빈도들에 기초하여 상기 정의들을 랭킹하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 서버 시스템.
  5. 청구항 2에 있어서,
    상기 명령어들은 상기 서버의 상기 하나 이상의 프로세서들로 하여금:
    상기 번역된 텍스트에서 상기 품사에 대응하는 아이템들을 상기 목적 언어에서 상기 아이템들의 사용에 기초하여 제3 랭킹 순서로 랭킹하게 하고, 그리고
    상기 제3 랭킹 순서에 따라 상기 아이템들을 정렬하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 서버 시스템.
  6. 청구항 5에 있어서,
    상기 명령어들은 상기 클라이언트의 상기 하나 이상의 프로세서들로 하여금:
    상기 제3 랭킹 순서에서 결정된 바에 따라 상기 번역된 텍스트에서 아이템의 랭킹을 나타내는 랭킹 그래픽을 디스플레이하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 서버 시스템.
  7. 청구항 6에 있어서,
    상기 명령어들은 상기 클라이언트의 상기 하나 이상의 프로세서들로 하여금:
    상기 디스플레이의 제1 창에 상기 디스플레이 그룹들을 디스플레이하게 하고; 그리고
    상기 디스플레이의 제2 창에 상기 번역된 텍스트를 디스플레이하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 서버 시스템.
  8. 청구항 7에 있어서,
    상기 명령어들은 상기 클라이언트의 상기 하나 이상의 프로세서들로 하여금:
    상기 제1 창에 제1 그래픽 화살표를 디스플레이하게 하고;
    상기 제2 창에 제2 그래픽 화살표를 디스플레이하게 하고; 그리고
    상기 사용자가 상기 제1 그래픽 화살표 및 상기 제2 그래픽 화살표 중 적어도 하나에 엑세스하는 경우 더 많은 디스플레이 그룹들을 보이게 하기 위해 상기 제1 창을 펼쳐지게(unfold) 하는 명령어들을 더 포함하는 것을 특징으로 하는 서버 시스템.
  9. 컴퓨터로 구현되는, 문구 블록(phrase block)을 번역하기 위한 방법에 있어서, 상기 방법은 하나 이상의 프로세서들에 의해 수행되는 단계들을 포함하며, 상기 단계들은:
    클라이언트 디바이스로부터, 소스 언어(source language)로부터 목적 언어(target language)로 번역하기 위한 문구 블록을 수신하는 단계;
    상기 문구 블록에 대한 품사를 식별하는 단계;
    상기 소스 언어에서 상기 문구 블록의 정의를 결정하는 단계, 상기 정의는 상기 품사에 대응하며;
    상기 소스 언어에서 상기 문구 블록에 대한 사용 예를 결정하는 단계, 상기 사용 예는 상기 정의에 대응하며;
    상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어에서 번역된 텍스트로 번역하는 단계, 상기 번역된 텍스트는 상기 품사에 대응하며; 그리고
    상기 문구, 상기 품사, 상기 정의, 상기 사용 및 상기 번역된 텍스트의 디스플레이를 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 청구항 9에 있어서,
    상기 정의는 제1 정의이고, 상기 사용 예는 제1 사용 예이고, 상기 방법은:
    상기 소스 언어에서 상기 문구 블록의 제2 정의를 결정하는 단계, 상기 제2 정의는 상기 품사에 대응하며;
    상기 소스 언어에서 상기 문구 블록에 대한 제2 사용 예를 결정하는 단계, 상기 제2 사용 예는 상기 제2 정의에 대응하며;
    상기 소스 언어에서 상기 문구 블록의 사용에 기초하여 상기 제1 정의 및 상기 제2 정의를 제1 랭킹 순서로 랭킹하는 단계; 그리고
    상기 제1 랭킹 순서에 기초하여 상기 제1 정의, 상기 제1 사용 예, 상기 제2 정의 및 상기 제2 사용 예를 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 청구항 10에 있어서,
    상기 클라이언트 디바이스의 위치를 결정하는 단계; 그리고
    상기 위치에 기초하여 상기 정의들의 상기 사용을 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 청구항 10에 있어서,
    상기 클라이언트 디바이스에 저장된 컨텐츠로부터 상기 문구 블록을 포함하는 텍스트적 컨텐츠를 검색하는 단계; 그리고
    상기 텍스트적 컨텐츠에 기초하여 상기 정의들의 상기 사용을 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 청구항 10에 있어서,
    상기 사용을 결정하는 단계는:
    코퍼스(corpus)로부터의 컨텐츠에 엑세스하는 단계;
    상기 코퍼스에서 상기 문구 블록을 포함하는 목적 컨텐츠를 식별하는 단계;
    상기 제1 정의에 따라, 상기 목적 컨텐츠에서 상기 문구 블록의 사용의 제1 빈도를 결정하는 단계;
    상기 제2 정의에 따라, 상기 목적 컨텐츠에서 상기 문구 블록의 사용의 제2 빈도를 결정하는 단계; 그리고
    상기 제1 빈도 및 상기 제2 빈도에 기초하여 상기 제1 정의 및 상기 제2 정의를 랭킹하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 청구항 13에 있어서,
    상기 코퍼스는 문서들, 검색 로그들, 웹 페이지들 및 소셜 네트워크 컨텐츠 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 청구항 10에 있어서,
    상기 랭킹하는 단계는:
    상기 제1 정의 및 상기 제1 사용 예를 포함하는 제1 디스플레이 그룹을 생성하는 단계;
    상기 제2 정의 및 상기 제2 사용 예를 포함하는 제2 디스플레이 그룹을 생성하는 단계를 더 포함하며,
    상기 디스플레이하는 단계는:
    상기 제1 랭킹 순서에 기초하여 상기 제1 디스플레이 그룹 및 상기 제2 디스플레이 그룹을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 청구항 9에 있어서,
    상기 소스 언어에서 상기 문구 블록의 정의들을 결정하는 단계, 상기 정의들은 상기 품사에 대응하며;
    상기 소스 언어에서 상기 문구 블록에 대한 사용 예들을 결정하는 단계, 상기 사용 예들을 상기 정의들에 대응하며;
    상기 소스 언어에서 상기 정의들의 사용에 기초하여 상기 정의들을 제1 랭킹 순서로 랭킹하는 단계;
    디스플레이 그룹들을 생성하는 단계, 각 디스플레이 그룹은 상기 정의들로부터 선택된 정의, 상기 사용 예들로부터 선택된 사용 예를 포함하고, 상기 사용 예는 상기 정의에 대응하며; 그리고
    상기 제1 랭킹 순서에 기초하여 상기 디스플레이 그룹들을 디스플레이하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 청구항 16에 있어서,
    상기 목적 언어에서 상기 번역된 텍스트의 사용에 기초하여 상기 번역된 텍스트에서 아이템들을 제2 랭킹 순서로 랭킹하는 단계;
    상기 제2 랭킹 순서에 기초하여 상기 아이템들을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  18. 청구항 17에 있어서,
    상기 디스플레이에 2개의 디스플레이 그룹들을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  19. 컴퓨터로 구현되는, 문구 블록(phrase block)을 번역하는 방법에 있어서, 상기 방법은 하나 이상의 프로세서들에 의해 수행되는 단계들을 포함하며, 상기 단계들은:
    소스 언어로부터 목적 언어로 번역하기 위한 문구 블록을 수신하는 단계;
    상기 문구 블록에 대응하는 품사들을 식별하는 단계;
    상기 소스 언어에서 상기 품사들에 대응하는 상기 단어의 정의들을 결정하는 단계;
    상기 소스 언어에서 상기 정의들에 대응하는 상기 단어에 대한 사용 예들을 결정하는 단계;
    상기 품사들에 대응하는 상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어에서 번역된 텍스트로 번역하는 단계;
    상기 소스 언어에서 상기 품사들의 사용에 기초하여 상기 품사들을 상기 제1 랭킹 순서로 랭킹하는 단계;
    디스플레이 그룹들을 생성하는 단계, 각 디스플레이 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 정의들, 상기 정의들에 대응하는 사용 예들을 포함하고; 그리고
    디스플레이 디바이스에 상기 제1 랭킹 순서에 기초하여 상기 문구 블록 및 상기 디스플레이 그룹들을 제시하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  20. 청구항 19에 있어서,
    디스플레이 그룹들을 생성하는 단계는:
    상기 정의들의 사용에 기초하여 상기 품사에 대응하는 상기 정의들을 제2 랭킹 순서로 랭킹하는 단계; 그리고
    상기 제2 랭킹 순서에 따라 상기 각 디스플레이 그룹에서 상기 정의들을 정렬하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  21. 청구항 20에 있어서,
    디스플레이 그룹들을 생성하는 단계는:
    상기 번역된 텍스트에서 상기 품사에 대응하는 아이템들을 상기 목적 언어에서 상기 아이템들의 사용에 기초하여 제3 랭킹 순서로 랭킹하는 단계; 그리고
    상기 제3 랭킹 순서에 따라 상기 각 디스플레이 그룹에서 상기 아이템들을 정렬하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  22. 청구항 21에 있어서,
    상기 제3 랭킹 순서에서 결정된 바에 따라 상기 번역된 텍스트에서 각 아이템의 랭킹을 나타내는 랭킹 그래픽을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  23. 청구항 19에 있어서,
    상기 디스플레이의 제1 창에 상기 디스플레이 그룹들을 디스플레이하는 단계; 그리고
    상기 디스플레이의 제2 창에 상기 번역된 텍스트를 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  24. 청구항 20에 있어서,
    상기 제1 창에 제1 그래픽 화살표를 디스플레이하는 단계;
    상기 제2 창에 제2 그래픽 화살표를 디스플레이하는 단계; 그리고
    상기 사용자가 상기 제1 그래픽 화살표 및 상기 제2 그래픽 화살표 중 적어도 하나에 엑세스하는 경우 더 많은 디스플레이 그룹들을 보이게 하기 위해 상기 제1 창을 펼쳐지게 하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  25. 청구항 20에 있어서,
    상기 각 디스플레이 그룹은:
    상기 제2 랭킹 순서에서 가장 높은 랭킹을 가지는 제1 정의;
    상기 제2 랭킹 순서에서 두번째로 높은 랭킹을 가지는 제2 정의; 및
    상기 제1 정의 및 상기 제2 정의 각각에 대응하는 하나의 사용 예를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  26. 청구항 20에 있어서,
    상기 단어에 대한 품사들의 수를 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  27. 청구항 26에 있어서,
    상기 품사들의 수가 1인 경우 1개의 디스플레이 그룹을 디스플레이 하는 단계;
    상기 품사들의 수가 2인 경우 2개의 디스플레이 그룹들을 디스플레이하는 단계; 그리고
    상기 품사들의 수가 2를 초과하는 경우 3개의 디스플레이 그룹들을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  28. 청구항 27에 있어서,
    상기 1개의 디스플레이 그룹은 2개의 정의들을 포함하며, 상기 2개의 정의들은:
    상기 제2 랭킹 순서에서 가장 높은 랭킹을 가지는 제1 정의;
    상기 제2 랭킹 순서에서 두번째로 높은 랭킹을 가지는 제2 정의; 및
    상기 제1 정의 및 상기 제2 정의 각각에 대응하는 하나의 사용 예를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  29. 청구항 27에 있어서,
    상기 2개의 디스플레이 그룹들에서 제1 디스플레이 그룹은 상기 제1 랭킹 순서에서 제1 랭킹을 가지는 제1 품사를 포함하며;
    상기 2개의 디스플레이 그룹들에서 제2 디스플레이 그룹은 상기 제1 랭킹 순서에서 제2 랭킹을 가지는 제2 품사를 포함하며, 상기 제2 랭킹은 상기 제1 랭킹보다 낮으며; 그리고
    상기 방법은:
    상기 제1 디스플레이 그룹에서 정의들의 제1 수(first number)를 결정하는 단계; 그리고
    상기 제2 디스플레이 그룹에서 정의들의 제2 수(second number)를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  30. 청구항 27에 있어서,
    상기 품사들의 수가 2를 초과하는 경우, 상기 3개의 디스플레이 그룹들 각각은 최대 1개의 정의를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  31. 비-일시적 컴퓨터-판독가능 매체에 유형적으로 수록된 실행가능한 명령어들을 포함하는 컴퓨터 프로그램에 있어서, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    소스 언어(source language)로부터 목적 언어(target language)로 번역하기 위한 문구 블록을 수신하는 동작;
    상기 문구 블록에 대응하는 품사들을 식별하는 동작;
    상기 소스 언어에서 상기 품사들에 대응하는 상기 단어에 정의들을 결정하는 동작;
    상기 소스 언어에서 상기 정의들에 대응하는 상기 단어의 사용 예들을 결정하는 동작;
    상기 품사들에 대응하는 상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어에서 번역된 텍스트로 번역하는 동작;
    상기 소스 언어에서 상기 품사들의 사용에 기초하여 제1 랭킹 순서로 상기 품사들을 랭킹하는 동작;
    디스플레이 그룹들을 생성하는 동작, 각 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 정의들 및 상기 정의들에 대응하는 사용 예들을 포함하며;
    디스플레이 디바이스에서, 상기 제1 랭킹 순서에 기초하여 상기 문구 블록 및 상기 디스플레이 그룹들을 제시하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  32. 문구 블록을 번역하기 위한 클라이언트에 있어서, 상기 클라이언트는:
    명령어들의 세트를 저장하는 메모리 디바이스; 및
    상기 명령어들을 실행하는 하나 이상의 프로세서들을 포함하며, 상기 명령어들은:
    번역에 대한 요청을 수신하고, 상기 요청은 문구 블록을 포함하며;
    상기 문구 블록의 품사들을 식별하고;
    상기 소스 언어(source language)에서 상기 식별된 품사들에 대응하는 상기 문구 블록의 정의들을 결정하고;
    상기 소스 언어에서 상기 정의들에 대응하는 상기 문구 블록에 대한 사용 예들을 결정하고;
    상기 문구 블록을 상기 소스 언어로부터 상기 목적 언어(target language)에서 번역된 텍스트로 번역하고, 상기 번역된 텍스트는 상기 문구 블록의 하나 이상의 번역들을 포함하며;
    상기 소스 언어에서 상기 품사들의 사용에 기초하여 제1 랭킹 순서로 상기 품사들을 랭킹하고;
    디스플레이 그룹들을 생성하고, 각 그룹은 상기 품사들로부터 선택된 품사, 상기 품사에 대응하는 하나 이상의 정의 및 상기 정의들에 대응하는 하나 이상의 사용 예들을 포함하며,
    상기 제1 랭킹 순서에 기초하여 상기 디스플레이 그룹들에 대한 상기 순서를 결정하고; 그리고
    디스플레이 디바이스에서, 상기 디스플레이 그룹들을 상기 순서 및 상기 번역된 텍스트로 렌더링하기 위한 명령어들을 포함하는 것을 특징으로 하는 클라이언트.
  33. 청구항 32에 있어서,
    상기 명령어들은 상기 하나 이상의 프로세서로 하여금:
    상기 소스 언어에서 상기 정의들의 사용에 기초하여 제2 랭킹 순서로 상기 품사에 대응하는 상기 정의들을 랭킹하게 하고; 그리고
    상기 제2 랭킹 순서에 따라 상기 각 디스플레이 그룹에서 상기 정의들을 정렬하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 클라이언트.
  34. 청구항 33에 있어서,
    상기 명령어들은 상기 하나 이상의 프로세서로 하여금:
    상기 클라이언트에 저장된 상기 문구 블록을 포함하는 텍스트적 컨텐츠를 검색하게 하고;
    상기 텍스트적 컨텐츠에서, 상기 정의들에 따라 상기 문구 블록의 사용의 빈도들을 결정하게 하고; 그리고
    상기 사용의 빈도들에 기초하여 상기 정의들을 랭킹하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 클라이언트.
  35. 청구항 34에 있어서,
    상기 명령어들은 상기 서버의 상기 하나 이상의 프로세서로 하여금:
    상기 번역된 텍스트에서 상기 품사에 대응하는 아이템들을 상기 목적 언어에서 상기 아이템들의 사용에 기초하여 제3 랭킹 순서로 랭킹하게 하고; 그리고
    상기 제3 랭킹 순서에 따라 상기 아이템들을 정렬하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 클라이언트.
  36. 청구항 35에 있어서,
    상기 명령어들은 상기 클라이언트의 상기 하나 이상의 프로세서로 하여금:
    상기 제3 랭킹 순서에서 결정된 바에 따라 상기 번역된 텍스트에서 아이템의 랭킹을 나타내는 랭킹 그래픽을 디스플레이하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 클라이언트.
  37. 청구항 36에 있어서,
    상기 명령어들은 상기 클라이언트의 상기 하나 이상의 프로세서로 하여금:
    상기 디스플레이의 제1 창에 상기 디스플레이 그룹들을 디스플레이하게 하고; 그리고
    상기 디스플레이의 제2 창에 상기 번역된 텍스트를 디스플레이하게 하는 명령어들을 더 포함하는 것을 특징으로 하는 클라이언트.
KR1020167018507A 2013-12-09 2014-12-08 텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들 KR20160096177A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361913532P 2013-12-09 2013-12-09
US61/913,532 2013-12-09
PCT/US2014/069136 WO2015088985A2 (en) 2013-12-09 2014-12-08 Systems and methods for providing context based definitions and translations of text
US14/563,584 US20150161115A1 (en) 2013-12-09 2014-12-08 Systems and methods for providing context based definitions and translations of text
US14/563,584 2014-12-08

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187016254A Division KR20180067720A (ko) 2013-12-09 2014-12-08 텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들

Publications (1)

Publication Number Publication Date
KR20160096177A true KR20160096177A (ko) 2016-08-12

Family

ID=53271347

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167018507A KR20160096177A (ko) 2013-12-09 2014-12-08 텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들
KR1020187016254A KR20180067720A (ko) 2013-12-09 2014-12-08 텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187016254A KR20180067720A (ko) 2013-12-09 2014-12-08 텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들

Country Status (6)

Country Link
US (1) US20150161115A1 (ko)
EP (1) EP3080715A2 (ko)
JP (1) JP2017504876A (ko)
KR (2) KR20160096177A (ko)
CN (1) CN105814557A (ko)
WO (1) WO2015088985A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740687B2 (en) 2014-06-11 2017-08-22 Facebook, Inc. Classifying languages for objects and entities
US9864744B2 (en) 2014-12-03 2018-01-09 Facebook, Inc. Mining multi-lingual data
US10067936B2 (en) 2014-12-30 2018-09-04 Facebook, Inc. Machine translation output reranking
US9830386B2 (en) 2014-12-30 2017-11-28 Facebook, Inc. Determining trending topics in social media
US9830404B2 (en) 2014-12-30 2017-11-28 Facebook, Inc. Analyzing language dependency structures
US9477652B2 (en) 2015-02-13 2016-10-25 Facebook, Inc. Machine learning dialect identification
CN104731776B (zh) * 2015-03-27 2017-12-26 百度在线网络技术(北京)有限公司 翻译信息的提供方法及系统
US10963651B2 (en) * 2015-06-05 2021-03-30 International Business Machines Corporation Reformatting of context sensitive data
RU2607989C1 (ru) * 2015-07-08 2017-01-11 Закрытое акционерное общество "МНИТИ" (сокращенно ЗАО "МНИТИ") Способ автоматизированного определения языка или языковой группы текста
US9734142B2 (en) * 2015-09-22 2017-08-15 Facebook, Inc. Universal translation
US9881003B2 (en) * 2015-09-23 2018-01-30 Google Llc Automatic translation of digital graphic novels
US9678954B1 (en) 2015-10-29 2017-06-13 Google Inc. Techniques for providing lexicon data for translation of a single word speech input
US10133738B2 (en) 2015-12-14 2018-11-20 Facebook, Inc. Translation confidence scores
US9734143B2 (en) 2015-12-17 2017-08-15 Facebook, Inc. Multi-media context language processing
US10002125B2 (en) 2015-12-28 2018-06-19 Facebook, Inc. Language model personalization
US9805029B2 (en) 2015-12-28 2017-10-31 Facebook, Inc. Predicting future translations
US9747283B2 (en) 2015-12-28 2017-08-29 Facebook, Inc. Predicting future translations
US9805030B2 (en) * 2016-01-21 2017-10-31 Language Line Services, Inc. Configuration for dynamically displaying language interpretation/translation modalities
US10902221B1 (en) 2016-06-30 2021-01-26 Facebook, Inc. Social hash for language models
US10902215B1 (en) 2016-06-30 2021-01-26 Facebook, Inc. Social hash for language models
US10191903B2 (en) * 2016-09-30 2019-01-29 Microsoft Technology Licensing, Llc Customized and contextual translated content for travelers
JP7000671B2 (ja) 2016-10-05 2022-01-19 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
US10180935B2 (en) 2016-12-30 2019-01-15 Facebook, Inc. Identifying multiple languages in a content item
JP7012240B2 (ja) * 2017-02-02 2022-01-28 ランゲージ ディスカバリー エルティーディー 多言語交流システムおよびメッセージ送信方法
US10380249B2 (en) 2017-10-02 2019-08-13 Facebook, Inc. Predicting future trending topics
JP7434978B2 (ja) * 2020-02-10 2024-02-21 トヨタ自動車株式会社 情報処理装置、情報処理方法、及び、プログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844719A (ja) * 1994-06-01 1996-02-16 Mitsubishi Electric Corp 辞書アクセスシステム
JPH10105556A (ja) * 1996-09-27 1998-04-24 Sharp Corp 電子式辞書および情報表示方法
JP3398078B2 (ja) * 1998-12-28 2003-04-21 シャープ株式会社 辞書機能を有する電子機器
US20070265834A1 (en) * 2001-09-06 2007-11-15 Einat Melnick In-context analysis
US20030160830A1 (en) * 2002-02-22 2003-08-28 Degross Lee M. Pop-up edictionary
US20050171760A1 (en) * 2003-10-08 2005-08-04 Marc Tinkler Visual thesaurus
US20070026375A1 (en) * 2005-08-01 2007-02-01 Dewey Russell H Electronic study aid and practice aid
JP5241828B2 (ja) * 2007-06-14 2013-07-17 グーグル・インコーポレーテッド 辞書の単語及び熟語の判定
US20090299732A1 (en) * 2008-05-29 2009-12-03 Nokia Corporation Contextual dictionary interpretation for translation
US9081765B2 (en) * 2008-08-12 2015-07-14 Abbyy Infopoisk Llc Displaying examples from texts in dictionaries
US8250071B1 (en) * 2010-06-30 2012-08-21 Amazon Technologies, Inc. Disambiguation of term meaning
US8645364B2 (en) * 2010-12-13 2014-02-04 Google Inc. Providing definitions that are sensitive to the context of a text
US9235566B2 (en) * 2011-03-30 2016-01-12 Thinkmap, Inc. System and method for enhanced lookup in an online dictionary
US20120297294A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Network search for writing assistance
US8386477B1 (en) * 2011-11-30 2013-02-26 Google Inc. System and method for determining user language intent
US20130159847A1 (en) * 2011-12-14 2013-06-20 International Business Machines Corporation Dynamic Personal Dictionaries for Enhanced Collaboration
US9613026B2 (en) * 2011-12-28 2017-04-04 Bloomberg Finance L.P. System and method for interactive automatic translation
US20130275120A1 (en) * 2012-04-11 2013-10-17 Lee Michael DeGross Process for a Signified Correct Contextual Meaning Sometimes Interspersed with Complementary Related Trivia
KR20140030361A (ko) * 2012-08-27 2014-03-12 삼성전자주식회사 휴대단말기의 문자 인식장치 및 방법
US20140278349A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Language Model Dictionaries for Text Predictions

Also Published As

Publication number Publication date
CN105814557A (zh) 2016-07-27
WO2015088985A3 (en) 2015-08-20
KR20180067720A (ko) 2018-06-20
EP3080715A2 (en) 2016-10-19
US20150161115A1 (en) 2015-06-11
WO2015088985A2 (en) 2015-06-18
JP2017504876A (ja) 2017-02-09

Similar Documents

Publication Publication Date Title
KR20160096177A (ko) 텍스트의 문맥 기반 정의들 및 번역들을 제공하기 위한 시스템들 및 방법들
RU2683507C2 (ru) Извлечение значений атрибутов на основе идентифицированных записей
AU2008312423B2 (en) NLP-based content recommender
Jones et al. Geographic intention and modification in web search
US20180081880A1 (en) Method And Apparatus For Ranking Electronic Information By Similarity Association
US9069843B2 (en) Iterative refinement of search results based on user feedback
US8316007B2 (en) Automatically finding acronyms and synonyms in a corpus
US10552539B2 (en) Dynamic highlighting of text in electronic documents
US9129009B2 (en) Related links
US9519703B2 (en) Refining search results for a compound search query
US20120233160A1 (en) System and method for assisting a user to identify the contexts of search results
US20120303664A1 (en) Enabling multidimensional search on non-pc devices
US11748429B2 (en) Indexing native application data
US20200159765A1 (en) Performing image search using content labels
US20170193119A1 (en) Add-On Module Search System
US20130138423A1 (en) Contextual search for modeling notations
US10546029B2 (en) Method and system of recursive search process of selectable web-page elements of composite web page elements with an annotating proxy server
US9135313B2 (en) Providing a search display environment on an online resource
EP2026216A1 (en) Data processing method, computer program product and data processing system
AU2014200878B2 (en) Identifying contextual results within associative memory
US20160140188A1 (en) Systems, methods, and computer-readable media for searching tabular data
Ramachandran et al. Data Albums: An Event Driven Search, Aggregation and Curation Tool for Earth Science
US20170052966A1 (en) Translating search engine

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment