KR20230146166A - 실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템 - Google Patents

실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템 Download PDF

Info

Publication number
KR20230146166A
KR20230146166A KR1020220044584A KR20220044584A KR20230146166A KR 20230146166 A KR20230146166 A KR 20230146166A KR 1020220044584 A KR1020220044584 A KR 1020220044584A KR 20220044584 A KR20220044584 A KR 20220044584A KR 20230146166 A KR20230146166 A KR 20230146166A
Authority
KR
South Korea
Prior art keywords
translation
language
web content
database
unit
Prior art date
Application number
KR1020220044584A
Other languages
English (en)
Inventor
서영실
Original Assignee
카페24 주식회사
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 카페24 주식회사 filed Critical 카페24 주식회사
Priority to KR1020220044584A priority Critical patent/KR20230146166A/ko
Publication of KR20230146166A publication Critical patent/KR20230146166A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/2358Change logging, detection, and notification
    • 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/25Integrating or interfacing systems involving database management systems
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • 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/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템에 관한 것으로서, 보다 구체적으로는, 실시간 웹 서비스 콘텐츠에 사용되는 각종 텍스트 콘텐츠의 내용을 한 언어에서 다른 언어로 번역함에 있어 기계번역과 사용자 참여 번역의 양호한 측면만을 취합하여 운용할 수 있도록 하는 방법 및 시스템에 대한 것이다. 상기 방법은, 언어 정보를 포함하는 웹 콘텐츠 요청을 사용자로부터 수신하고, 요청이 제1 언어 또는 제2 언어 중 어느 하나에 대한 것인지 식별하고, 제1 언어에 대한 요청인 경우, 상기 제1 언어로 작성된 적어도 하나의 원문을 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제1 언어로 작성된 원문을 삽입하고, 제 2 언어에 대한 요청인 경우, 상기 제 2 언어로 작성된 적어도 하나의 번역문을 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제 2 언어로 작성된 번역문을 삽입하는 단계를 포함할 수 있다.

Description

실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템 {METHOD AND SYSTEM FOR CORRECTING TRANSLATED PARAGRAPHS ON REAL-TIME WEB SERVICE}
본 발명은 실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템에 관한 것으로서, 보다 구체적으로는, 실시간 웹 서비스 콘텐츠에 사용되는 각종 텍스트 콘텐츠의 내용을 한 언어에서 다른 언어로 번역함에 있어 기계번역과 사용자 참여 번역의 양호한 측면만을 취합하여 운용할 수 있도록 하는 방법 및 시스템에 대한 것이다.
인터넷 상의 정보를 열람하는 데 있어서, 작성 언어는 주요한 장애물로 작용한다. 모국어 또는 구사 언어로 작성되지 않은 웹 서비스 콘텐츠는, 설령 기술적으로 접속 가능하더라도, 실질적으로 의미가 없게 되기 때문이다.
이러한 한계를 극복하기 위하여 번역이 사용되며, 특히 종래에 다양한 종류의 번역 방법이 제시되어 있다. 그 중 다수는 인공지능 등 컴퓨터화된 장치에 기반한 방법으로써, 사람의 개입이 없이도 웹 서비스 콘텐츠의 수요자가 요청하는 다양한 언어의 콘텐츠를 번역하여 제공하고자 하는 목적을 가진다.
그러나 아무리 정교한 자동 번역 수단을 제공하더라도, 그 정확도를 보장하는 데에는 한계가 있을 수밖에 없다. 이에 사람이 자동 번역된 문장을 읽고 바른 문장으로 교정하는 행위를 통해 보다 나은 질의 번역문을 제공하고자 하는 방법들이 제안되어 왔다. 이를 실제로 실시간 제공되는 인터넷 웹 서비스 콘텐츠 상에서 어떻게 구현할지에 대해서는 다양한 과제들이 남아 있다.
본 발명에서는 상기한 바와 같이 교정 동작에 대응하는 자동화된 번역 방법 및 그에 따른 시스템을 제공하고자 한다. 특히, 사용자가 실시간으로 열람 중인 콘텐츠를 어떻게 사용자로 하여금 수정하도록 할 것인지, 이에 관련된 정보처리를 어떠한 절차에 의하여 수행할 것인지, 문장을 교정하는 방법은 어떻게 적용할 것인지와 같은 과제들을 해결하고자 한다.
상기한 과제의 해결을 위한 본 발명의 일 양태에 따른 서버 컴퓨터 장치에 의해 다국어 웹 콘텐츠를 제공하는 방법은, 적어도 하나의 제1 언어로 작성된 원문마다 적어도 하나의 제 2 언어로 작성된 번역문을 연관시키는 관계형 데이터베이스를 구성하는 단계(상기 각각의 번역문에는 가중치가 부여됨), 언어 정보를 포함하는 웹 콘텐츠 요청을 사용자로부터 수신하는 단계, 웹 콘텐츠 템플릿을 로드하는 단계, 상기 요청이 제1 언어 또는 제2 언어 중 어느 하나에 대한 것인지 식별하는 단계, 제1 언어에 대한 요청인 경우, 상기 제1 언어로 작성된 적어도 하나의 원문을 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제1 언어로 작성된 원문을 삽입하는 단계, 제 2 언어에 대한 요청인 경우, 상기 제 2 언어로 작성된 적어도 하나의 번역문을 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제 2 언어로 작성된 번역문을 삽입하는 단계, 및 상기 콘텐츠를 상기 사용자에게 표시하는 단계를 포함할 수 있다.
상기 제2 언어로 작성된 번역문을 데이터베이스로부터 불러오는 단계는, 상기 데이터베이스에 상기 번역문이 적어도 하나 존재하는지 확인하는 단계, 적어도 하나의 번역문이 존재하는 경우, 상기 적어도 하나의 번역문 중 가중치가 가장 높게 부여된 번역문을 획득하는 단계, 번역문이 존재하지 않는 경우, 제1 언어로 작성된 원문을 제2 언어로 기계번역한 번역문을 획득하고, 상기 번역문을 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하는 단계, 및 상기 획득된 번역문을 제2 언어로 작성된 번역문으로서 불러오는 단계를 포함할 수 있다.
상기 웹 콘텐츠 템플릿은, 적어도 하나의 웹 문서 구성 요소와 적어도 하나의 문단 식별 부호를 포함하고, 상기 데이터베이스는 상기 문단 식별 부호를 상기 제1 언어로 작성된 원문 및 제2 언어로 작성된 번역문을 식별하는 데 사용하고, 상기 데이터베이스부에서 동일한 제1 언어 원문은 동일한 문단 식별 부호를 공유하도록 구성될 수 있다.
상기 웹 콘텐츠 템플릿에 원문 또는 번역문을 삽입하는 단계는, 상기 웹 콘텐츠 템플릿의 문단 식별 부호에 대응하는 상기 원문 또는 상기 번역문을 상기 문단 식별 부호를 대체하여 삽입함으로써, 상기 웹 문서 구성 요소와 상기 원문 또는 상기 번역문이 결합되어 웹 콘텐츠를 형성하도록 하는 단계일 수 있다.
상기 다국어 웹 콘텐츠를 제공하는 방법은, 상기 사용자로부터 수정된 번역문을 입력받는 단계, 및 상기 수정된 번역문을 상기 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
상기 수정된 번역문을 데이터베이스에 저장하는 단계는, 상기 데이터베이스에서 수정되기 이전 번역문의 가중치를 하향하는 단계, 상기 데이터베이스에 상기 수정된 번역문과 동일한 번역문이 존재하는지 확인하는 단계, 동일한 번역문이 존재하는 경우, 상기 데이터베이스에서 해당 번역문의 가중치를 상향하는 단계, 및 동일한 번역문이 존재하지 않는 경우, 상기 번역문을 상기 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하는 단계를 포함할 수 있다.
상기 수정된 번역문을 데이터베이스에 저장하는 단계는, 상기 데이터베이스에 저장된 번역문의 가중치가 소정의 임계값 이하가 되는 경우, 상기 데이터베이스에서 해당 번역문을 삭제하는 단계를 더 포함할 수 있다.
상기 사용자로부터 수정된 번역문을 입력받는 단계는, 상기 사용자에게 제1 언어로 된 원문과 제2 언어로 된 번역문을 함께 표시하는 단계, 상기 제2 언어로 된 번역문을 사용자가 수정할 수 있도록 제공하는 단계, 및 상기 사용자가 수정한 번역문을 입력으로 획득하는 단계를 포함할 수 있다.
상기 사용자로부터 수정된 번역문을 입력받는 단계는, 상기 제2 언어로 된 수정된 번역문을 제1 언어로 기계 번역한 역번역문을 더 표시하는 단계, 또는 상기 제2 언어로 수정된 번역문을 제1 언어로 기계 번역한 뒤 다시 제2 언어로 기계 번역한 2차 역번역문을 더 표시하는 단계 중 적어도 하나의 단계를 더 포함할 수 있다.
상기 제2 언어로 된 번역문을 사용자가 수정할 수 있도록 제공하는 단계는, 상기 웹 콘텐츠 템플릿에 원문 또는 번역문을 삽입하는 단계에서 상기 번역문을 WYSIWYG 편집기의 형태로 제공함에 따라 동작할 수 있다.
상기한 과제의 해결을 위한 본 발명의 일 양태에 따른 다국어 웹 콘텐츠를 제공하는 시스템은, 서버 장치와 클라이언트 장치로 구성될 수 있다.
상기 서버 장치는, 데이터베이스부, 웹 콘텐츠 템플릿 저장소, 웹 콘텐츠 수신부, 웹 콘텐츠 합성부, 웹 콘텐츠 출력부를 포함하고, 상기 데이터베이스부는, 적어도 하나의 제1 언어로 작성된 원문마다 적어도 하나의 제 2 언어로 작성된 번역문을 연관시키고, 상기 각각의 번역문에는 가중치가 부여되어 있고, 상기 웹 콘텐츠 템플릿 저장소는, 적어도 하나의 웹 콘텐츠에 대한 템플릿 정보를 저장하고, 상기 수신부는, 언어 정보를 포함하는 웹 콘텐츠 요청을 사용자로부터 수신하고, 상기 웹 콘텐츠 합성부는, 상기 요청된 웹 콘텐츠 템플릿을 로드하고, 상기 요청이 제1 언어 또는 제2 언어 중 어느 하나에 대한 것인지 식별하고, 제1 언어에 대한 요청인 경우, 상기 제1 언어로 작성된 적어도 하나의 원문을 상기 데이터베이스부의 관계형 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제1 언어로 작성된 원문을 삽입하고, 제 2 언어에 대한 요청인 경우, 상기 제 2 언어로 작성된 적어도 하나의 번역문을 상기 데이터베이스부의 관계형 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제 2 언어로 작성된 번역문을 삽입하고, 상기 어느 하나의 삽입의 결과로써 합성된 웹 콘텐츠를 획득하고, 그리고 상기 웹 콘텐츠 출력부는 상기 합성된 웹 콘텐츠를 상기 사용자에게 전송하도록 구성될 수 있다.
상기 클라이언트 장치는, 통신부 및 표시부를 포함하고, 상기 통신부는, 상기 서버 장치에 제1 언어 또는 제2 언어 중 적어도 하나의 언어 정보를 포함하는 웹 콘텐츠 요청을 송신하고, 상기 서버 장치로부터 합성된 웹 콘텐츠를 수신하고, 상기 표시부는, 상기 수신된 웹 콘텐츠를 사람이 식별 가능한 형태로 해석하여 출력하도록 구성될 수 있다.
상기 웹 콘텐츠 합성부는, 상기 제2 언어로 작성된 번역문을 불러오는 데 있어서, 상기 데이터베이스부의 관계형 데이터베이스에 상기 번역문이 적어도 하나 존재하는지 확인하고, 적어도 하나의 번역문이 존재하는 경우, 상기 적어도 하나의 번역문 중 가중치가 가장 높게 부여된 번역문을 획득하고, 번역문이 존재하지 않는 경우, 제1 언어로 작성된 원문을 제2 언어로 기계번역한 번역문을 획득하고, 상기 번역문을 상기 데이터베이스부의 관계형 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하고, 그리고 상기 획득된 번역문을 제2 언어로 작성된 번역문으로서 불러오도록 구성될 수 있다.
상기 웹 콘텐츠 템플릿은, 적어도 하나의 웹 문서 구성 요소와 적어도 하나의 내용 문단을 포함하고, 상기 각각의 내용 문단은 문단 식별 부호로 대체되고, 상기 문단 식별 부호는 상기 상기 데이터베이스부에 의하여 상기 제1 언어로 작성된 원문 및 제2 언어로 작성된 번역문을 식별하는 데 사용될 수 있다.
상기 웹 콘텐츠 합성부는, 상기 웹 콘텐츠 템플릿의 문단 식별 부호에 대응하는 상기 원문 또는 상기 번역문을 상기 문단 식별 부호를 대체하여 삽입함으로써, 상기 웹 문서 구성 요소와 상기 원문 또는 상기 번역문이 결합되어 웹 콘텐츠를 형성하도록 구성될 수 있다.
상기 클라이언트 장치는, 상기 사용자로부터 수정된 번역문을 입력받는 입력부를 더 포함하고, 상기 표시부는, 상기 사용자에게 제1 언어로 된 원문과 제2 언어로 된 번역문을 함께 표시하고, 상기 제2 언어로 된 번역문을 사용자가 수정할 수 있도록 제공하고, 상기 입력부는, 상기 사용자가 수정한 번역문을 입력으로 획득하도록 구성되고, 상기 통신부는, 상기 수정된 번역문을 상기 서버 장치로 전송하도록 구성될 수 있다.
상기 서버 장치의 수신부는, 상기 클라이언트 장치로부터 상기 수정된 번역문을 수신하고, 상기 데이터베이스부는, 상기 수신부가 수신한 수정된 번역문을 관계형 데이터베이스에 저장하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
상기 데이터베이스부는, 상기 수정된 번역문을 관계형 데이터베이스에 저장함에 있어서, 상기 관계형 데이터베이스에서 수정되기 이전 번역문의 가중치를 하향하고, 상기 관계형 데이터베이스에 상기 수정된 번역문과 동일한 번역문이 존재하는지 확인하고, 동일한 번역문이 존재하는 경우, 상기 관계형 데이터베이스에서 해당 번역문의 가중치를 상향하고, 동일한 번역문이 존재하지 않는 경우, 상기 번역문을 상기 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하도록 구성될 수 있다.
상기 데이터베이스부는, 상기 관계형 데이터베이스에 저장된 번역문의 가중치가 소정의 임계값 이하가 되는 경우, 상기 관계형 데이터베이스에서 해당 번역문을 삭제하도록 구성될 수 있다.
상기 표시부는, 상기 제2 언어로 된 수정된 번역문을 제1 언어로 기계 번역한 역번역문, 및/또는 상기 제2 언어로 수정된 번역문을 제1 언어로 기계 번역한 뒤 다시 제2 언어로 기계 번역한 2차 역번역문 중 적어도 하나를 더 표시하도록 구성될 수 있다.
상기 입력부는, WYSIWYG 편집기의 형태로 제공될 수 있다.
본 발명의 일 측면에 따르면, 본 발명을 웹 서비스에 적용하는 경우, 모국어가 아닌 콘텐츠를 열람하는 사용자가 표시된 콘텐츠의 번역문을 편리하게 수정 및/또는 교정하여 제안할 수 있으며, 그 결과물을 효율적으로 서버 컴퓨터 장치에 의하여 관리할 수 있다. 또한 본 발명의 다른 일 측면에 따르면, 번역의 수정 및/또는 교정 과정을 자동화하는 것 또한 가능하다.
도 1은 본 발명의 제1 실시예에 따른 실시간 웹 서비스에서의 번역문 제공 방법을 나타내는 순서도이고,
도 2는 본 발명의 제2 실시예에 따른 실시간 웹 서비스에서의 번역문 제공 방법을 나타내는 순서도이고,
도 3은 본 발명의 일 양태에 따른 웹 서비스 콘텐츠의 개념도이고,
도 4는 본 발명의 일 양태에 따른 웹 서비스 콘텐츠 템플릿의 개념도이고,
도 5는 본 발명의 일 양태에 따른 번역 문단 데이터베이스의 개념도이고,
도 6은 본 발명의 일 양태에 따른 번역된 웹 서비스 콘텐츠의 개념도이고,
도 7은 본 발명의 제1 실시예에 따른 번역 수정을 위한 사용자 표시 화면에 대한 예시도이고,
도 8은 본 발명의 제1 실시예에 따른 번역 수정을 위한 사용자 표시 화면에 대한 다른 예시도이고,
도 9는 본 발명의 제1 실시예에 따른 번역 문단 데이터베이스를 가중치 기반의 관계형 데이터베이스로 구성하는 실시예의 개념도이고,
도 10은 본 발명의 제1 실시예에 따른 번역 문단 데이터베이스를 단일 관계형 데이터베이스로 구성하는 실시예의 개념도이고,
도 11은 본 발명의 제1 실시예에 따른 번역문의 가중치 조정에 대한 개념도이고,
도 12는 본 발명의 제1 실시예로부터 확장된 실시예에 따른 번역문의 처리 및 출력 과정을 나타내는 개념도이고,
도 13은 본 발명의 제1 실시예로부터 확장된 실시예에 따른 번역 수정을 위한 사용자 표시 화면에 대한 예시도이고,
도 14는 본 발명의 제2 실시예로부터 확장된 실시예에 따른 번역문의 처리 및 출력 과정을 나타내는 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 출원에서 발명을 설명함에 있어 "장치"라는 용어를 사용하는 경우, 이는 장치로서 구현될 수 있는 본 발명의 어떠한 기능을 설명하기 위한 실시예를 설명하기 위한 것이며, 반드시 해당 장치의 기능이 독립적인 단일 장치로서 구현되어야 함을 의미하지 않는다. 하나의 장치는 동일한 기능을 수행하는 복수의 장치로 구현될 수도 있으며, 반대로 복수의 장치 기능을 동시에 수행하기 위한 하나의 장치가 설치될 수도 있다. 어떤 장치의 기능은 소프트웨어적 수단을 통해 다른 장치에 의해 또는 일반적 컴퓨터 및 정보처리 장치에 의해서 구현될 수 있다. 또한 복수의 장치가 사용되는 경우 각각의 장치는 통신에 의해서만 연결되고 물리적 공간에서는 이격되어 있을 수 있다. 이는 동일한 기술적 사상을 구현하기 위하여 정보통신 기술 분야에 익숙한 통상의 기술자가 취할 수 있는 다양한 실시예의 영역이므로, 여하의 상세한 구현 방법은 모두 본 출원상 발명의 기술적 사상 영역에 포함되는 것으로 해석되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명은 웹 서비스 콘텐츠를 제공하는 서버에 대한 것으로, 본 발명에 의한 웹 서비스 콘텐츠는 예를 들면 인터넷 쇼핑몰과 같은 서비스를 제공하기 위한 것일 수 있다. 도 3은 본 발명의 일 양태에 따른 웹 서비스 콘텐츠의 개념도이다. 도 3을 참조하면, 인터넷 쇼핑몰로서의 사용자 화면(300)이 제공되고 있다. 상기 사용자 화면(300)은 종래의 웹 브라우저를 통하여 표시될 수 있는 것으로서, 종래의 HTML, XML, CSS, Javascript 중 적어도 하나의 기술이 적용된 웹 서비스 콘텐츠일 수 있다.
본 발명에서는 상기 사용자 화면(300)에 대하여 다국어 번역을 제공하고자 한다. 본 명세서에서는 발명에 대한 설명의 편의상, 콘텐츠가 작성된 원본 언어를 제1 언어로 지칭하고, 번역된 결과로서의 언어를 제2 언어로 지칭하고자 한다. 가령, 도 3에 나타난 웹 서비스 콘텐츠는, 한국어를 제1 언어로 사용하고 있고 볼 수 있다.
단, 상기와 같이 '제1 언어' 또는 '제2 언어'와 같이 언어를 지칭하는 것이, 본 발명이 반드시 두 언어 간에만 동작하여야 한다는 것을 의미하는 것은 아니며, 상기 제2 언어 이외에 제3, 제4, …… 언어가 제1 언어로부터 출발한 번역의 도착 언어로 사용될 수 있다. 또한, 필요한 경우 제2 언어로 작성 또는 번역된 콘텐츠부터 제3 언어로 번역된 콘텐츠가 도출될 수도 있으며, 이 경우 제2 언어는 본 발명의 제1 언어와 같이, 제3 언어는 본 발명의 제3 언어와 같이 활용된다. 요컨대, 본 발명은 임의의 어느 언어로 작성된 콘텐츠로부터 다른 언어를 번역하여 도출하는 모든 경우에 적용될 수 있으며, 출발 언어인 제1 언어와 도착 언어인 제2 언어의 유형 및 종류의 수는 한정되지 않는다.
본 발명에서는 상기와 같이 제1 언어로 작성된 콘텐츠를 제2 언어로 번역하는 작업을 용이하게 하기 위하여, 웹 서비스 콘텐츠 템플릿 개념을 사용하고자 한다. 도 4는 본 발명의 일 양태에 따른 웹 서비스 콘텐츠 템플릿의 개념도이다. 도 4의 템플릿(400)을 보면, 상기 도 3에서 나타난 사용자 화면(300)으로부터 언어적 콘텐츠가 각각 식별부호(P00, P01, …, P05)로 나타나는 배치공간(placeholder)로 치환될 수 있음이 나타난다. 상기 배치공간으로 치환된 내용들은 번역의 대상이 된다. 그러나 모든 콘텐츠가 배치공간으로 치환되지 않을 수도 있다. 예를 들어, 템플릿(400)에서 쇼핑몰의 로고(410)는 배치공간으로 치환되지 않았는데, 이는 번역이 불필요한 내용으로서 템플릿(400)에서도 원본 그대로 보존되는 것으로 가정된 사례이다.
상기 템플릿(400)의 각 식별부호로 나타나는 배치공간은, 웹 서비스 콘텐츠를 제공할 때 소정의 문자열 목록으로부터 불러온 문자열들을 해당 위치에 삽입함으로써 완성된 웹 서비스 콘텐츠를 도출하는 데 사용될 수 있다. 예를 들어, 배치공간 "P00"에 제1언어인 한국어로 제공하는 콘텐츠에서는 문자열 "카테고리"를 삽입하고, 제2 언어의 일례인 영어로 제공하는 콘텐츠에서는 문자열 "Category"를 삽입하도록 구성될 수 있다. 즉, 번역의 대상이 되는 모든 문자열은 상기 소정의 문자열 목록에 각각의 언어별로 저장될 수 있으며, 이렇게 템플릿(400)으로부터 문자열만을 분리하여 관리함으로써 웹 콘텐츠의 레이아웃, 그림, 기타 불필요한 정보로부터 독립적으로 번역이 필요한 문자열의 내용 자체만을 효율적으로 번역하는 것이 가능하다.
상기 소정의 문자열 목록은, 본 발명의 일 실시예에 따르면, 데이터베이스로서 구현될 수 있으며, 상기 각각의 배치공간을 나타내는 식별부호("P00", "P01", …, "P05")는, 상기 데이터베이스에서 특정 문자열을 검색하기 위한 키 값으로 사용될 수 있다. 상기 식별부호는, 본 발명의 일 실시예에서는, 순차적으로 부여된 숫자일 수 있다. 상기 숫자는 이진수, 팔진수, 십진수, 또는 십육진수를 포함하는 어떠한 진법으로 표기되어도 무방하다. 상기 식별부호는, 본 발명의 다른 실시예에서는, 소정의 규칙에 의하여 부여된 숫자 또는 문자로 구성된 코드일 수 있다. 상기 규칙은, 본 발명의 일 실시예에서는, 해시 함수일 수 있다. 예를 들어, 상기 배치공간으로 치환되는 제1 언어 문자열을 해시 함수에 투입하여 획득한 해시 값을 식별부호로 활용할 수도 있다. 그 밖에 특정 문자열을 데이터베이스에서 고유하게 식별할 수 있는 기준 값을 구성하기 위한 어떠한 방법도 본 발명의 구현을 위하여 이용될 수 있음은 자명하다.
상기 템플릿(400)은 상기 사용자 화면(300)을 표시하기 위한 원본 콘텐츠로부터 손쉽게 생성될 수 있다. 예를 들어, 상기 원본 콘텐츠가 HTML인 경우, 언어적 콘텐츠는 통상적으로 문단 태그("<p> … </p>"), 분할 태그("<div> … </div>"), 또는 테이블 칸 태그("<td> … </td>")와 같은 특정 태그 공간 안에서 나타나게 된다. 이러한 태그를 검색한 뒤 그 내용을 배치공간을 식별하는 식별자로 치환함으로써, 손쉽게 템플릿을 구성할 수 있다. 배치공간의 식별자는 상기 원본 콘텐츠가 작성된 마크업(markup) 또는 프로그래밍 언어와 호환되는 형태일 수 있다. 한 가지 예로서는, 배치공간의 식별자가 HTML 태그에 지정된 주석(comment) 태그에 특정한 내용을 담는 방식으로 구현될 수 있다. 가령, "<!--P00-->"으로 표기된 주석 태그가 배치공간 "P00"을 나타내기 위해 사용될 수 있다. 또 다른 예로서는, HTML 콘텐츠를 PHP, ASP와 같은 서버 측 웹 서비스 언어에 탑재하고, 상기 웹 서비스 언어가 배치공간에 소정의 문자열을 삽입하도록 프로그래밍함으로써 구성될 수도 있다. 이러한 배치공간의 표기 및 지정 방법은 본 발명의 사상을 벗어나지 않는 한 특정한 방법으로 한정되지 아니하며, 통상의 기술자가 활용할 수 있는 다양한 응용 방식이 적용될 수 있다.
상기 템플릿(400)에서 중복되는 문장은 동일한 배치공간 식별자로 지칭될 수 있다. 도 3에서는 "파격 할인!"이라는 문자열(320)이 서로 다른 상품에서 동일하게 나타나는 것을 확인할 수 있다. 이렇게 동일한 문장은 번역 시에도 동일하게 번역될 것임을 알 수 있으므로, 동일한 식별부호에 의한 배치공간으로 템플릿(400)에 나타날 수 있다. 도 4의 예시에서는, 상기 "파격 할인"에 대응하는 배치공간(420)에 "P02"라는 동일한 식별부호가 지정되어 있다. 따라서, "P02"에 할당된 동일한 문자열이 복수의 배치공간에 삽입되도록 하여, 같은 표현에 대한 번역의 일관성을 확보할 수 있게 된다.
도 5는 본 발명의 일 양태에 따른 번역 문단 데이터베이스의 개념도이다. 상기 템플릿(400)에 다양한 언어의 문자열을 삽입하기 위한 문자열 데이터베이스(500)는, 본 발명의 일 실시예에 따르면, 식별부호(510), 제1 언어(520), 및 제2 언어(530) 칼럼을 적어도 포함할 수 있다. 도 5의 예시에서 제1 언어(520)는 한국어로, 제2 언어(530)는 영어로 예시되어 있다.
웹 서비스 서버 장치에 외부로부터 웹 콘텐츠 요청이 수신되면, 서버 장치는 상기 템플릿(400)을 로드한 다음, 어느 언어에 대한 요청인지를 식별할 수 있다. 그리고, 상기 데이터베이스(500)에서 요청된 언어에 대응하는 칼럼을 선택한 후, 템플릿(400)의 식별부호로 검색하여 획득되는 문자열을 삽입하도록 동작할 수 있다.
도 6은 본 발명의 일 양태에 따른 번역된 웹 서비스 콘텐츠의 개념도이다. 상기 도 4의 템플릿(400)에 도 5의 데이터베이스(500)에 나타난 제2 언어 칼럼(530)을 적용하여 영어 문자열을 삽입하도록 한 결과, 번역 콘텐츠(600)를 획득할 수 있게 된다. 앞서 다루었듯이, 번역될 필요가 없어 템플릿에서 배치공간으로 대체되지 않은 부분(610)은 번역 없이 그대로 유지되었음을 알 수 있다. 상기 제2 언어로 된 번역 콘텐츠(600)은 앞서 도 3에서 나타낸 제1 언어로 된 원본 콘텐츠(300)의 번역된 콘텐츠로서 기능할 수 있다.
본 발명에서는 상기 데이터베이스에서 제1 언어와 제2 언어로 된 문자열 간을 어떻게 관리할 것인지, 및/또는 상기 번역이 잘못된 경우 사용자 또는 컴퓨팅 장치가 어떻게 문제를 바로잡을 수 있도록 동작하게 할 수 있을지에 관하여 보다 상세한 실시예를 제공한다.
제1 실시예
도 1은 본 발명의 제1 실시예에 따른 실시간 웹 서비스에서의 번역문 제공 방법을 나타내는 순서도이다. 도 1의 순서도에 나타난 각 절차는, 웹 서비스 콘텐츠를 공급하는 서버 컴퓨터 장치에서 실행되는 것이 바람직하나, 실시예에 따라서는 복수의 서버 장치, 클라우드 서버, 또는 서버와 클라이언트로 분산된 처리 과정에 의하여 실행되어도 본 발명의 사상을 구현하는 데 문제가 없다. 다만 이하의 설명에서는 편의 상 서버 장치에 의해 처리되는 것으로 간주한다.
웹 서비스 콘텐츠를 요청하는 통신 메시지가 서버 장치에 수신(S101)되는 경우, 상기 요청 메시지는 분석된다. 상기 요청 메시지는 종래의 HTTP 프로토콜에서 사용되는 웹 자원 요청 메시지의 형태로 제공될 수 있으며, 확장된 프로토콜 구문 또는 종래 구문에서 허용하는 파라미터를 통하여 요청하는 콘텐츠의 언어를 전달하고 있을 수 있다. 본 발명에서는 특히 상기 요청 언어의 유형에 따라 처리를 달리한다.
요청 메시지에 의하여 특정한 웹 콘텐츠가 요청되는 경우, 서버 장치는 상기 웹 콘텐츠를 준비하기 위하여 해당 웹 콘텐츠의 템플릿을 로드(S102)할 수 있다. 여기에서 로드되는 템플릿은 상기 도 4에서 예시적으로 나타낸 템플릿(400)과 같은 것을 의미한다. 따라서, 상기 로드된 템플릿은 언어 중립적인 상태이다.
다음으로, 상기 요청 메시지의 분석 결과로 요청된 콘텐츠가 제1 언어에 대한 것인지 제2 언어에 대한 것인지가 판단된다(S103). 상술한 바와 같이, 도 1에서는 제1 언어와 제2 언어에 대해서만 언급하였으나, 이는 언어의 종류를 한정하기 위한 기재가 아니며, 제1 언어가 아닌 다수의 언어에 대하여 제2 언어에 대한 것으로 기재된 절차와 동일한 절차가 수행될 수 있음은 통상의 기술자에게 자명하다. 즉, 단계 S103에서는 둘 이상의 다른 언어에 대한 요청을 구분하여 분기할 수 있다.
만약 제1 언어로 된 콘텐츠가 요청된 것으로 판단되는 경우, 콘텐츠의 원본에 해당하는 제1 언어로 된 문자열들을 데이터베이스로부터 불러온다(S110). 이 때 데이터베이스란 상기 도 5에서 나타낸 데이터베이스(500)일 수 있고, 보다 바람직하게는, 도 9에서 예시하는 데이터베이스(900)일 수 있다.
도 9는 본 발명의 제1 실시예에 따른 번역 문단 데이터베이스를 가중치 기반의 관계형 데이터베이스로 구성하는 실시예의 개념도이다. 도 9를 참조하면, 도 9에는 제1 언어 문자열 테이블(901)과 제2 언어 문자열 테이블(902)이 별도로 구성되어 있을 수 있다. 단계 S110이 실행되면, 상기 템플릿에서 배치공간마다 지정된 식별부호를 추출하여, 상기 제1 언어 문자열 테이블(901)에서 검색하게 된다. 도 9의 예시에서는, 템플릿 상의 식별부호 "P03"을 검색한 결과로 제1 언어 문자열(910)이 획득된다.
서버 장치는 상기와 같이 획득된 문자열을 상기 템플릿(400) 상의 각 배치공간에 식별부호로서 대응하여 삽입(S115)할 수 있다. 이로서, 제1 언어로 완성된 웹 콘텐츠가 생성되며, 그 형태는 도 3에 예시된 것과 유사할 수 있다. 상기 콘텐츠 정보가 준비되었으므로 상기 서버 장치는 표시(S130)단계로 이행할 수 있게 된다. 표시(S130) 단계에 의해 제1 언어로 완성된 웹 콘텐츠가 표시되면, 서버 장치의 처리는 별도의 후속 조치 없이 종료될 수 있다.
한편, 제2 언어로 된 콘텐츠가 요청된 것으로 판단되는 경우, 콘텐츠의 번역본에 해당하는 제2 언어로 된 문자열들을 상기 데이터베이스로부터 불러오게 된다. 이 때, 상기 데이터베이스에 번역문이 존재하는지의 여부를 먼저 확인하게 된다(S120). 만약 기존에 번역문이 준비되어 있었던 경우, 해당 번역문을 제2 언어 문자열 테이블(902)에서 검색하게 된다. 이를 위하여, 제1 언어 문자열 테이블(901)과 제2 언어 문자열 테이블(902)은 식별부호를 키로 하는 관계형 데이터베이스의 조인(join) 관계(950)를 구성하고 있을 수 있다.
상기 제2 언어 문자열 검색 시에는 가중치에 의한 판단이 적용될 수 있다. 도 9를 참조하면, 제2 언어 문자열 테이블(902)에는 동일한 식별부호 "P03"에 대응하는 복수의 제2 언어 번역문(920, 930, 940)이 저장되어 있다. 상기 복수의 번역문에는 각각 가중치 칼럼이 부여되어 있다. 상기 가중치는 번역문의 사용자 선호도를 나타내는 지표로 사용되어, 동일한 식별부호를 가진 제2 언어 문자열들 가운데 가장 가중치가 높은 문자열이 제2 언어 문자열로서 선택된다(S121). 예를 들어서, 도 9에 나타난 예시의 경우, 문자열 920이 가장 높은 가중치를 가지고 있으므로, 식별부호 "P03"에 대응하는 제2 언어 번역문으로서 선택된다. 가중치의 부여 및 증감 방법과 관련하여서는 후술한다.
가중치가 동일한 복수의 제2 언어 번역문이 있는 경우에는, 보조적인 실시예에 따라 다양한 해결 방법이 구현될 수 있다. 본 발명의 일 실시예에서는, 가중치가 같은 번역문 가운데 가장 최근에 수정된 것을 선택하도록 구현될 수 있다. 본 발명의 다른 실시예에서는, 가중치가 같은 번역문 각각을 매 콘텐츠 요청 시마다 번갈아 선택하도록 구현될 수 있다. 본 발명의 또다른 실시예에서는, 가중치가 같은 번역문 가운데 하나를 난수에 의해 선택함으로써 임의로 선택하도록 구현될 수 있다.
상기 제2 언어 번역문이 상기 제2 언어 문자열 테이블에 존재하지 않는 경우, 새로운 번역문이 생성된다. 먼저, 제1 언어로 된 원본 콘텐츠 문자열을 불러온다(S122). 도 9의 예시에서는, 템플릿 상의 식별부호 "P03"을 상기 제1 언어 문자열 테이블(901)에서 검색한 결과로 제1 언어 문자열(910)이 획득된다. 다음으로, 상기 제1 언어 문자열을 번역한다. 번역의 수단은 종래의 것을 사용하여도 되며, 바람직하게는 기계번역을 실행(S123)함으로써 신속하고 자동화된 번역 콘텐츠의 제공을 가능하도록 할 수 있다.
상기 기계번역을 위해서는 인공지능 장치 또는 소프트웨어가 사용될 수 있으며, 보다 구체적으로는 딥러닝, 컨볼루션 신경망(CNN), 회귀 신경망(RNN), 장단기기억체계(LSTM, Long Short Term Memory)와 같은 인공지능 기술이 활용될 수 있다. 상기 인공지능 장치 또는 소프트웨어는 사전에 번역 기능을 수행하도록 학습된 것일 수 있으며, 번역의 결과를 통하여 재학습 가능하도록 구성되어 있을 수 있다. 또는, 상기 기계번역을 위해서 외부의 장치 또는 소프트웨어 또는 제3자의 장치 또는 소프트웨어와 연동하여 제1 언어를 입력으로 제공하고 제2 언어를 제공받을 수도 있다. 예를 들면, 상용 번역 소프트웨어를 연동하거나, 인터넷 상의 번역 서비스 API와 같은 방식을 채택할 수 있다. 상기 서버 장치에서 기계번역을 실시하기 위한 방법은 다양하게 존재할 수 있으며, 본 발명에서는 기계번역이 실행되는 구체적인 단계 및 방법과 관련하여서는 한정하는 바가 없으므로, 다양한 실시예가 존재할 수 있음이 자명하다.
상기 번역 과정을 통하여 제2 언어로 된 번역문이 획득되면, 상기 획득된 번역문을 상기 데이터베이스에 저장하고 초기 가중치를 부여(S124)한다. 가중치는 상술한 바와 같이 해당 번역문의 신뢰도를 나타내는 것으로서, 초기 가중치는 해당 번역문의 신뢰도 초기값으로 해석할 수 있다. 상기 초기 가중치는 본 발명을 실시하는 자가 임의로 결정할 수 있다. 후술하는 내용에 따르면, 본 발명의 일 실시예에서 상기 가중치는 사용자가 번역문의 품질에 불만족하여 수정을 요구하는 경우 하향되고, 사용자가 수정에 참여한 번역문의 가중치가 상향되도록 설계된다. 따라서, 초기 가중치를 높게 설정하는 경우, 사용자의 다수 참여가 없는 한 수정된 번역문의 가중치가 기존 번역문의 초기 가중치를 넘기지 못하므로 사용자가 참여한 번역문이 보다 신중하게 노출되게 되며, 초기 가중치를 낮게 설정하는 경우 반대의 동작을 통해 사용자 참여 번역문이 보다 신속하게 노출되도록 구성할 수 있다.
보조적으로, 상기 데이터베이스는 상기 도 9에 나타난 예시와 같은 가중치 기반의 관계형 데이터베이스 이외의 다양한 형태로 구현될 수 있다. 이를테면, 상기 도 9의 관계형 데이터베이스에서는, 예시 상 식별부호에 대응하여 가중치를 칼럼으로 가지는 번역문 데이터베이스(902)가 복수의 언어 별로 존재하는 것을 상정하였다. 예를 들어서, 제2 언어로서 영어, 일본어, 프랑스어가 사용되는 경우, 도 9의 예시에서 각각의 제2 언어에 대한 데이버베이스(902)는 각각의 분리된 테이블로서 구현된다. 이러한 구현은 그러나, 상기 데이터베이스를 효율적으로 구성하기 위해 통상의 기술자가 택할 수 있는 다양한 변형들 가운데 하나에 불과하다.
도 10에서 상기 데이터베이스의 다양한 변형된 실시 방법 중 하나를 나타내고 있다. 도 10은 본 발명의 제1 실시예에 따른 번역 문단 데이터베이스를 단일 관계형 데이터베이스로 구성하는 실시예의 개념도이다. 도 10의 개념도에서는 제1 언어 테이블(1001)이 존재하고, 해당 제1 언어 테이블(1001)에 대응하여 하나의 제2 언어 테이블(1002)이 식별 부호를 기준으로 하는 조인 관계(1050)에 의하여 연동되도록 구성되어 있다. 또한, 제2 언어 테이블(1002)에 언어 구분 칼럼을 배치하여, 복수의 제2 언어(1020, 1030, 1040)에 대응할 수 있도록 구성되어 있다. 즉, 제2 언어의 유형에 따라서 서로 다른 테이블을 조인하여 검색하는 것이 아니라, 이미 조인되어 있는 테이블 관계 내에서 언어를 기준으로 색인할 수 있게 구성되어 있다.
본 발명을 실시하는 기술자는 본 발명의 데이터베이스를 실시함에 따라, 필요에 따라서 도 10의 테이블에 도 9에 나타난 가중치 개념을 결합하여 운용할 수도 있다. 예를 들면, 도 10과 같은 단일 테이블(1002)로 구성된 제2 언어 테이블에 언어와 가중치 칼럼을 모두 두어 운용하는 것도 가능하다. 또는, 제1 언어 테이블(901, 1001)과 제2 언어 테이블(902, 1002)을 통합한 형태로 실시하는 것도 가능하다. 이 경우 제1 언어에 대한 기록 또한 제2 언어와 동일하게 가중치와 언어 칼럼을 가질 수 있다. 또한, 제1 언어와 제2 언어 테이블을 통합하여 실시하고자 하는 경우, 제1 언어로 지정된 레코드에 대하여서는 가중치 및/또는 문자열을 수정할 수 없도록 할 수 있다.
본 발명을 실시하는 기술자는 또한, 본 발명의 데이터베이스를 실시함에 따라, 제1 언어를 특정 언어로 설정하지 않는 방법으로 구현할 수 있다. 이 경우, 관계형 데이터베이스를 구성할 때 다대다(N:N) 관계의 조인을 상정하고 구성될 수 있다. 즉, 복수의 제1 언어 테이블과 복수의 제2 언어 테이블이 필요에 따라 식별기호를 기준으로 조인될 수 있도록 준비될 수 있다. 제1 언어와 제2 언어의 테이블을 하나로 실시하려는 경우에는, 테이블에 원본 여부를 지정하는 칼럼을 더 추가하여, 상기 원본으로 지정된 레코드는 언어의 종류와 무관하게 특정 웹 콘텐츠의 원본인 제1 언어로 간주하여 수정되지 않도록 제어하는 방법으로 운용할 수도 있다.
그 밖에 출발 언어로서의 제1 언어와 도착 언어로서의 제2 언어를 식별하고, 제1 언어로부터 제2 언어로의 번역문을 상호 대응시켜 저장할 수 있는 방법이라면, 본 발명의 사상이 미치는 범위 내에서 이미 알려진 또는 앞으로 제안될 다양한 데이터베이스 구현 방법을 적용할 수 있음은 쉽게 알 수 있다. 이러한 데이터베이스의 변형된 구성은 모두 본 발명의 변형된 실시방법으로서 본 발명의 권리범위 내에 속함이 자명하다.
상기 S121단계에서 선택된 번역문 또는 상기 S123단계에서 획득된 번역문은 제2 언어 번역문으로서 선택되어 해당 문자열을 상기 템플릿(400) 상의 각 배치공간에 식별부호로서 대응하여 삽입(S125)할 수 있다. 이로서, 제2 언어로 완성된 웹 콘텐츠가 생성되며, 그 형태는 도 6에 예시된 것과 유사할 수 있다. 상기 콘텐츠 정보가 준비되었으므로 상기 서버 장치는 표시(S130)단계로 이행할 수 있게 된다.
상기 S115단계에 의해 생성된 제1 언어 콘텐츠 또는 상기 S125단계에 의해 성된 제2 언어 콘텐츠는 S101단계에서 접수된 사용자의 콘텐츠 요청에 응답하는 형태로 웹 콘텐츠로서 표시(S130)될 수 있다.
본 실시예는 상기 표시(S130)단계에서 사용자로 하여금 제공된 번역문을 수정할 수 있도록 하는 기능을 제공할 수 있다. 이를 위하여 수정 사항을 입력받는 S131단계가 실행되게 되며, 그 바람직한 동작 과정은 사용자 인터페이스를 포함하는 별도의 예시도를 통해 설명한다.
도 7은 본 발명의 제1 실시예에 따른 번역 수정을 위한 사용자 표시 화면에 대한 예시도이다. 도 7에 나타난 예시도에서는, 앞서 도 6과 같은 형태로 표출되었던 제2 언어 웹 콘텐츠(600)에 대하여 그 일부분에 대한 수정을 하도록 사용자 인터페이스(700)를 제공하고 있다. 도 7의 예시에서 수정 대상이 되는 문자열(740)은 도 4의 웹 콘텐츠 템플릿(400)에서 식별부호 P03으로 지정되었던 내용이다. 본 발명의 일 실시예에서, 상기 제2 언어 웹 콘텐츠(600)를 열람한 사용자는 수정이 필요하다고 판단하는 번역문을 클릭 등의 방법으로 선택하여 수정을 요구할 수 있고, 상기와 같은 조작에 따라 번역문 수정 인터페이스(700)가 사용자에게 표시되도록 구성될 수 있다.
번역문 수정 인터페이스(700)는 3가지 정보 중 적어도 하나가 표시될 수 있다. 원문(710)은 해당 웹 콘텐츠 문자열의 제1 언어로 된 원문으로, 바람직하게는, 상기 데이터베이스의 제1 언어 테이블에서 상기 문자열의 식별부호를 검색하여 획득된 문자열일 수 있다. 기준 번역문(720)은 현재 웹 콘텐츠 상에 표시되고 있는 번역문으로서, 사용자가 수정하고자 결심한 대상 문자열일 수 있다. 수정 번역문(730)은 사용자에 의해 실시간으로 수정된 번역문을 나타내는 것으로서, 바람직하게는 입력 및 수정 가능한 편집 창의 형태로 표시될 수 있다. 수정 번역문(730)을 표시함에 있어서 기준 번역문(720)과의 달라진 부분을 사용자가 손쉽게 인식할 수 있도록 상호 불일치하는 부분에만 글자에 효과를 줄 수 있으며, 상기 효과는, 볼드체, 기울임체, 밑줄, 취소선, 색상 지정, 음영 지정, 및 그 밖의 글자에 적용할 수 있는 변형 효과 중 적어도 하나를 포함할 수 있다.
상기와 같은 번역문 수정 인터페이스(700)는 다양한 사용자로 하여금 부적절한 번역의 수정 제안을 원활하게 제안할 수 있도록 하는 효과를 가진다. 첫째로, 적어도 원문(710)을 표시하는 인터페이스에 의하여, 제1 언어를 해석할 수 있는 제2 언어 사용자는 상기 기준 번역문(720)의 부적절한 부분을 빠르게 확인하여 수정 번역문(730)을 작성할 수 있다. 둘째로, 설령 제1 언어를 해석할 수 없는 제2 언어 사용자인 경우에도, 제2 언어로 작성된 기준 번역문(720)을 확인하고 제2 언어 사용자로서 위화감을 느끼는 부분에 대하여 자유롭게 수정 번역문(730)을 작성할 수 있다. 즉, 상기와 같은 번역문 수정 인터페이스(700)의 제공을 통해, 본 발명은 제1 언어와 제2 언어를 모두 사용하는 이중언어(bilingual) 사용자 뿐 아니라, 제2 언어를 모국어로 하는 사용자 또한 제2 언어 번역 품질의 개선에 용이하게 참여할 수 있도록 하는 개선된 효과를 제공한다.
도 8은 본 발명의 제1 실시예에 따른 번역 수정을 위한 사용자 표시 화면에 대한 다른 예시도이다. 상기 도 7의 예시도에서는 수정 인터페이스(700)가 웹 콘텐츠의 하단에 표시되었다. 도 8의 예시도에서는 원문(810)이 글상자 형태의 오버레이로 노출되고, 기준 번역문과 수정 번역문의 구분을 별도로 하지 않고 번역문 수정 공간(820)이 웹 콘텐츠 상에 제공될 수 있다. 즉, 표시되는 웹 콘텐츠의 문자열을 즉석 수정하는 방식, 이른바 WYSIWYG 환경에서 번역문 수정을 할 수 있도록 인터페이스를 제공할 수 있다. 이 경우 번역문의 수정된 부분을 표시함에 있어서 상술한 바와 동일하게 수정 전의 기준 번역문과 상호 불일치하는 부분에만 글자에 효과를 줄 수 있다.
상기 도 7과 도 8의 인터페이스 구성 예는 본 발명의 실시 방법을 설명하기 위해 예시적으로 나타낸 것이다. 상술하였듯이 이중언어 사용자와 제2 언어 단독 사용자 모두 원문과 기준 번역문으로부터 수정 번역문을 용이하게 입력할 수 있도록 돕기 위한 수단을 제공함이 본 발명의 목적이며, 이를 위해서는 도 7과 도 8에 한정되지 않는 다양한 형상으로 인터페이스가 제공될 수 있다. 따라서 도 7와 도 8의 인터페이스 형상에 한정되지 않는 모든 구현 방법은 본 발명의 사상 범위 내에서 본 발명의 변형된 실시예에 속한다.
다시 도 1을 참조하면, 상기 번역문 수정 인터페이스(700)를 이용하여 사용자는 수정된 문단을 입력(S132)할 수 있으며, 서버 장치는 웹 콘텐츠를 표시한 뒤 사용자로부터 수정된 문단의 입력이 이루어졌는지를 확인(S132)할 수 있다. 수정이 없는 경우 별도의 처리를 행하지 않는다. 수정이 이루어진 경우에는, 수정된 문단을 검사하여 다음 단계의 처리를 수행하게 된다.
서버 장치는 수정된 문단이 상기 데이터베이스에 저장된 기존의 제2 언어 번역문들 중 어느 하나와 일치하는지를 검사(S133)할 수 있다. 상기 검사의 결과 동일한 번역문이 기존에 저장되어 있음이 확인된다면, 이는 기존에 제2 언어 사용자인 사용자에 의하여 동일한 수정이 제안되었음을 의미할 수 있다. 즉, 사용자 경험에 비추어 웹 서비스 콘텐츠에 현재 표시되고 있는 제2 번역에 비하여 수정된 문장의 정확도가 더욱 높음을 암시한다고 판단되어도 무방하다. 따라서, 서버 장치는 번역문 간의 가중치를 조정하는 처리를 행할 수 있다. 보다 구체적으로는, 수정의 대상이 된 번역문의 가중치를 하향하고, 수정의 결과물인 번역문의 가중치를 상향할 수 있다.
도 11은 본 발명의 제1 실시예에 따른 번역문의 가중치 조정에 대한 개념도이다. 도 11에서는 본래 데이터베이스에 저장되어 있었던 기준 번역문(1110)이 사용자의 수정에 의해 수정 번역문(1120)으로 수정된 경우를 가정하여 설명한다. 본래의 데이터베이스 상 제2 언어 번역문 테이블(1130)에서, 기준 번역문(1110)은 가중치 "5"를, 수정 번역문(1120)은 가중치 "4"를 부여받아 등재되어 있다고 가정한다. 서버 장치는 여기에서, 기준 번역문의 가중치를 하향하고(S140), 수정 번역문의 가중치를 상향하는(S141) 처리를 실행하여, 두 번역문 간의 가중치 관계가 변화(1150)할 수 있도록 처리할 수 있다. 예를 들어, 기준 번역문의 가중치를 1 하향하고, 수정 번역문의 가중치를 1 상향하도록 조절하는 경우, 조정 후의 테이블(1140)에서는 각 번역문 문자열에 부여된 가중치가 변동하게 된다. 결과적으로, 조정 후의 테이블(1140)에 기준하면, 추후 식별번호 "P03"에 대해 가중치가 가장 높은 문단을 선택하여 콘텐츠에 삽입하고자 할 때, 수정 번역문(1120)이 가중치 "5"로서 선택되어 표시되도록 구성될 수 있다.
서버 장치가 수정된 문단이 상기 데이터베이스에 저장된 기존의 제2 언어 번역문들 중 어느 하나와 일치하는지를 검사(S133)하는 과정에서는 다양한 기법이 사용되어 검사의 정확도를 상향할 수 있다. 이를테면, 실질적으로 동일한 수정이 이루어졌더라도 띄어쓰기나 철자법 등의 차이로 인하여 정보적으로는 상이한 문자열로 판단되는 경우가 있을 수 있으므로, 상기 검사를 진행하는 데 있어서 데이터베이스에 이미 저장된 문자열과 수정 번역문을 각각 일반화(normalize)하여 대조하는 방법으로 데이터베이스 상의 존재 유무를 검사하는 방법이 적용될 수 있다. 상기 일반화를 위해서는, 문자열 코드페이지의 변환(예를 들어, 양측의 정보 표기법을 유니코드 UTF-8 형식으로 통일), 모든 알파벳 문자의 대문자화, 모든 알파벳 문자의 소문자화, 숫자에 포함된 쉼표(,) 및/또는 온점(.) 제거, 문자열 앞/뒤의 공백 제거(trimming), 복수형 단어의 단수형으로의 변환, 동의어/유의어의 대표단어로의 변환 등을 포함하는 다양한 문자열 일반화 방법이 적용될 수 있다.
또 다른 실시예에서는, 상기 검사를 진행하기 위해 단어 벡터(vector)를 이용하는 자동화된 문자열 처리 및 비교 프로세스가 사용될 수 있다. 이 같은 고도화된 비교 방법을 상기 검사에 적용하는 경우, 사용자들이 공통적으로 수정하고자 하는 부분을 보다 정밀하게 추출하는 데 도움이 될 수 있다.
다시 도 1을 참조하면, 만약 기존에 동일한 문장이 없었던 경우, 상기 데이터베이스의 제2 언어 테이블에 새로운 문자열을 추가하고 초기 가중치를 부여할 수 있다. 상기 초기 가중치의 부여 방법은 앞서 최초로 기계 번역된 문자열을 저장하는 단계(S124)에서의 초기 가중치 부여 방법과 유사하게 설정될 수 있다. 상기 초기 가중치를 낮게 부여하는 경우, 사용자 번역의 품질에 대한 신뢰 수준을 낮게 관리함으로써, 동일한 수정이 여러 차례 부여되지 않는 한 서비스에 노출되지 않도록 할 수 있다. 이러한 설정은 부적절한 수정이 함부로 노출되지 않도록 하는 데 도움이 될 수 있다. 반면, 상기 초기 가중치를 높게 부여하는 경우, 부적절한 문장이 사용자에 의하여 신속하게 교정되어 웹 콘텐츠 서비스에 반영될 수 있도록 하는 데 도움이 될 수 있다.
상기 초기 가중치는 상대적으로 결정될 수도 있다. 예를 들어, 기준 문자열의 가중치를 참조하여 그보다 일정 수준 높거나, 낮거나, 또는 동일한 값으로 설정될 수 있다. 이를테면, 수정 번역문의 초기 가중치를 기준 번역문의 가중치보다 항상 1 높게 정해지도록 하면, 해당 수정 번역문은 가중치 순으로 선택되는 문장에서 반드시 기준 번역문보다 우선하게 된다. 또는, 수정 번역문의 초기 가중치를 기준 번역문과 동일하게 하고, 가중치가 같은 번역문 간에는 임의로 선택하여 웹 콘텐츠에 삽입하도록 하는 경우, 자연스럽게 기준 번역문과 수정 번역문 간의 A/B 테스트가 실시되는 효과를 얻을 수 있다.
이상 도 1을 참조하여 본 발명의 제1 실시예에 따른 웹 콘텐츠의 번역 및 그 수정 방법에 관하여 설명하였다. 상술하였듯이 본 발명에서의 웹 콘텐츠 번역 및 수정 방법을 웹 콘텐츠 서비스 서버 장치에 적용하는 경우, 웹 콘텐츠를 제1 언어로만 작성하는 경우에도 기계 번역을 통해서 신속하게 제2 언어로 서비스할 수 있으며, 상기 기계 번역이 다소 부정확한 경우에도 사용자의 피드백을 신속하게 반영하여 실시간으로 서비스되는 콘텐츠에 반영할 수 있는 효과가 있다.
보조적으로, 이하 제1 실시예의 확장된 실시예에 관하여 추가적으로 덧붙여 설명한다.
도 12는 본 발명의 제1 실시예로부터 확장된 실시예에 따른 번역문의 처리 및 출력 과정을 나타내는 개념도이다. 도 12에 따르면, 원문(1210)은 제1 번역 인공지능(1220)에 의하여 제2 언어로 기계 번역(1230)되고, 웹 콘텐츠 템플릿에 삽입되어 사용자에게 표시(1292)될 수 있다. 또한, 상기 번역문은 사용자에 의해 수정될 수 있으며, 이 경우 원문(1210)과 수정된 결과(1250) 또한 사용자에게 표시(1290, 1294)될 수 있다. 이상의 내용은 앞서 도 1을 참조로 설명한 바와 같다.
부가적으로, 상기 수정된 결과로 획득된 문자열(1250)은, 상기 기계 번역을 실시하는 제1 번역 인공지능(1220)을 강화 학습하기 위한 자료로 활용될 수 있다. 제1 번역 인공지능이 재학습 가능한 형태인 경우, 상기 수정된 문자열(1250)은, 주어진 원문(1210)에 대한 신규한 정답으로써 인공지능(1220)에 입력(1255)될 수 있다. 상기 입력 시에는 데이터베이스 상에서 상기 수정된 문자열(1250)이 가지게 되는 가중치가 함께 입력될 수 있다. 이를 통해 상기 제1 번역 인공지능(1220)은, 예를 들어 역전파 방식의 학습을 통하여 번역 과정을 수정하고, 이를 통해 보다 사용자에게 친화적인 기계 번역 결과물을 도출하도록 조율될 수 있다.
한편, 상기 수정된 번역문(1250)은 그 정확도 확인을 위하여 역번역될 수 있다. 역번역은 상기 수정된 제2 언어로 된 번역문(1250)을 제1 언어로 번역하는 것을 의미하며, 상기 역번역은 제2 언어를 제1 언어로 번역하기 위한 제2 번역 인공지능(1260)에 의하여 수행될 수 있다. 상기 역번역문(1270)은 상기 원문(1210)과 함께 표시(1296)될 수 있다. 이를 통해, 제1 언어와 제2 언어를 모두 구사하는 사용자는, 수정한 번역을 역번역(1270)한 경우 원문(1210)에서의 제1 언어 문자열과 얼마나 다시 근접한 형태로 번역되는지를 확인할 수 있다. 이는 단어를 착각하거나 동의어/유의어/동음이의어 등을 잘못 번역하는 수정을 사용자가 입력하는 것을 예방하는 효과를 가질 수 있다.
보다 나아가, 상기 수정된 역번역문(1270)을 다시 상기 제1 번역 인공지능(1220)을 이용하여 2차 역번역(1280)하고, 이를 표시(1298)할 수 있다. 이를 통해, 설령 제1 언어에 익숙하지 않은 제2 언어 사용자가 문자열을 수정하는 경우에도, 수정한 번역이 결과적으로 어떤 의미로 나타나며, 그 결과 제2 언어로의 의미가 어떻게 왜곡되는지를 확인할 수 있는 효과를 가질 수 있다.
도 13은 본 발명의 제1 실시예로부터 확장된 실시예에 따른 번역 수정을 위한 사용자 표시 화면에 대한 예시도이다. 도 13은 도 7로부터 확장된 것으로 일부 부호를 공유한다. 상기 도 12에서 나타낸 각 표시 단계 가운데, 원문(1290)은 원문 영역(710)에, 기계 번역문(1292)은 웹 콘텐츠(740) 및 기준 번역문(720) 영역에, 수정 번역문(1294)은 수정 영역(730)에 표시될 수 있다. 도 13에는 이에 더하여 수정의 검증을 위한 역번역문의 표시 공간이 배치되어, 역번역문 영역(1310)에 상기 역번역문(1270)이 표시(1296)되고, 2차 역번역문 영역(1320)에 상기 2차 역번역문(1280)이 표시(1298)되도록 구성될 수 있다. 상기 역번역문 영역(1310)과 2차 역번역문 영역(1320)은 상기 수정 영역(730)에 존재하는 수정 번역문(1250)의 내용이 변화할 때마다 갱신됨으로써, 사용자에게 실시간 정보를 제공하도록 구성될 수 있다.
도 15는 제1 실시예를 서버 장치 및 클라이언트 장치로 구성된 시스템으로 실시하는 경우의 각부를 나타낸 개념도이다. 도 15를 참조하면, 다국어 웹 콘텐츠를 제공하는 시스템(1500)은 서버 장치(1510)와 클라이언트 장치(1520) 그리고 사용자(1530)로 구성될 수 있다. 상기 서버 장치(1520)는, 데이터베이스부(1511), 웹 콘텐츠 템플릿 저장소(1512), 수신부(1513), 웹 콘텐츠 합성부(1514), 웹 콘텐츠 출력부(1515), 및 기계 번역부(1516)를 포함할 수 있다. 상기 데이터베이스부(1511)는, 적어도 하나의 제1 언어로 작성된 원문마다 적어도 하나의 제 2 언어로 작성된 번역문을 연관시키고, 이 때 상기 각각의 번역문에는 가중치가 부여되어 있을 수 있다. 상기 웹 콘텐츠 템플릿 저장소(1512)는, 적어도 하나의 웹 콘텐츠에 대한 템플릿 정보를 저장할 수 있다. 상기 수신부(1513)는, 언어 정보를 포함하는 웹 콘텐츠 요청을 사용자로부터 수신할 수 있다.
상기 웹 콘텐츠 합성부(1514)는, 상기 요청된 웹 콘텐츠 템플릿을 로드하고, 상기 요청이 제1 언어 또는 제2 언어 중 어느 하나에 대한 것인지 식별할 수 있다. 상기 웹 콘텐츠 합성부(1514)는, 제1 언어에 대한 요청인 경우, 상기 제1 언어로 작성된 적어도 하나의 원문을 상기 데이터베이스부(1511)의 관계형 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제1 언어로 작성된 원문을 삽입하고, 제 2 언어에 대한 요청인 경우, 상기 제 2 언어로 작성된 적어도 하나의 번역문을 상기 데이터베이스부(1511)의 관계형 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제 2 언어로 작성된 번역문을 삽입하고, 상기 어느 하나의 삽입의 결과로써 합성된 웹 콘텐츠를 획득할 수 있다. 상기 합성된 웹 콘텐츠는 상기 웹 콘텐츠 출력부(1515)에 의하여 상기 클라이언트 장치(1520)에게 전송하도록 구성될 수 있다.
또한 상기 기계 번역부(1516)는, 상기 데이터베이스부(1511)의 관계형 데이터베이스에 상기 번역문이 적어도 하나 존재하지 않는 경우, 제1 언어로 작성된 원문을 제2 언어로 기계번역한 번역문을 획득하는 데 사용될 수 있다.
상기 클라이언트 장치(1520)는, 통신부(1521), 표시부(1522), 및 입력부(1523)를 포함하고, 사용자(1530)의 조작에 의하여 운용될 수 있다.
상기 통신부(1521)는, 상기 서버 장치에 제1 언어 또는 제2 언어 중 적어도 하나의 언어 정보를 포함하는 웹 콘텐츠 요청을 송신하고, 상기 서버 장치로부터 합성된 웹 콘텐츠를 수신할 수 있다. 상기 표시부(1522)는, 상기 수신된 웹 콘텐츠를 사람이 식별 가능한 형태로 해석하여 출력하도록 구성될 수 있다.
또한, 상기 표시부(1522)는, 상기 사용자에게 제1 언어로 된 원문과 제2 언어로 된 번역문을 함께 표시하고, 상기 제2 언어로 된 번역문을 사용자가 수정할 수 있도록 제공하고, 상기 입력부(1523)는, 상기 사용자가 수정한 번역문을 입력으로 획득하도록 구성되고, 상기 통신부(1531)는, 상기 수정된 번역문을 상기 서버 장치로 전송하도록 구성될 수 있다.
상기 도 15에 나타난 실시예를 통해 상기 도 1의 순서도를 통해 설명된 제1 실시예가 구현될 수 있으며, 따라서 각부의 상세 동작에 관련한 설명은 상기 도 1 등에 대하여 설명한 내용에서 벗어나지 않으므로 생략한다.
제2 실시예
제1 실시예 등을 통하여 상술하였던 바와 같이, 본 발명의 목적은 도 4에 나타나는 바와 같은 템플릿(400)과 도 5의 데이터베이스(500)에 나타난 제2 언어 칼럼(530)을 결합하는 방식으로 번역 콘텐츠(600)를 획득하고, 상기 번역 콘텐츠(600)의 품질이 양호하게 유지되도록 추가적인 구현을 더하는 데에 있다. 상기 제1 실시예를 통해서는 번역 품질의 유지를 사용자의 피드백에 의존하는 구성을 제시하였다. 본 제2 실시예를 통해서는 번역 품질의 유지 과정 또한 자동화하는 구성을 제시한다.
도 2는 본 발명의 제2 실시예에 따른 실시간 웹 서비스에서의 번역문 제공 방법을 나타내는 순서도이다. 도 2의 순서도에 나타난 각 절차는, 상기 도 1을 통해 나타낸 본 발명의 제1 실시예와 일부 유사하나, 사용자에 의한 번역의 수정을 대신하여 문장 교정에 특화된 컴퓨팅 절차를 사용하여 문장을 수정하는 절차를 포함한다. 도 2의 순서도에 나타난 각 절차는, 웹 서비스 콘텐츠를 공급하는 서버 컴퓨터 장치에서 실행되는 것이 바람직하나, 실시예에 따라서는 복수의 서버 장치, 클라우드 서버, 또는 서버와 클라이언트로 분산된 처리 과정에 의하여 실행되어도 본 발명의 사상을 구현하는 데 문제가 없다. 다만 이하의 설명에서는 편의 상 서버 장치에 의해 처리되는 것으로 간주한다.
웹 서비스 콘텐츠를 요청하는 통신 메시지가 서버 장치에 수신(S201)되는 경우, 상기 요청 메시지는 분석된다. 상기 요청 언어의 유형에 따라 처리를 달리하고자 하는 바는 상기 제1 실시예와 동일하다. 요청 메시지에 의하여 특정한 웹 콘텐츠가 요청되는 경우, 서버 장치는 상기 웹 콘텐츠를 준비하기 위하여 해당 웹 콘텐츠의 템플릿을 로드(S202)할 수 있다. 여기에서 로드되는 템플릿은 상기 도 4에서 예시적으로 나타낸 템플릿(400)과 같은 것을 의미한다. 따라서, 상기 로드된 템플릿은 언어 중립적인 상태이다.
다음으로, 상기 요청 메시지의 분석 결과로 요청된 콘텐츠가 제1 언어에 대한 것인지 제2 언어에 대한 것인지가 판단된다(S203). 제2 언어가 한 가지 종류의 언어로 한정되지 않아, 단계 S203에서 둘 이상의 다른 언어에 대한 요청을 구분하여 분기할 수 있음은 상기 제1 실시예와 동일하다.
만약 제1 언어로 된 콘텐츠가 요청된 것으로 판단되는 경우, 콘텐츠의 원본에 해당하는 제1 언어로 된 문자열들을 데이터베이스로부터 불러온다(S204). 이 때 데이터베이스란 상기 도 5에서 나타낸 데이터베이스(500)일 수 있고, 보다 바람직하게는, 도 9에서 예시하는 데이터베이스(900)일 수 있으나, 그 내부에 제1 언어 문자열 테이블(901)만이 구성되어 있을 수 있다. 즉, 제2 실시예에서는 제2 언어를 데이터베이스로부터 획득하지 않는 실시방법이 활용될 수 있다.
단계 S204가 실행되면, 상기 템플릿에서 배치공간마다 지정된 식별부호를 추출하여, 상기 제1 언어 문자열 테이블(901)에서 검색하게 된다. 서버 장치는 상기와 같이 획득된 문자열을 상기 템플릿(400) 상의 각 배치공간에 식별부호로서 대응하여 삽입(S210)할 수 있다. 이로서, 제1 언어로 완성된 웹 콘텐츠가 생성되며, 그 형태는 도 3에 예시된 것과 유사할 수 있다. 상기 콘텐츠 정보가 준비되었으므로 상기 서버 장치는 표시(S230)단계로 이행할 수 있게 된다. 상기 제1 언어 콘텐츠는 S201단계에서 접수된 사용자의 콘텐츠 요청에 응답하는 형태로 웹 콘텐츠로서 표시(S230)될 수 있다. 상기 표시(S230) 단계가 실행되고 나면, 서버 장치의 처리는 별도의 후속 조치 없이 종료될 수 있다.
한편, 제2 언어로 된 콘텐츠가 요청된 것으로 판단되는 경우, 제2 실시예에서는 상기한 바와 동일하게 단계 S204를 실행하여 제1 언어 문자열 테이블(901)로부터 지정된 식별부호에 대응하는 문자열을 획득할 수 있다. 도 9의 예시에서는, 템플릿 상의 식별부호 "P03"을 상기 제1 언어 문자열 테이블(901)에서 검색한 결과로 제1 언어 문자열(910)이 획득된다. 다음으로, 상기 제1 언어 문자열을 번역한다.
상기 번역은 제1 언어로 작성된 문자열을 동일 또는 유사한 의미를 가지는 제2 언어 문장으로 번역하기 위한 것으로, 번역의 수단은 종래의 것이 사용되어도 무방하다.
상기 번역은 상기 서버 장치에 접속하여 상기 번역을 실행하고자 하는 사용자의 입력에 의하여 실시되어도 무방하다. 이 경우, 사용자의 입력에 의하여 문장 번역을 실시하는 과정은 상기 제1 실시예에서 도 7, 도 8, 또는 도 13의 사용자 인터페이스 등에 기초하여 설명한 사용자의 수정 행위와 유사하게 구현될 수 있다. 예를 들어, 사용자는 제2 언어 기준의 문장 교정을 실시하기 위하여 도 8의 인터페이스(800)와 유사한 형태를 활용할 수 있다. 도 8을 참조하여 설명하면, 제2 언어로 된 콘텐츠를 작성하기 위해 글상자(820)마다 제2 언어 문자열을 입력할 수 있도록 하고, 제1 언어로 된 원문을 표시(810)해 주는 방법이 사용될 수 있다. 그 밖에도 제1 언어와 제2 언어를 대조, 번역하도록 지원하기 위하여 상기에 한정되지 않는 다양한 형상으로 인터페이스가 제공될 수 있다. 따라서 상기 도 8의 인터페이스 형상에 한정되지 않는 모든 구현 방법은 본 발명의 사상 범위 내에서 본 발명의 변형된 실시예에 속한다.
또한, 상기 번역은 상기 서버 장치에 의하여 자동화된 방법으로 수행되어도 무방하다. 바람직하게는 기계번역을 실행(S222)함으로써 신속하고 자동화된 번역 콘텐츠의 제공을 가능하도록 할 수 있다.
상기 기계번역을 위해서는 인공지능 장치 또는 소프트웨어가 사용될 수 있으며, 보다 구체적으로는 딥러닝, 컨볼루션 신경망(CNN), 회귀 신경망(RNN), 장단기기억체계(LSTM, Long Short Term Memory)와 같은 인공지능 기술이 활용될 수 있다. 상기 인공지능 장치 또는 소프트웨어는 사전에 번역 기능을 수행하도록 학습된 것일 수 있으며, 번역의 결과를 통하여 재학습 가능하도록 구성되어 있을 수 있다. 또는, 상기 기계번역을 위해서 외부의 장치 또는 소프트웨어 또는 제3자의 장치 또는 소프트웨어와 연동하여 제1 언어를 입력으로 제공하고 제2 언어를 제공받을 수도 있다. 예를 들면, 상용 번역 소프트웨어를 연동하거나, 인터넷 상의 번역 서비스 API와 같은 방식을 채택할 수 있다. 상기 서버 장치에서 기계번역을 실시하기 위한 방법은 다양하게 존재할 수 있으며, 본 발명에서는 기계번역이 실행되는 구체적인 단계 및 방법과 관련하여서는 한정하는 바가 없으므로, 다양한 실시예가 존재할 수 있음이 자명하다.
상기 번역 과정을 통하여 제2 언어로 된 번역문이 획득되면, 상기 획득된 번역문에 대하여 제2 언어를 기준으로 하는 문장 교정을 실시한다(S224). 상기 문장 교정을 통해 수정 사항이 제안되는 경우, 이를 상기 획득된 번역문에 반영함으로써 수정된 번역문을 획득할 수 있다. 상기 수정된 번역문은 제2 언어 번역문으로서 선택되어 해당 문자열을 상기 템플릿(400) 상의 각 배치공간에 식별부호로서 대응하여 삽입(S226)할 수 있다. 이로서, 제2 언어로 완성된 웹 콘텐츠가 생성되며, 그 형태는 도 6에 예시된 것과 유사할 수 있다. 상기 콘텐츠 정보가 준비되었으므로 상기 서버 장치는 표시(S230)단계로 이행할 수 있게 된다. 상기 제2 언어 콘텐츠는 S201단계에서 접수된 사용자의 콘텐츠 요청에 응답하는 형태로 웹 콘텐츠로서 표시(S230)될 수 있다.
상기 문장 교정은 제2 언어로서 상기 획득된 번역문이 제2 언어로서의 현지화된 문장에 근접한지 확인하여 수정하는 모든 교정 방법을 포함하며, 이를테면, 현지화된 표현의 적용, 관용화된 어구의 적용, 철자법 교정, 맞춤법 교정, 단어 교정, 문법 교정, 문맥 교정 등의 방법을 포함할 수 있다.
상기 문장 교정은 상기 서버 장치에 접속하여 상기 문장 교정을 실행하고자 하는 사용자의 입력에 의하여 실시되어도 무방하다. 이 경우, 사용자의 입력에 의하여 문장 교정을 실시하는 과정은 상기 제1 실시예에서 도 7, 도 8, 또는 도 13의 사용자 인터페이스 등에 기초하여 설명한 사용자의 수정 행위와 동일하게 구현될 수 있다. 예를 들어, 사용자는 제2 언어 기준의 문장 교정을 실시하기 위하여 도 7의 인터페이스(700)에서 입력칸 730을 활용할 수 있다. 보다 상세한 설명은 상기 제1 실시예에서의 설명으로 갈음하고 생략한다.
또한, 상기 문장 교정은 상기 서버 장치에 의하여 자동화된 방법으로 수행되어도 무방하다. 이 경우 자동으로 문장 교정을 실행할 수 있는 종래의 어떠한 문장 교정 방법이 본 발명에 적용되더라도 무방하다. 특히, 본 발명의 일 실시예에서, 상기 문장 교정을 위하여 문장 교정 기능을 가진 인공지능 장치 또는 소프트웨어가 사용될 수 있다. 상기 기계 번역을 위한 인공지능에 대해서와 같이, 상기 문장 교정을 위한 인공지능 또한 딥러닝, 컨볼루션 신경망(CNN), 회귀 신경망(RNN), 장단기기억체계(LSTM, Long Short Term Memory)와 같은 인공지능 기술을 활용하여 구현될 수 있다.
상기 문장 교정을 위한 인공지능은 복수의 제2 언어에 대한 요청에 대응하여 복수 구비되어 있을 수 있다. 상술하였듯이 제2 언어는 하나로 특정되지 아니하므로, 서로 다른 제2 언어에 대하여 문장 교정을 실시하기 위한 복수의 인공지능이 구비되어도 무방하다. 예를 들어, 본 발명의 일 실시예는, 한국어 문장 교정을 위한 한국어 맞춤법 교정 인공지능과, 영어 문장 교정을 위한 영어 철자법 교정 인공지능과, 일본어 문장 교정을 위한 일본어 관용어구 적용 인공지능을 모두 구비하고, 각각의 언어에 대한 요청에 대응하여 상기 획득된 번역문을 처리하도록 구성될 수 있다.
상기와 같이 문장 교정 인공지능을 활용하는 경우, 성격이 서로 다른 두 종류의 인공지능 처리를 결합함으로써 보다 양호한 번역 결과물을 획득할 수 있는 효과가 나타난다. 상기 번역 인공지능은 제1 언어로부터 제2 언어로의 초벌 번역을 양호하게 도출하도록 학습될 수 있으며, 상기 문장 교정 인공지능은 제2 언어로 된 문장의 문법을 현지화된 형태에 맞게 양호하게 교정하는 것을 목적으로 학습될 수 있다. 서로 특화된 다른 영역에 대하여 독립적으로 학습된 두 인공지능을 사용함으로써, 번역 인공지능의 번역 수준을 단순 고도화하는 것에 비해 더욱 양호한 기계 번역 결과물을 획득할 수 있다.
보조적으로, 이하 제2 실시예의 확장된 실시예에 관하여 추가적으로 덧붙여 설명한다.
도 14는 본 발명의 제2 실시예로부터 확장된 실시예에 따른 번역문의 처리 및 출력 과정을 나타내는 개념도이다. 도 14는 앞서 제1 실시예에서의 도 12와 일부 부호를 공유한다. 도 14에 따르면, 제1 언어로 작성된 원문(1210)은 제1 번역 인공지능(1220)에 의하여 제2 언어로 기계 번역(1230)되고, 그 다음 제2 언어 대상의 인공지능(1410)에 의하여 수정되어 기계 교정문(1420)이 획득되고, 상기 기계 교정문(1420)이 웹 콘텐츠 템플릿에 삽입되어 사용자에게 표시(1430)될 수 있다.
또한, 본 발명의 확장된 실시예에서, 상기 기계 번역문(1230) 및 기계 교정문(1420)은, 상기 제1 번역 인공지능(1220)이 재학습 가능한 형태인 경우, 상기 제1 번역 인공지능(1220)을 강화 학습하기 위한 자료로 활용될 수 있다.
일 실시예에서, 상기 기계 번역문(1230) 및 기계 교정문(1420)은 각각 제2 언어를 제1 언어로 번역하기 위한 제2 번역 인공지능에 의하여 역번역됨으로써, 각각 제1 역번역문(1450)과 제2 역번역문(1455)을 도출할 수 있다. 이후, 상기 제1 역번역문(1450)과 상기 제2 역번역문(1455)은 각각 원문(1210)과 일치하는 정도가 검사(1460, 1465)된 뒤, 상기 일치도가 비교(1470)될 수 있다. 상기 일치하는 정도의 비교(1470)를 통해 문장 교정 인공지능(1410)이 기계 번역문(1230)을 보다 원문(1210)의 의미에 가깝도록 교정하였는지 여부를 판단할 수 있다.
상기 일치도의 검사(1460, 1465)을 실행하는 과정에서는 다양한 기법이 사용되어 검사의 정확도를 상향할 수 있다. 이를테면, 실질적으로 동일한 수정이 이루어졌더라도 띄어쓰기나 철자법 등의 차이로 인하여 정보적으로는 상이한 문자열로 판단되는 경우가 있을 수 있으므로, 상기 검사를 진행하는 데 있어서 각 입력 문자열을 일반화하여 대조하는 방법이 적용될 수 있다. 상기 일반화를 위해서는, 문자열 코드페이지의 변환(예를 들어, 양측의 정보 표기법을 유니코드 UTF-8 형식으로 통일), 모든 알파벳 문자의 대문자화, 모든 알파벳 문자의 소문자화, 숫자에 포함된 쉼표(,) 및/또는 온점(.) 제거, 문자열 앞/뒤의 공백 제거(trimming), 복수형 단어의 단수형으로의 변환, 동의어/유의어의 대표단어로의 변환 등을 포함하는 다양한 문자열 일반화 방법이 적용될 수 있다.
또 다른 실시예에서는, 상기 일치도의 검사를 진행하기 위해 단어 벡터(vector)를 이용하는 자동화된 문자열 처리 및 비교 프로세스가 사용될 수 있다. 이 같은 고도화된 비교 방법을 상기 판단에 적용하는 경우, 문장 교정 인공지능(1410)에 의한 수정의 영향을 보다 정밀하게 재학습에 반영할 수 있다.
상기 일치도 간의 비교(1470)를 통해, 만약 문장 교정 인공지능(1410)의 영향을 받은 제2 역번역문(1455)이 보다 원문(1210)에 가까운 것으로 판단되는 경우, 기계 교정문(1420)은 주어진 원문(1210)에 대한 신규한 정답으로써 재학습 절차에 의해 제1 번역 인공지능(1220)에 입력(1480)될 수 있다. 이를 통해 상기 제1 번역 인공지능(1220)은, 예를 들어 역전파 방식의 학습을 통하여 번역 과정을 수정하고, 이를 통해 보다 사용자에게 친화적인 기계 번역 결과물을 도출하도록 조율될 수 있다.
또한, 상기 일치도 간의 비교(1470)를 통해, 만약 문장 교정 인공지능(1410)의 영향을 받지 않은 제1 역번역문(1450)이 보다 원문(1210)에 가까운 것으로 판단되는 경우, 제1 역번역문(1450)은 주어진 기계 번역문(1230)에 대한 신규한 정답으로써 재학습 절차에 의해 문장 교정 인공지능(1410)에 입력(1490)될 수 있다. 이를 통해 상기 문장 교정 인공지능(1410)은, 예를 들어 역전파 방식의 학습을 통하여 교정 과정을 수정하고, 이를 통해 보다 사용자에게 친화적인 문장 교정 결과물을 도출하도록 조율될 수 있다.
본 확장된 실시예에서는 상기와 같이 문장 교정 인공지능(1410)의 영향을 받은 번역문(1420)을 기준으로 제1 번역 인공지능(1480) 및/또는 문장 교정 인공지능(1410)을 재학습시킴으로써, 서로 다른 기능을 가진 두 인공지능이 상호 연동하여 자동적으로 성능을 개선하도록 구성할 수 있는 이점이 있다.
도 16은 제2 실시예를 서버 장치로 실시하는 경우의 각부를 나타낸 개념도이다. 웹 콘텐츠 서비스 시스템(1600)에 속한 서버 장치(1610)에는, 적어도 하나의 제1 언어로 작성된 웹 콘텐츠의 원문을 저장하는 데이터베이스부(1611), 언어 정보를 포함하는 웹 콘텐츠 요청을 사용자로부터 수신하고, 상기 요청이 제1 언어 또는 제2 언어 중 어느 하나에 대한 것인지 식별하는 수신부(1612), 웹 콘텐츠 템플릿을 저장소(1612)로부터 로드하고, 제 1 언어로 작성된 적어도 하나의 원문을 상기 데이터베이스로부터 불러오는 로딩부(1613), 상기 제1 언어로 작성된 원문을 번역하여 제2 언어로 된 초벌 번역문을 획득하는 번역부(1614), 상기 초벌 번역문에 문장 교정을 수행하여 제2 언어로 된 교정 번역문을 획득하는 교정부(1615), 상기 웹 콘텐츠 템플릿에 상기 제1 언어로 작성된 원문 또는 상기 제 2 언어로 된 교정 번역문을 삽입하는 삽입부(1616), 상기 콘텐츠를 상기 사용자에게 표시하는 표시부(1617), 및 상기 번역부와 상기 교정부 중 적어도 하나가 기반하고 있는 기계 학습 인공지능을 지도학습시키는 지도학습부(1618)가 포함될 수 있다. 사용자(1630)는 상기 서버 장치(1610)에 대하여 웹 콘텐츠를 요청하고, 그 결과로 표시된 웹 콘텐츠를 제공받는, 종래 웹 콘텐츠 서비스와 동일한 동작을 실시하도록 구성되어도 충분하다.
상기 도 16에 나타난 실시예를 통해 상기 도 2의 순서도를 통해 설명된 제2 실시예가 구현될 수 있으며, 따라서 각부의 상세 동작에 관련한 설명은 상기 도 2 등에 대하여 설명한 내용에서 벗어나지 않으므로 생략한다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 서버 컴퓨터 장치에 의해 다국어 웹 콘텐츠를 제공하는 방법에 있어서,
    적어도 하나의 제1 언어로 작성된 원문마다 적어도 하나의 제 2 언어로 작성된 번역문을 연관시키는 관계형 데이터베이스를 구성하는 단계, 상기 각각의 번역문에는 가중치가 부여됨;
    언어 정보를 포함하는 웹 콘텐츠 요청을 사용자로부터 수신하는 단계;
    웹 콘텐츠 템플릿을 로드하는 단계;
    상기 요청이 제1 언어 또는 제2 언어 중 어느 하나에 대한 것인지 식별하는 단계;
    제1 언어에 대한 요청인 경우, 상기 제1 언어로 작성된 적어도 하나의 원문을 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제1 언어로 작성된 원문을 삽입하는 단계;
    제 2 언어에 대한 요청인 경우, 상기 제 2 언어로 작성된 적어도 하나의 번역문을 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제 2 언어로 작성된 번역문을 삽입하는 단계; 및
    상기 콘텐츠를 상기 사용자에게 표시하는 단계를 포함하는, 다국어 웹 콘텐츠의 제공 방법.
  2. 제 1 항에 있어서,
    상기 제2 언어로 작성된 번역문을 데이터베이스로부터 불러오는 단계는,
    상기 데이터베이스에 상기 번역문이 적어도 하나 존재하는지 확인하는 단계;
    적어도 하나의 번역문이 존재하는 경우, 상기 적어도 하나의 번역문 중 가중치가 가장 높게 부여된 번역문을 획득하는 단계;
    번역문이 존재하지 않는 경우, 제1 언어로 작성된 원문을 제2 언어로 기계번역한 번역문을 획득하고, 상기 번역문을 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하는 단계; 및
    상기 획득된 번역문을 제2 언어로 작성된 번역문으로서 불러오는 단계를 포함하는, 다국어 웹 콘텐츠의 제공 방법.
  3. 제 1 항에 있어서,
    상기 웹 콘텐츠 템플릿은, 적어도 하나의 웹 문서 구성 요소와 적어도 하나의 문단 식별 부호를 포함하고,
    상기 데이터베이스는 상기 문단 식별 부호를 상기 제1 언어로 작성된 원문 및 제2 언어로 작성된 번역문을 식별하는 데 사용하고, 상기 데이터베이스부에서 동일한 제1 언어 원문은 동일한 문단 식별 부호를 공유하도록 구성되는, 다국어 웹 콘텐츠의 제공 방법.
  4. 제 3 항에 있어서,
    상기 웹 콘텐츠 템플릿에 원문 또는 번역문을 삽입하는 단계는,
    상기 웹 콘텐츠 템플릿의 문단 식별 부호에 대응하는 상기 원문 또는 상기 번역문을 상기 문단 식별 부호를 대체하여 삽입함으로써, 상기 웹 문서 구성 요소와 상기 원문 또는 상기 번역문이 결합되어 웹 콘텐츠를 형성하도록 하는 단계인, 다국어 웹 콘텐츠의 제공 방법.
  5. 제 1 항에 있어서,
    상기 사용자로부터 수정된 번역문을 입력받는 단계; 및
    상기 수정된 번역문을 상기 데이터베이스에 저장하는 단계를 더 포함하는, 다국어 웹 콘텐츠의 제공 방법.
  6. 제 5 항에 있어서,
    상기 수정된 번역문을 데이터베이스에 저장하는 단계는,
    상기 데이터베이스에서 수정되기 이전 번역문의 가중치를 하향하는 단계;
    상기 데이터베이스에 상기 수정된 번역문과 동일한 번역문이 존재하는지 확인하는 단계;
    동일한 번역문이 존재하는 경우, 상기 데이터베이스에서 해당 번역문의 가중치를 상향하는 단계; 및
    동일한 번역문이 존재하지 않는 경우, 상기 번역문을 상기 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하는 단계를 포함하는, 다국어 웹 콘텐츠의 제공 방법.
  7. 제 6 항에 있어서,
    상기 데이터베이스에 저장된 번역문의 가중치가 소정의 임계값 이하가 되는 경우, 상기 데이터베이스에서 해당 번역문을 삭제하는 단계를 더 포함하는, 다국어 웹 콘텐츠의 제공 방법
  8. 제 5 항에 있어서,
    상기 사용자로부터 수정된 번역문을 입력받는 단계는,
    상기 사용자에게 제1 언어로 된 원문과 제2 언어로 된 번역문을 함께 표시하는 단계;
    상기 제2 언어로 된 번역문을 사용자가 수정할 수 있도록 제공하는 단계; 및
    상기 사용자가 수정한 번역문을 입력으로 획득하는 단계를 포함하는, 다국어 웹 콘텐츠의 제공 방법.
  9. 제 8 항에 있어서,
    상기 사용자로부터 수정된 번역문을 입력받는 단계는,
    상기 제2 언어로 된 수정된 번역문을 제1 언어로 기계 번역한 역번역문을 더 표시하는 단계; 또는
    상기 제2 언어로 수정된 번역문을 제1 언어로 기계 번역한 뒤 다시 제2 언어로 기계 번역한 2차 역번역문을 더 표시하는 단계 중 적어도 하나의 단계를 더 포함하는, 다국어 웹 콘텐츠의 제공 방법.
  10. 제 8 항 또는 제 9 항 중 어느 한 항에 있어서,
    상기 제2 언어로 된 번역문을 사용자가 수정할 수 있도록 제공하는 단계는,
    상기 웹 콘텐츠 템플릿에 원문 또는 번역문을 삽입하는 단계에서 상기 번역문을 WYSIWYG 편집기의 형태로 제공함에 따라 동작하는 것을 특징으로 하는, 다국어 웹 콘텐츠의 제공 방법.
  11. 서버 장치와 클라이언트 장치로 구성되어 다국어 웹 콘텐츠를 제공하는 시스템에 있어서,
    상기 서버 장치는, 데이터베이스부, 웹 콘텐츠 템플릿 저장소, 수신부, 웹 콘텐츠 합성부, 웹 콘텐츠 출력부를 포함하고;
    상기 데이터베이스부는, 적어도 하나의 제1 언어로 작성된 원문마다 적어도 하나의 제 2 언어로 작성된 번역문을 연관시키고, 상기 각각의 번역문에는 가중치가 부여되어 있고;
    상기 웹 콘텐츠 템플릿 저장소는, 적어도 하나의 웹 콘텐츠에 대한 템플릿 정보를 저장하고;
    상기 수신부는, 언어 정보를 포함하는 웹 콘텐츠 요청을 사용자로부터 수신하고;
    상기 웹 콘텐츠 합성부는, 상기 요청된 웹 콘텐츠 템플릿을 로드하고, 상기 요청이 제1 언어 또는 제2 언어 중 어느 하나에 대한 것인지 식별하고, 제1 언어에 대한 요청인 경우, 상기 제1 언어로 작성된 적어도 하나의 원문을 상기 데이터베이스부의 관계형 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제1 언어로 작성된 원문을 삽입하고, 제 2 언어에 대한 요청인 경우, 상기 제 2 언어로 작성된 적어도 하나의 번역문을 상기 데이터베이스부의 관계형 데이터베이스로부터 불러오고, 상기 웹 콘텐츠 템플릿에 상기 제 2 언어로 작성된 번역문을 삽입하고, 상기 어느 하나의 삽입의 결과로써 합성된 웹 콘텐츠를 획득하고; 그리고
    상기 웹 콘텐츠 출력부는 상기 합성된 웹 콘텐츠를 상기 사용자에게 전송하도록 구성되고,
    상기 클라이언트 장치는, 통신부 및 표시부를 포함하고;
    상기 통신부는, 상기 서버 장치에 제1 언어 또는 제2 언어 중 적어도 하나의 언어 정보를 포함하는 웹 콘텐츠 요청을 송신하고, 상기 서버 장치로부터 합성된 웹 콘텐츠를 수신하고,
    상기 표시부는, 상기 수신된 웹 콘텐츠를 사람이 식별 가능한 형태로 해석하여 출력하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  12. 제 11 항에 있어서,
    상기 서버 장치는, 기계 번역부를 더 포함하고,
    상기 웹 콘텐츠 합성부는, 상기 제2 언어로 작성된 번역문을 불러오는 데 있어서,
    상기 데이터베이스부의 관계형 데이터베이스에 상기 번역문이 적어도 하나 존재하는지 확인하고;
    적어도 하나의 번역문이 존재하는 경우, 상기 적어도 하나의 번역문 중 가중치가 가장 높게 부여된 번역문을 획득하고;
    번역문이 존재하지 않는 경우, 상기 기계 번역부를 통하여 제1 언어로 작성된 원문을 제2 언어로 기계번역한 번역문을 획득하고, 상기 번역문을 상기 데이터베이스부의 관계형 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하고; 그리고
    상기 획득된 번역문을 제2 언어로 작성된 번역문으로서 불러오도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  13. 제 11 항에 있어서,
    상기 웹 콘텐츠 템플릿은,
    적어도 하나의 웹 문서 구성 요소와 적어도 하나의 내용 문단을 포함하고, 상기 각각의 내용 문단은 문단 식별 부호로 대체되고,
    상기 문단 식별 부호는 상기 상기 데이터베이스부에 의하여 상기 제1 언어로 작성된 원문 및 제2 언어로 작성된 번역문을 식별하는 데 사용되는, 다국어 웹 콘텐츠 제공 시스템.
  14. 제 13 항에 있어서,
    상기 웹 콘텐츠 합성부는,
    상기 웹 콘텐츠 템플릿의 문단 식별 부호에 대응하는 상기 원문 또는 상기 번역문을 상기 문단 식별 부호를 대체하여 삽입함으로써, 상기 웹 문서 구성 요소와 상기 원문 또는 상기 번역문이 결합되어 웹 콘텐츠를 형성하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  15. 제 11 항에 있어서,
    상기 클라이언트 장치는,
    상기 사용자로부터 수정된 번역문을 입력받는 입력부를 더 포함하고,
    상기 표시부는, 상기 사용자에게 제1 언어로 된 원문과 제2 언어로 된 번역문을 함께 표시하고, 상기 제2 언어로 된 번역문을 사용자가 수정할 수 있도록 제공하고,
    상기 입력부는, 상기 사용자가 수정한 번역문을 입력으로 획득하도록 구성되고,
    상기 통신부는, 상기 수정된 번역문을 상기 서버 장치로 전송하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  16. 제 15 항에 있어서,
    상기 서버 장치의 수신부는, 상기 클라이언트 장치로부터 상기 수정된 번역문을 수신하고,
    상기 데이터베이스부는, 상기 수신부가 수신한 수정된 번역문을 관계형 데이터베이스에 저장하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  17. 제 16 항에 있어서,
    상기 데이터베이스부는,
    상기 수정된 번역문을 관계형 데이터베이스에 저장함에 있어서,
    상기 관계형 데이터베이스에서 수정되기 이전 번역문의 가중치를 하향하고, 상기 관계형 데이터베이스에 상기 수정된 번역문과 동일한 번역문이 존재하는지 확인하고, 동일한 번역문이 존재하는 경우, 상기 관계형 데이터베이스에서 해당 번역문의 가중치를 상향하고, 동일한 번역문이 존재하지 않는 경우, 상기 번역문을 상기 데이터베이스에 저장하고, 상기 번역문에 초기 가중치를 지정하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  18. 제 17 항에 있어서,
    상기 데이터베이스부는,
    상기 관계형 데이터베이스에 저장된 번역문의 가중치가 소정의 임계값 이하가 되는 경우, 상기 관계형 데이터베이스에서 해당 번역문을 삭제하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  19. 제 15 항에 있어서,
    상기 표시부는,
    상기 제2 언어로 된 수정된 번역문을 제1 언어로 기계 번역한 역번역문, 및/또는 상기 제2 언어로 수정된 번역문을 제1 언어로 기계 번역한 뒤 다시 제2 언어로 기계 번역한 2차 역번역문 중 적어도 하나를 더 표시하도록 구성되는, 다국어 웹 콘텐츠 제공 시스템.
  20. 제 15 항 또는 제 19 항 중 어느 한 항에 있어서,
    상기 입력부는, WYSIWYG 편집기의 형태로 제공되는, 다국어 웹 콘텐츠 제공 시스템.
KR1020220044584A 2022-04-11 2022-04-11 실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템 KR20230146166A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220044584A KR20230146166A (ko) 2022-04-11 2022-04-11 실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220044584A KR20230146166A (ko) 2022-04-11 2022-04-11 실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20230146166A true KR20230146166A (ko) 2023-10-19

Family

ID=88507796

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220044584A KR20230146166A (ko) 2022-04-11 2022-04-11 실시간 웹 서비스를 위한 번역문 교정 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20230146166A (ko)

Similar Documents

Publication Publication Date Title
US9053202B2 (en) Apparatus and methods for user generated translation
US7447624B2 (en) Generation of localized software applications
US8468149B1 (en) Multi-lingual online community
US9747281B2 (en) Generating multi-language social network user profiles by translation
KR101099196B1 (ko) 적응형 기계 번역
US10229220B2 (en) Automatic entry of suggested translated terms in an online application program
US8626486B2 (en) Automatic spelling correction for machine translation
US5497319A (en) Machine translation and telecommunications system
US20180060297A1 (en) Method and apparatus for natural language query in a workspace analytics system
US20170185569A1 (en) System and method for generating task-embedded documents
US20060100849A1 (en) Pointer initiated instant bilingual annotation on textual information in an electronic document
US20030009323A1 (en) Application platform for developing mono-lingual and multi-lingual systems and generating user presentations
US20080019281A1 (en) Reuse of available source data and localizations
US20200012717A1 (en) Artificial intelligence and crowdsourced translation platform
US20150024351A1 (en) System and Method for the Relevance-Based Categorizing and Near-Time Learning of Words
CN105787001A (zh) 跨语言信息检索
US11418622B2 (en) System and methods for web-based software application translation
US20200026738A1 (en) Verifying character sets in domain name requests
US11361169B2 (en) Method and server for training a machine learning algorithm for translation
US20170331786A1 (en) Generating domain names comprising multiple languages
US20190079907A1 (en) Auto completing domain names comprising multiple languages
KR20230146167A (ko) 실시간 웹 서비스를 위한 번역문 자동 교정 방법 및 시스템
KR20210013991A (ko) 번역예 검색 기능을 갖는 특허 문서 작성 장치, 방법, 컴퓨터 프로그램, 컴퓨터로 판독 가능한 기록매체, 서버 및 시스템
GB2355817A (en) Generating customised documents
US8327261B2 (en) Multilingual tagging of content with conditional display of unilingual tags