Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020197257 - PROCÉDÉ DE TRADUCTION UTILISANT DES ÉLÉMENTS REPRÉSENTÉS VISUELLEMENT, ET DISPOSITIF ASSOCIÉ

Document

명세서

발명의 명칭

기술분야

1  

배경기술

2   3   4  

발명의 상세한 설명

기술적 과제

5   6   7   8   9   10  

과제 해결 수단

11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30  

도면의 간단한 설명

31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   82  

발명의 실시를 위한 형태

83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99   100   101   102   103   104   105   106   107   108   109   110   111   112   113   114   115   116   117   118   119   120   121   122   123   124   125   126   127   128   129   130   131   132   133   134   135   136   137   138   139   140   141   142   143   144   145   146   147   148   149   150   151   152   153   154   155   156   157   158   159   160   161   162   163   164   165   166   167   168   169   170   171   172   173   174   175   176   177   178   179   180   181   182   183   184   185   186   187   188   189   190   191   192   193   194   195   196   197   198   199   200   201   202   203   204   205   206   207   208   209   210   211   212   213   214   215   216   217   218   219   220   221   222   223   224   225   226   227   228   229   230   231   232   233   234   235   236   237   238   239   240   241   242   243   244   245   246   247   248   249   250   251   252   253   254   255   256   257   258   259   260   261   262   263   264   265   266   267   268   269   270   271   272   273   274   275   276   277   278   279   280   281   282   283   284   285   286   287   288   289   290   291   292   293   294   295   296   297   298   299   300   301   302   303   304   305   306   307   308   309   310   311   312   313   314   315   316   317   318   319   320   321   322   323   324   325   326   327   328   329   330   331   332   333   334   335   336   337   338   339   340  

청구범위

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20  

도면

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63  

명세서

발명의 명칭 : 가시적 표현 요소를 이용한 번역 방법 및 그 장치

기술분야

[1]
본 발명은 가시적 표현 요소를 이용한 번역 방법 및 장치에 관한 것이다. 보다 자세하게는, 문장 요소를 가시적으로 표시하고 이를 이용하여 번역을 수행하는 번역 방법 및 장치에 관한 것이다.

배경기술

[2]
문장은 단어, 어순 및 구조 등 다양한 문장 요소로 구성되어 있다. 하지만 언어마다 문장을 이루는 문장 요소가 상이하므로 다양한 문장을 데이터베이스화 하기에는 한계가 존재한다.
[3]
특히 최근 컴퓨터에 의해 수행되는 기계 번역은 통계 기반 기계 번역 및 인공신경망 기계 번역이 주를 이루고 있다. 상기 통계 기반 기계 번역과 인공신경망 기계 번역은 딥 러닝을 활용하기 때문에, 컴퓨터는 입력된 학습 데이터를 바탕으로 스스로 학습한다. 따라서, 정확도가 높은 기계번역을 위하여는 다량의 학습데이터가 필수적이고, 다량의 학습데이터를 처리하기 위하여 오랜 시간의 학습 시간이 필요하다.
[4]
또한 컴퓨터는 사용자에게 번역 결과만을 표시할 뿐 번역 과정 및 번역 방법에 대한 정보는 표시하지 않는다. 번역 과정이 가시적으로 표시되지 않으므로, 사용자는 번역이 올바르게 수행되었는지 확인할 수 없고, 사용자는 번역 결과가 마음에 들지 않더라도 문장의 어떤 문장 요소를 수정해야 하는지 알 수 없다. 따라서 이를 해결하기 위한 기술의 제공이 요구된다.

발명의 상세한 설명

기술적 과제

[5]
본 발명이 해결하고자 하는 기술적 과제는, 문장 요소를 노드와 간선으로 표시하여 문장의 어순 및 문장 요소와의 관계를 가시적으로 파악할 수 있게 하는 방법 및 그 장치를 제공하는 것이다.
[6]
본 발명이 해결하고자 하는 다른 기술적 과제는, 문장에 표시되어 있지 않은 문장 요소가 문장에서 갖는 의미를 가시적으로 파악할 수 있게 하는 방법 및 그 장치를 제공하는 것이다.
[7]
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 문장 요소를 가시화하여 표시한 번역 결과에 대한 사용자의 피드백을 받아 정확한 번역 결과를 제공하는 방법 및 그 장치를 제공하는 것이다.
[8]
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 가시적 표현 요소를 통해 번역 결과를 그래픽적으로 표현함으로써 사용자가 손쉽게 번역된 의미를 확인하고 그 내용을 수정할 수 있는 방법 및 그 장치를 제공하는 것이다.
[9]
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 번역 오류가 발생하기 쉬운 중의적 표현 번역에 있어 번역된 의미를 그래픽적으로 표현함으로써 중의적 표현이 올바른 의미로 번역되었는지 손쉽게 확인하고 잘못 번역된 경우 이를 바로잡을 수 있도록 하는 방법 및 장치를 제공하는 것이다.
[10]
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.

과제 해결 수단

[11]
상기 기술적 과제들을 해결하기 위한 본 발명의 일 실시예에 따른 컴퓨팅장치에 의해 수행되는 번역 방법은 제1 언어의 제1 문장의 데이터를 얻되, 상기 제1 문장은 제1 형태소 및 제2 형태소를 포함하는 것인 단계, 상기 제1 문장을 표현하는 제1 그래프를 생성하되, 상기 제1 그래프의 노드(node)는 상기 제1 문장의 각각의 제1 형태소에 대응되는 것이고, 상기 제1 그래프의 간선(edge)은 상기 제1 문장의 각각의 제2 형태소에 대응되는 것이며, 상기 제1 그래프를 제1 순서로 순회(traverse)하면서 각 노드와 각 간선에 대응되는 표현을 연결(concatenation)하면 상기 제1 문장이 완성되도록 상기 제1 그래프의 노드 및 간선을 연결하는 단계, 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이한 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계, 및 상기 제1 문장의 제2 언어로의 번역 결과로서 상기 제2 문장을 출력하는 단계를 포함한다.
[12]
일 실시예로서, 상기 제1 그래프를 생성하는 단계는 상기 제1 그래프의 간선에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선의 출발지 및 목적지 중 어느 하나 이상을 변경하는 단계, 및 상기 변경된 간선을 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
[13]
일 실시예로서, 상기 제1 그래프를 생성하는 단계는 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하는 단계, 및 상기 분할된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
[14]
일 실시예로서, 상기 제1 그래프를 생성하는 단계는 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하여 하나 이상의 노드 및 하나 이상의 간선으로 대체되는 단계, 및 상기 대체된 하나 이상의 노드 및 하나 이상의 간선을 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
[15]
일 실시예로서, 상기 제1 그래프를 생성하는 단계는 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 다른 노드와 병합하는 단계, 및 상기 병합된 노드를 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
[16]
일 실시예로서, 상기 제1 그래프를 생성하는 단계는 상기 제1 그래프의 간선 및 노드 중 어느 하나에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선과 노드가 병합되어 새로운 노드로 대체되는 단계, 및 상기 대체된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
[17]
일 실시예로서, 상기 제2 언어의 제2 문장을 얻는 단계는 상기 각 노드에 대응되는 제2 언어의 표현 또는 각 간선에 대응되는 제2 언어의 표현중 어느 하나 이상이 생략 가능한 형태소인 경우 상기 생략 가능한 제2 언어의 표현을 연결하지 않고 상기 제2 언어의 제2 문장을 얻는 단계를 포함할 수 있다.
[18]
일 실시예로서, 상기 제2 언어의 제2 문장을 얻는 단계는 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이하고 이전 사용자의 번역 기록을 이용하여 지정된 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써 상기 제2 언어의 제2 문장을 얻는 단계를 포함할 수 있다.
[19]
일 실시예로서, 상기 제2 언어의 제2 문장을 얻는 단계는 기 지정된 사용자의 입력을 수신하는 것에 응답하여 상기 제1 그래프를 상기 제2 순서와 적어도 일부는 상이한 제3 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계를 포함할 수 있다.
[20]
상기 기술적 과제들을 해결하기 위한 본 발명의 일 실시예에 따른 컴퓨팅장치에 의해 수행되는 번역 방법은 제1 언어로 표현된 제1 단어의 의미를 포함하는 상기 제1 단어의 제1 태그 정보를 생성하는 단계, 상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인 단계, 및 상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함한다.
[21]
일 실시예로서, 상기 제4 문장의 데이터를 제1 단어의 제3 태그 정보를 생성하는 단계는, 상기 제1 단어를 포함하는 제3 문장의 데이터를 얻는 것에 응답하여, 상기 제3 문장의 데이터를 이용하여 상기 제1 단어의 제2 태그 정보를 생성하되, 상기 제1 단어의 제2 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인 단계, 상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제2 태그 정보를 포함하는 것인 단계, 및 상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함할 수 있다.
[22]
일 실시예로서, 상기 제1 단어의 제1 태그 정보를 생성하는 단계는 상기 제1 언어에만 존재하는 상기 제1 단어의 속성과 관련된 정보를 더 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함할 수 있다.
[23]
상기 기술적 과제들을 해결하기 위한 본 발명의 일 실시예에 따른 컴퓨팅장치에 의해 수행되는 번역 방법은 입력 정보를 획득하는 단계, 상기 입력 정보를 번역하여 출력 정보를 생성하고 상기 출력 정보에 대응하는 그래픽 요소가 포함된 부가 정보를 생성하는 단계, 및 상기 그래픽 요소에 대한 사용자 조작에 응답하여 상기 그래픽 요소를 변경하되 상기 그래픽 요소의 변경과 상응하도록 상기 출력 정보를 수정하는 단계를 포함한다.
[24]
일 실시예로서, 상기 부가 정보를 생성하는 단계는 상기 입력 정보에 중의적 표현이 포함되어 있는지 확인하는 단계, 상기 중의적 표현에 대응하는 복수의 의미들 중 어느 하나로 상기 중의적 표현의 의미를 결정하는 단계, 및 상기 그래픽 요소가 상기 결정된 의미를 표현하도록 하는 단계를 포함할 수 있다.
[25]
일 실시예로서, 상기 중의적 표현의 의미를 결정하는 단계는 상기 입력 정보 내에서 상기 중의적 표현이 포함된 제1 부분 및 상기 제1 부분과 인접한 제2 부분을 확인하는 단계, 및 상기 중의적 표현을 상기 복수의 의미 중 제1 의미를 표현한 제1 그래픽 요소와 상기 제2 부분과 대응하는 제2 그래픽 요소를 비교하여 상기 제1 의미로 상기 중의적 표현의 의미를 결정하는 단계를 포함할 수 있다.
[26]
일 실시예로서, 상기 출력 정보를 수정하는 단계는 상기 그래픽 요소의 적어도 일부를 다른 그래픽 요소로 대체하기 위한 사용자 입력을 수신하는 단계, 상기 사용자 입력에 응답하여 상기 그래픽 요소를 변경하는 단계, 및 상기 그래픽 요소의 변경과 상응하도록 상기 출력 정보를 수정하는 단계를 포함할 수 있다.
[27]
일 실시예로서, 상기 출력 정보를 수정하는 단계는 상기 그래픽 요소에 다른 그래픽 요소를 추가하기 위한 사용자 입력을 수신하는 단계, 상기 사용자 입력에 응답하여 상기 그래픽 요소를 변경하는 단계, 및 상기 그래픽 요소의 변경과 상응하도록 상기 출력 정보를 수정하는 단계를 포함할 수 있다.
[28]
일 실시예로서, 상기 출력 정보 중 제1 부분과 상기 그래픽 요소 중 제1 그래픽 요소를 시각적으로 연관시키는 단계를 더 포함하고, 상기 제1 그래픽 요소는 상기 제1 부분의 언어적 의미를 나타내고, 상기 제1 부분과 상기 제1 그래픽 요소를 동일한 색상으로 강조하거나 표시될 수 있다.
[29]
일 실시예로서, 상기 제1 부분은 복수의 단어 또는 구문을 포함하고 상기 제1 그래픽 요소는 상기 복수의 단어 또는 구문의 언어적 의미를 각각 나타내는 복수의 그래픽 요소를 포함할 수 있다.
[30]
일 실시예로서, 상기 복수의 단어 또는 구문과 상기 복수의 그래픽 요소의 서로 대응하는 각각의 쌍은 순차적으로 강조되거나 표시될 수 있다.

도면의 간단한 설명

[31]
도 1은 본 발명의 일 실시예에 따른 그래프를 이용하여 입력데이터의 의미를 파악하는 방법에 대한 순서도이다.
[32]
도 2는 본 발명의 일 실시예에 따른 문장을 그래프로 가시화하여 번역하는 방법에 대한 순서도이다.
[33]
도 3은 도 1 의 일부 동작을 상세히 설명하기 위한 순서도이다.
[34]
도 4는 도 3 의 일부 동작을 상세히 설명하기 위한 순서도이다.
[35]
도 5는 도 4 의 일부 동작을 상세히 설명하기 위한 순서도이다.
[36]
도 6 내지 도 7은 본 발명의 일 실시예에 따른 특정 단어를 공통적으로 포함하는 복수개의 문장을 해석하는 방법을 설명하기 위한 도면이다.
[37]
도 8은 본 발명의 일 실시예에 따른 문장을 행렬의 형태로 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[38]
도 9 내지 도 10은 도 2의 일부 동작을 상세히 설명하기 위한 도면이다.
[39]
도 11은 본 발명의 일 실시예에 따른 문장을 노드와 간선으로 구성된 그래프 형태로 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[40]
도 12 내지 도 14는 본 발명의 일 실시예에 따른 생략되는 형태소를 포함하는 문장을 가시화하여 표시하는 방법을 설명하기 위한 도면이다.
[41]
도 15는 본 발명의 일 실시예에 따른 문장을 해석하는 순서 및 간선에 대응되는 형태소를 그래프에서 표시하도록 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[42]
도 16은 본 발명의 일 실시예에 따른 문장을 도형으로 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[43]
도 17은 본 발명의 일 실시예에 따른 간선에 대응되는 형태소를 그래프에서 표시하지 않도록 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[44]
도 18 내지 도 19는 본 발명의 일 실시예에 따른 높임말을 포함하는 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[45]
도 20은 본 발명의 일 실시예에 따른 성별에 따른 태그를 포함하는 단어를 포함하는 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[46]
도 21은 본 발명의 일 실시예에 따른 동일한 의미를 갖는 복수개의 능동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[47]
도 22는 본 발명의 일 실시예에 따른 동일한 의미를 갖는 복수개의 수동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[48]
도 23은 본 발명의 일 실시예에 따른 복수개의 문장 각각을 이미지로 번역하는 방법을 설명하기 위한 도면이다.
[49]
도 24는 도 1 의 일부 동작을 상세히 설명하기 위한 순서도이다.
[50]
도 25는 본 발명의 일 실시예에 따른 가시화된 수동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[51]
도 26은 본 발명의 일 실시예에 따른 가시화된 수동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
[52]
도 27은 본 발명의 일 실시예에 따른 가시화된 문장을 이용하여 각 노드 및 각 간선 마다 번역을 수행하는 방법을 설명하기 위한 도면이다.
[53]
도 28은 본 발명의 일 실시예에 따른 중의적 의미를 갖는 단어 또는 복합어를 포함하는 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[54]
도 29 내지 도 30은 본 발명의 일 실시예에 따른 번역 결과를 변경할 수 있는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[55]
도 31은 본 발명의 일 실시예에 따른 간선의 방향을 변경하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[56]
도 32는 본 발명의 일 실시예에 따른 특정 형태소를 자동으로 수정하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[57]
도 33은 본 발명의 일 실시예에 따른 어순을 수정하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[58]
도 34는 본 발명의 일 실시예에 따른 그래프로 가시화된 문장의 간선을 삭제하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[59]
도 35 내지 도 36은 본 발명의 일 실시예에 따른 문장이 가시화된 그래프의 형태를 변경하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[60]
도 37 내지 도 39는 본 발명의 일 실시예에 따른 중의적 의미를 갖는 단어의 해석 방법을 변경하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[61]
도 40은 본 발명의 일 실시예에 따른 생략된 형태소의 해석을 수정하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[62]
도 41은 본 발명의 일 실시예에 따른 제1 언어에서 명시되지 않은 문장 요소를 포함하여 제2 문장을 가시화하여 해석하는 방법을 설명하기 위한 도면이다.
[63]
도 42는 본 발명의 일 실시예에 따른 그래프로 가시화된 문장 번역 시스템의 구성도이다.
[64]
도 43 내지 도 45는 본 발명의 일 실시예에 따른 이전의 번역 기록을 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
[65]
도 46은 본 발명의 실시예들에 따른 번역 방법을 수행하는 장치의 일 실시예를 나타내는 하드웨어 구성도이다.
[66]
도 47은 본 발명의 실시예들에 따른 번역 방법을 수행하는 장치의 다른 실시예를 나타내는 하드웨어 구성도이다.
[67]
도 48은 본 발명의 일 실시예에 따른 부가 정보를 이용한 번역 방법을 나타내는 순서도이다.
[68]
도 49는 입력 정보를 번역하여 출력 정보 및 부가 정보를 생성하는 방법을 개념적으로 도시하는 도면이다.
[69]
도 50은 도 48에 도시된 S1300 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
[70]
도 51은 그래픽 요소를 다른 그래픽 요소로 대체하거나 수정하여 번역 결과를 수정하는 방법을 개념적으로 설명하는 도면이다.
[71]
도 52는 도 48에 도시된 S1300 단계를 더욱 구체화한 다른 일 실시예를 나타내는 순서도이다.
[72]
도 53은 그래픽 요소에 다른 그래픽 요소를 추가하여 번역 결과를 수정하는 방법을 개념적으로 설명하는 도면이다.
[73]
도 54는 도 48의 S1100 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
[74]
도 55은 도 54에 도시된 각 단계들을 개념적으로 풀어 설명하기 위한 도면이다.
[75]
도 56는 도 48의 S1200 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
[76]
도 57은 도 56에 도시된 각 단계들을 개념적으로 풀어 설명하기 위한 도면이다.
[77]
도 58은 도 56의 S1220 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
[78]
도 59는 도 58에 도시된 각 단계들을 개념적으로 풀어 설명하기 위한 도면이다.
[79]
도 60은 도 56의 S1220 단계를 더욱 구체화한 다른 일 실시예를 나타내는 순서도이다.
[80]
도 61는 도 48에 도시된 S1400 단계를 구체적인 예시를 통해 부연 설명하는 도면이다.
[81]
도 62는 도 61의 실시예에 있어서 각 단어 및 구문의 어순에 따라 번역이 수행된 과정 및 방법을 시각적으로 표현하는 일 실시예를 설명하는 도면이다.
[82]
도 63은 본 발명의 실시예들에 따른 번역 방법을 수행하는 장치의 또 다른 실시예를 나타내는 하드웨어 구성도이다.

발명의 실시를 위한 형태

[83]
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
[84]
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
[85]
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
[86]
다양한 형태의 데이터(예를 들어, 영상, 사진, 텍스트, 소리 또는 미가공 데이터)는 각각에 대한 전처리를 통해 텍스트 형태의 문장으로 획득될 수 있다. 특히, 텍스트 형태의 문장은 특정 언어로 표현되기 때문에, 상기 문장을 사용자가 이해하기 위하여는 사용자가 원하는 언어로 상기 복수개의 문장의 번역을 수행하여야 한다.
[87]
하지만 사람이 전혀 관여하지 않는 종래 기계 번역에서 부자연스럽거나 잘못된 번역 결과가 생성된 경우, 사용자가 직접 번역 결과를 수정하거나, 부자연스러운 상태의 문장을 그대로 사용할 수 밖에 없다는 한계가 존재하였다.
[88]
기존의 번역 기술은 문장이 번역되는 방법 및 과정에 대한 정보를 전혀 표시하지 못하므로, 부자연스럽거나 잘못된 번역 결과가 도출되어도 사용자가 번역 과정에 대한 피드백을 할 수 없기 때문이다.
[89]
본 발명의 몇몇 실시예에 따른 문장 번역 방법을 이용하는 경우, 사용자는 번역이 도출된 과정을 확인하고, 번역 과정 내에 존재하는 오번역의 원인을 손쉽게 수정함으로써 더욱 완성도 높은 번역이 수행될 수 있다.
[90]
[91]
1. 문장 요소 및 문장 요소간 관계를 가시화하여 번역하는 방법
[92]
본 섹션에서는 문장 요소 및 문장 요소간 관계를 가시적 표현 요소로 가시화하고, 이를 이용하여 번역을 수행하는 방법과 관련된 다양한 실시예를 개시한다. 이하, 도 1 내지 도 47을 참조하여, 관련된 실시예들에 대해 상세히 설명한다.
[93]
도 1은 다양한 입력 데이터를 이용하여 상기 입력 데이터에 대응되는 문장의 의미를 파악하는 방법을 나타내는 순서도이다.
[94]
단계 S10에서 다양한 형태의 입력 데이터가 수신될 수 있다. 입력 데이터의 종류는 예를 들어 영상, 사진, 텍스트, 소리 및 다양한 종류의 미가공 데이터일 수 있다.
[95]
단계 S20에서 상기 입력 받은 다양한 형태의 데이터가 전처리 되어 텍스트 형태의 하나 이상의 문장으로 변환될 수 있다. 예를 들어 사용자의 음성 데이터의 경우 STT(Speech To Text)를 사용하여 텍스트 형태로 변환될 수 있고, 이미지 또는 동영상의 경우 객체 인식 기술 등을 사용하여 컨텐츠의 내용이 텍스트 형태로 변환될 수 있다.
[96]
이후 단계 S30에서 상기 텍스트 형태의 문장이 형태소와 같은 작은 문장 요소 단위로 분할 되고, 상기 하나 이상의 문장 및 단어 각각의 의미가 해석될 수 있다.
[97]
단계 S40에서 문장에 대응되는 그래프가 생성될 수 있다.
[98]
단계 S50에서 상기 문장에 대응되는 그래프를 이용하여 문장의 내용이 파악될 수 있다. 본 발명의 몇몇 실시예에 따르면 상기 그래프를 이용하여 다른 언어의 표현으로 상기 그래프에 대응되는 문장을 번역할 수 있고, 상기 그래프에 대응되는 컨텐츠를 생성하여 복수개의 그래프에 대응되는 문장의 내용에 상응하는 애니메이션이 생성될 수도 있다. 또한 그래프 형태로 문장을 표현함으로써 상기 문장의 의미 및 구성이 체계적으로 데이터베이스화 될 수 있고, 문장의 데이터베이스화를 통해 사람이 아닌 기계가 상기 문장의 의미를 체계적으로 분석할 수 있다.
[99]
이하 도 2를 참조하여 본 발명의 일 실시예에 따른 문장을 가시화하여 번역하는 방법에 대하여 설명한다.
[100]
단계 S100에 따르면 획득한 제1 문장은 형태소 단위로 분할될 수 있다.
[101]
상기 제1 문장은 외부 서버로부터 수신될 것일 수 있고, 이미 획득된 문장일 수 있다. 또한 제1 문장은 다양한 기술을 통하여 형태소 단위로 분할될 수 있다. 종래 자연어처리 모델이 이용될 수 있고 딥 러닝 기반의 형태소 분석기가 이용될 수도 있다. 형태소 분할 방법은 이에 한하지 않고 통상의 기술자가 이용할 수 있는 다양한 형태소 분석 방법이 모두 이용될 수 있다.
[102]
예를 들어 "나는 너를 사랑한다"라는 문장이 획득된 경우, 단계 S100에서 "나/는/너/를/사랑한다"와 같이 형태소 단위로 분할될 수 있다.
[103]
또한 본 발명의 몇몇 실시예에 따라 문장은 명사 형태소와 명사가 아닌 그 외의 기타 형태소로 분류될 수 있다. 다만 이는 문장의 형태소를 구별하는 기준의 예시일 뿐 반드시 본 발명의 몇몇 실시예에 따른 문장 요소가 명사 형태소와 명사가 아닌 형태소로 구분되는 것은 아님에 유의한다.
[104]
상기 기타 형태소는 다시 명사를 수식하는 형태소와, 명사간 관계를 규정하는 형태소로 분류될 수 있다. 상기 명사를 수식하는 기타 형태소는 예를 들어 형용사 또는 한정사 일 수 있고, 명사간 관계를 규정하는 형태소는 동사 또는 전치사일 수 있다.
[105]
이에 따라 "나는 너를 사랑한다"에서 "나"와 "너"는 명사 형태소이고, "는"과 "를"은 기타 형태소 중 명사를 수식하는 형태소이며, "사랑한다"는 기타 형태소 중 명사간 관계를 규정하는 형태소일 수 있다.
[106]
단계 S110에서 특정 언어에 따라 문장에 명시적으로 표시되지 않는 형태소에 대하여도 분석될 수 있다. 문장에 명시적으로 표시되지 않는 형태소는 예를 들어 무형대명사(null- pronoun), 동일 명사구로써 삭제된 경우(equi-NP deletion) 또는 제로 접합부(zero-copula)일 수 있다. 다만 이에 한하지 않고 문장에 명시적으로 표시되지 않는 형태소는 다양한 언어에서 발생할 수 있는 모든 생략 가능한 단어가 모두 포함된다.
[107]
예를 들어 "John wants to go home"이라는 문장이 획득된 경우, 단계 S110에서 "go"의 의미상 주어로써 문장에서 생략된 "John"이 분석됨으로써 문장"John wants (John )to go home"이 획득될 수 있다.
[108]
단계 S120에서 분할된 형태소 중 명사 형태소가 그래프의 노드(node)와 대응될 수 있다. 예를 들어, "나는 너를 사랑한다"라는 문장에서 대명사인 "나"와 "너"가 그래프의 노드와 대응될 수 있다. 다만 전술한 바, 노드에 대응되는 품사로써 명사는 예시일 뿐 명사가 아닌 다른 품사가 노드에 대응될 수도 있음에 유의한다.
[109]
단계 S130에서 분할된 형태소 중 명사가 아닌 기타 형태소가 그래프의 간선(edge)과 대응될 수 있다. 상기 간선은 자기 간선(self-loop edge)와 연결 간선(connected edge)을 포함할 수 있다. 각각의 간선에 대한 설명은 이하 도 9에서 상세히 설명한다.
[110]
예를 들어 "John wants to go home"이라는 문장에서 "wants"와 "to go "는 그래프의 간선과 대응될 수 있다.
[111]
단계 S140에서 상기 문장의 각 형태소에 대응된 노드와 간선으로 구성된 그래프가 생성될 수 있다. 따라서 획득된 제1 문장에 대응하여 1개의 제1 그래프가 생성될 수 있다. 그래프를 생성하는 방법에 관하여는 이하 대응되는 도면에서 상세히 설명한다.
[112]
단계 S150에서 제1 그래프의 노드와 간선에 대응되는 문장의 형태소의 표현이 번역하고자 하는 언어의 표현으로 대체될 수 있다. 본 발명의 몇몇 실시예에 따르면 그래프의 각 노드 및 각 간선에 대응되는 형태소의 표현이 제1 언어에서 제2 언어로 대체되는 경우 각각의 사전적 의미에 따라 번역될 수 있고, 이전의 번역 기록 또는 이전 번역된 문장의 의미를 이용하여 번역될 수 있다. 번역이 되는 방법에 대하여는 이하 도 4내지 도 7에서 상세히 설명한다.
[113]
도 S160에서 제1 언어의 표현에서 제2 언어의 표현으로 대체된 형태소와 대응된 그래프를 이용하여 제1 문장과 대응되는 제2 언어의 문장이 출력될 수 있다. 제2 언어의 문장은 상기 그래프를 순회(traverse)하는 순서에 따라 어순이 결정될 수 있다. 그래프를 순회하는 순서는 과거 번역 기록을 통해 정해진 순서, 머신 러닝을 통해 획득한 순서 또는 사용자가 지정한 순서일 수 있다. 상세한 설명은 이하 대응되는 도면에서 상세히 설명한다.
[114]
도 3을 참조하여 본 발명의 다른 실시예에 따라 도 1 의 단계 S100을 상세히 설명한다.
[115]
단계 S101에서, 획득된 제1 문장의 형태소의 의미가 파악될 수 있다. 상기 형태소의 의미란 사전적 의미일 수 있고, 복수개의 문장을 이용하여 파악한 해당 문장에서 각각의 형태소가 갖는 고유한 의미일 수 있다. 이에 대한 상세한 설명은 이하 도 4 내지 도 7에서 후술한다.
[116]
단계 S102에서, 본 발명의 몇몇 실시예에 따라 제1 문장이 행렬 형태로 가시화될 수 있다. 예를 들어 상기 제1 문장은 명사 형태소로 이루어진 행렬과 명사가 아닌 기타 형태소로 이루어진 행렬의 곱 형태에 대응될 수 있다. 또한, 기타 형태소로 이루어진 행렬의 경우, 대각선 원소(diagonal element)는 명사를 수식하기 위한 기타 형태소에 대응되고, 비대각선 원소(non-diagonal element)는 명사와의 관계를 규정하기 위한 기타 형태소에 대응될 수 있다. 다만 전술한바, 행렬 원소 각각에 대응되는 품사는 이에 한정되지 않는다. 이에 대한 상세한 설명은 도 8에서 후술한다.
[117]
단계 S103에서 제1 문장에 표시되지 않는 형태소도 행렬의 원소로 표시될 수 있다. 이를 통해 각각의 문장과 행렬 및 그래프가 모두 대응될 수 있다.
[118]
이하, 도 4를 참조하여 번역을 위해 문장의 의미를 해석하는 방법에 대하여 상세히 설명한다.
[119]
복수개의 문장에 대한 번역을 수행하는 경우, 본 발명의 몇몇 실시예에 따라 특정 문장의 의미를 해석할 때, 이전의 문장의 의미를 이용하여 상기 특정 문장의 의미가 해석될 수 있다.
[120]
예를 들어 제1 문장과 제2 문장이 동일하거나 관련된 의미의 형태소를 포함하는 경우 상기 제1 문장과 제2 문장을 재해석한다. 예를 들어 제2 문장을 해석함에 있어 상기 제1 문장의 의미가 이용될 수 있고, 제2 문장에 상기 제1 문장과 동일한 형태소가 포함되어 있는 경우 제2 문장의 의미를 이용하여 제1 문장을 재해석할 수 있다.
[121]
이와 같이 복수개의 문장에 대한 의미를 이용하여 최종 문장의 번역을 수행함으로써 동음이의어 또는 중의적 표현과 같은 번역 오류가 발생할 수 있는 부분에 대한 명확한 의미 파악이 가능하다.
[122]
구체적으로 단계 S200에서 제1 문장의 의미를 해석하고,단계 S201에서 상기 제1 문장의 해석 결과를 저장할 수 있다. 이후, 단계 S202에서 제2 문장의 의미를 해석하고, 단계 S203에서 상기 제2 문장의 해석 결과를 저장할 수 있다.
[123]
상기 단계 S201과 단계 S203에서 저장된 제1 문장 및 제2 문장의 해석 결과를 단계 S204에서 통합하여 상기 제1 문장 및 제2 문장의 해석 결과를 이용하여 다시 제1 문장 및 제2 문장을 해석한다.
[124]
이와 같은 단계를 반복하여 복수개의 문장에 대해 단계 S205에서 최종 문장의 의미가 해석될 수 있다.
[125]
이하 도 5를 참조하여 문장 각각에 포함된 단어의 의미가 해석되는 방법에 대하여 더욱 상세히 설명한다.
[126]
먼저 단계 S210에서 획득된 문장의 의미를 파악하기 위하여 각 단어에 대한 사전적 의미를 파악한다.
[127]
그 다음 단계 S211에서 각각의 단어를 포함하는 제1 문장의 의미를 파악한 후, 단계 S212에서 상기 제1 문장에서 의미하는 해당 단어의 의미를 저장한다. 제1 문장에서 의미하는 해당 단어의 의미란, 상기 단어를 수식하거나 상기 단어와 관련된 다른 단어에 대한 정보 등을 포함할 수 있다.
[128]
예를 들어 "나의 이름은 영희 이다."라는 문장에서 "나"의 사전적 의미는 "자기 자신"이나, 상기 문장에서는 "나"의 "이름은 영희"라는 의미가 추가될 수 있다. 상기 각각의 문장마다 추가되는 각 단어의 의미는 별도의 태깅(tagging)을 통해 저장될 수 있다.
[129]
단계 S213에서, 제2 문장의 각 단어가 갖는 의미가 해석된 후, 단계 S214에서 상기 제2 문장에서 획득한 정보를 포함하는 태그 정보가 추가될 수 있다.
[130]
본 발명의 몇몇 실시예에 따르면 복수개의 문장에 공통적으로 포함된 단어의 경우 상기 복수개의 문장을 얻는 순서대로 각각의 문장에서 획득한 정보를 포함하는 태그 정보가 각각의 단어에 추가될 수 있다.
[131]
단계 S215에서, 최종적으로 획득된 모든 문장을 통해 각 단어의 의미가 파악될 수 있고, 의미가 파악된 각 단어를 이용해 각 단어를 포함하는 문장 각각의 의미도 파악될 수 있다.
[132]
이하 도 6 내지 도 7을 참조하여 각 단어의 의미 및 문장의 의미를 파악하는 과정을 상세히 설명한다.
[133]
도 6에서 문장을 입력 받기 전 "철수"라는 단어에는"사람 이름"이라는 정보가 태깅(220) 된다. 제1 문장(221)인 "철수는 해병이다"(221)라는 문장이 획득된 후, "철수"라는 단어에는 "해병"이라는 정보가 더 태깅(222) 된다. 또한 제2 문장(223)인 "철수는 배에 탑승했다"(223)라는 문장이 획득된 경우 "철수"라는 단어에는 "배에 탑승"이라는 정도가 더 태깅 되며, "배"라는 단어에는 사전적 의미인 "물에 떠서 이동할 수 있도록 만들어진 구조물"이라는 정보 외에 "철수가 탑승"이라는 정보가 더 태깅된다.
[134]
다음 제3 문장(225)인 "철수의 배가 부숴졌다"라는 문장이 획득된 경우, "철수"라는 단어에는 "배가 부숴짐"이라는 정보의 태깅이 더 추가되며, "배"라는 단어에는 "부숴짐"이라는 정보의 태깅이 더 추가된다. 제2 문장(223)에 포함된 "배"와 제3 문장(225)에 포함된 "배"는 사전적 의미가 동일하며, 문맥상 지칭하는 것이 동일하므로 제3 문장(225)이 입력되더라도 기존에 태깅 정보를 추가한 "배"라는 단어를 승계하여 태그 정보를 추가한다. 제2 문장(223)과 제3 문장(225)에 포함되는 "배"가 지칭하는 것이 동일하므로 제3 문장의 입력 후 상기 제3 문장에서 추가된 태깅 정보를 포함하는 "배"에 대한 모든 태깅 정보를 바탕으로 제2 문장을 다시 해석할 수 있다(227).
[135]
각 문장이 순서대로 획득됨에 따라 "철수"와 "배"라는 단어에 추가되는 태깅 정보의 예시는 아래와 같다.
[136]
철수(0) = (사람이름) , 철수(1) = {철수(0), 해병}, 철수(2) = {철수(1), 배[1](0)탑승}, 철수(3) = {철수(2), 배[1](1)가 부숴짐}, 배(0) = (사전적 의미 : 물에 떠서 이동할 수 있도록 만들어진 구조물), 배[1](1) = {배[1](0), 철수(1)가 탐승}, 배[1](2) = {배[1](1), 부숴짐}, 배[1](1) = 배[2](0), 배[1](2) = 배[2](1).
[137]
도 7을 참조할 때, 도 6과 달리 동음이의어인"배"라는 단어가 문장에 포함되어 있다. 이 경우, 각각의 단어별로 태그 정보가 추가된다.
[138]
예를 들어 "철수는 해병이다"라는 제1 문장(231) "철수는 배를 먹었다"라는 제2 문장(233) "철수의 배가 아프다"라는 제3 문장(235)이 획득된 경우, "철수"(230)라는 단어는 각 문장에서 동일한 의미로 계승되므로 제1 문장에 대한 정보가 태깅된 "철수"라는 단어는 "철수(1) = {해병}"(232)와 같은 정보를 갖고, 제2 문장에 대한 정보가 더 태깅된 "철수"라는 단어는 "철수(2) = {철수(1), 배[1](0)를 먹음}"(234)와 같은 정보를 가지며, 제3 문장에 대한 정보가 더 태깅된 "철수"라는 단어는 "철수(3) = {철수(2), 배[2](0)가 아픔}"(236)와 같은 정보를 가질 수 있다.
[139]
이 경우, 제2 문장의 "배"에 대한 태그 정보는 배[1](0) = (사전적 의미 : 배나무의 열매), 배[1](1) = {배[1](0), 철수(1)가 먹음} 이고 제3 문장의 "배"에 대한 태그 정보는 배[2](0) = (사전적 의미 : 사람이나 동물의 몸에서 위장, 창자, 콩팥 따위의 내장이 들어 있는 곳으로 가슴과 엉덩이 사이의 부위.), 배[2](1) = {배[2]{0}, 철수(2)가 아픈 배}일 수 있다. 즉, 제2 문장의 "배"는 배[1]에 대하여 태그 정보가 추가되며, 제3 문장의 "배"는 배[2]에 대하여 태그 정보가 추가된다.
[140]
본 발명의 몇몇 실시예에 따른 번역 방법은 상기 단어 별로 태그 관리를 함으로써 복수의 문장에 대한 반복적인 재해석으로 문장을 더 명확하고 자연스럽게 번역할 수 있게 한다.
[141]
도 8을 참조하여 본 발명의 일 실시예에 따라 문장을 행렬의 형태로 가시화하는 방법을 설명한다.
[142]
문장 "Alice in a dark forest threw a hard rock into a rabbit hole"(250)는 형태소 분석을 통해 다음과 같이 분할될 수 있다."Alice/in/a dark/forest/threw/a hard/rock/into/a/rabbit/hole". 본 발명의 몇몇 실시예에 따라 문장을 행렬로 변환하는 경우 명사 형태소로만 구성된 행렬과 명사가 아닌 기타 형태소로만 구성된 행렬로 변환될 수 있다. 하지만, 전술한 바 본 발명의 몇몇 실시예에 따른 문장이 반드시 명사 형태소와 기타 형태소로 구분되는 것은 아님에 유의한다.
[143]
따라서 상기 문장은 {Alice, forest, rock, rabbit hole} 을 원소로 갖는 행렬(252)과 {in, a, dark, threw, a, hard, into, a}을 원소로 갖는 행렬(251)로 변환될 수 있다. 또한, 기타 형태소로만 구성된 행렬의 대각선 원소는 명사 형태소를 수식하는 기타 형태소일 수 있다. 행렬 곱셈 연산 시 해당 명사 형태소의 원소와 곱해지는 위치의 대각선에 각각의 명사를 수식하는 기태 형태소의 원소가 배치될 수 있다. 예를 들어 a와 dark 라는 기타 형태소는 forest를 수식하고 a와 hard 라는 기타 형태소는 rock을 수식하므로 각각 (2,2), (3,3)위치에 대응되는 행렬의 대각선에 배치되어 두번째, 세번째 명사와 곱해지는 위치에 배치된다.
[144]
또한 본 발명의 다른 실시예에 따라 상기 행렬로 표현된 문장이 그래프로 변환될 수 있다. 이 경우 명사 형태소로만 구성된 행렬의 각 원소가 그래프의 노드와 대응되고, 기타 형태소로만 구성된 행렬의 대각선 원소가 동일한 행에 위치한 명사 형태소에 대응되는 노드의 자기간선으로 대응될 수 있다. 또한 나머지 기타 형태소는 그래프의 연결간선이 될 수 있다. 예를 들어 기타 형태소 "threw"의 행렬에서의 위치가 (1,3)인 경우, "threw"에 대응되는 연결 간선은 명사 형태소 행렬의 첫번째 명사 형태소에 대응되는 노드와 세번째 명사 형태소에 대응되는 노드 사이를 잇는 것일 수 있다.
[145]
이하 도 9를 참조하여 그래프에서 자기간선과 연결간선이 구별되어 생성되는 방법에 대하여 상세히 설명한다.
[146]
문장의 형태소 문석을 통해 명사가 아닌 기타 형태소가 추출되는 경우, 단계 S131에서 상기 기타 형태소가 명사 형태소 간의 관계를 규정하는지 판단된다.
[147]
명사 형태소 간의 관계를 규정하는 기타 형태소는 예를 들어 동사, 전치사, 동사구 또는 전치사구 중 어느 하나 일 수 있다. 다만 이는 언어마다 다른 형태로 나타날 수 있음에 유의한다.
[148]
단계 S132에서 기타 형태소가 명사간의 관계를 규정하지 않는 경우, 상기 기타 형태소에 대응되는 간선은 명사 형태소에 대응되는 노드의 자기 간선으로 생성될 수 있다. 명사간의 관계를 규정하지 않는 기타 형태소란, 한정사 또는 형용사 일 수 있다. 다만 이는 언어마다 다른 형태로 나타날 수 있음에 유의한다.
[149]
단계 S133에서 명사간의 관계를 규정하는 기타 형태소의 경우 각각의 명사를 잇는 연결 간선에 대응될 수 있다.
[150]
단계 S134에서 상기 연결 간선의 방향이 지정될 수 있다. 연결 간선의 방향에 따라 해당 문장의 태가 결정될 수 있다. 예를 들어 주어에 해당되는 명사 형태소에 대응되는 노드가 상기 간선의 출발지 노드이고 목적어에 해당되는 명사 형태소에 대응되는 노드가 상기 간선의 목적지 노드인 경우, 해당 그래프는 능동태 문장일 수 있다. 반대로, 목적어에 해당되는 명사 형태소에 대응되는 노드가 상기 간선의 출발지 노드인 경우, 해당 그래프는 수동태 문장일 수 있다.
[151]
이와 같은 문장의 태는 번역 대상 문장의 태에 따라 결정될 수 있고, 사용자의 번역 기록을 이용하여 선호되는 형태가 지정될 수도 있으며 머신 러닝을 이용하여 지정된 형태의 문장일 수도 있다.
[152]
이하 도 10을 참조하여 문장에 명시적으로 표시되지 않은 형태소를 그래프에 표시하지 않는 방법에 대하여 상세히 설명한다.
[153]
단계 S141에서, 번역된 문장의 언어에서 특정 기타 형태소가 생략 가능한 경우 단계 S142에서 상기 기타 형태소에 대응되는 간선이 생략될 수 있다.
[154]
또는, 단계 S143에서, 번역된 문장의 언어에서 특정 명사 형태소가 생략 가능한 경우 단계 S141에서 상기 명사 형태소에 대응되는 노드가 생략될 수 있다.
[155]
다만, 단계 S141과 단계 S143의 선후관계는 도시된 순서에 한정되지 않으며 단계 S143이 단계 S141에 선행될 수 있고, 단계 S141과 단계 S143이 병렬적인 순서로 동시에 수행될 수도 있음에 유의한다.
[156]
마지막으로, 단계 S145에서 필요한 노드 및 간선만 포함하는 그래프가 표시될 수 있다.
[157]
도 11을 참조하여, 문장을 노드와 간선으로 구성된 그래프 형태로 가시화하여 번역하는 방법을 설명한다.
[158]
"I gave a book to her"이라는 영문장을 노드와 간선으로 변환(300a)하는 경우, "I", "book"및 "her"은 명사이므로 노드로 변환된다. 그리고 "a"는 "book"을 수식하므로 "book"에 상응하는 노드의 자기간선으로 변환되며, "gave"와 "to"는 각각 "I"와 "book"사이, "book"과 "Her"사이의 관계를 규정하므로 연결간선으로 변환될 수 있다.
[159]
상기 문장 각각의 단어를 그래프를 구성하는 노드와 간선으로 변환하기 위해 수식으로 표현하는 경우 {Node('I'), Edge<'I','book'>, Edge<'book','book'>,Node('book'), Edge<'book', 'her'> ,Node('her')}의 집합 표현으로 변환할 수 있다.
[160]
또한, 본 발명의 몇몇 실시예에 따라 그래프의 읽는 순서에 대한 정보(301)가 더 표시될 수 있다. 도 11을 참조할 때, 각 노드에 대하여 읽는 순서가"I", "book", "her"의 순서임을 알 수 있다. 따라서 본 발명의 몇몇 실시예에 따른 번역 방법은 읽는 순서에 따라 추출되는 문장의 순서가 다를 수 있다.
[161]
도 12를 참조하여, 생략된 형태소를 포함하는 문장이 그래프로 변환된 경우에 대하여 설명한다.
[162]
"I gave her a book"이라는 문장을 그래프로 변환하는 경우, "her"명사 형태소와 "book"명사 형태소간 관계를 규정하는 형태소는 생략되어 문장에 명시적으로 표시되어 있지 않다. 따라서, 본 발명의 몇몇 실시예에 따라 문장의 생략된 형태소도 그래프에 표시(302)될 수 있다. 도 12에는 문장의 생략된 형태소에 대응되는 간선이 점선으로 표시되어 있으나, 상기 생략되는 형태소를 표시하는 방법은 이에 한정되지 않는다.
[163]
특정 언어의 문장에서 생략된 형태소를 그래프에 표시함으로써, 이후 번역된 언어에서 상기 생략된 형태소가 명시적으로 표시되는 경우에 대한 정확한 번역이 가능해진다.
[164]
또한 도 12를 참조할 때, 도 11과 달리 "I", "her", "book"에 대응되는 노드의 순서대로 그래프를 해석함으로써 도 11과 동일한 의미이나 다른 어순의 문장이 추출될 수 있다.
[165]
도 13을 참조하여, 생략되는 명사 형태소를 포함하는 문장이 그래프로 변환되는 방법에 대하여 설명한다.
[166]
예를 들어 "John wants (John) to go home"이라는 문장이 그래프로 변환될 경우, 기 설명한 방법에 따라 상기 문장은 {Node('John'), Edge<'John','(John)'>, (Node('(John)')), Edge<'(John)','home'>, Node('home')}와 같은 집합의 형태로 표현될 수 있다.
[167]
이때, "John wants (John) to go home"이라는 문장(310a)에서 "to go"의 의미상 주어 "John"이 생략되어 문장에 명시적으로 표시되지 않는 경우에도, 그래프에서 상기 생략되는 의미상 주어 "John"에 대응되는 노드(311)가 표시될 수 있다.
[168]
또한, 본 발명의 다른 실시예에 따라 생략되는 형태소가 그래프로 표시되지 않을 수도 있다. 도 14를 참조할 때 "to go"의 의미상 주어 "John"이 문장에 명시적으로 표시되지 않은 경우, 번역전의 언어와 번역 후의 언어에서 상기 생략되는 형태소가 모두 문장에 명시적으로 포함되지 않는 경우, 그래프의 간소화를 위하여 상기 생략된 "John"에 대응되는 노드는 생성되지 않을 수 있다.
[169]
이하 도 15를 참조하여 복수개의 노드 및 간선으로 구성된 그래프를 해석하는 방법에 대하여 설명한다.
[170]
본 발명의 다른 실시예에 따르면 복수개의 노드 및 간선으로 구성된 그래프를 해석하는 경우, 문장의 주어에 별도의 표시가 추가될 수 있다. 예를 들어 도 15의 그래프의 경우 "Alice"가 전체 주어임을 뜻하는 표시가 추가될 수 있다. 또한 그래프의 해석 순서에 대한 표시(321, 322, 323)가 더 추가될 수 있다. 따라서 사용자가 그래프를 문장으로 해석하는 경우, 그래프상 표시된 주어를 시작으로 그래프 해석 순서 표시를 이용하여 상기 그래프를 1차원의 문장(320a)으로 해석할 수 있다.
[171]
또한 도 15에 도시된 문장 "Alice in a dark forest threw a hard rock into a rabbit hole."이 다른 언어로 번역되는 경우 표시된 그래프의 해석 순서(321, 322, 323)는 바뀔 수 있다. 예를 들어 상기 문장이 한국어로 번역되는 경우 "어두운 숲 속의 앨리스가 토끼굴 안으로 단단한 돌을 던졌다"로 번역될 수 있고, "앨리스가 어두운 숲 속에서 단단한 돌을 토끼굴 안으로 던졌다"로 번역될 수 있다. 즉, 동일한 그래프를 번역하는 경우에도 상이한 순서를 가진 복수개의 문장이 생성될 수 있다. 이 경우 각각의 문장의 해석 순서에 상응하는 별도의 표시(321, 322, 323)가 추가될 수 있다.
[172]
또한, 도 16을 참조할 때, 번역 이후 또는 번역 이전의 언어를 모르는 사용자를 위해, 그래프에 대응되는 모든 단어가 그림 또는 사진 등의 이미지로 표시될 수 있다. 이를 통해 특정 언어를 전혀 모르는 사용자도 상기 문장의 의미, 구조 및 각 형태소관 관계에 대하여 직관적으로 파악할 수 있다.
[173]
도 17을 참조할 때, 본 발명의 또 다른 실시예에 따르면 그래프의 간선이 표시되지 않도록 문장이 가시화될 수 있다.
[174]
그래프의 간선의 경우 명사간의 관계 또는 명사를 수식하는 형태소를 의미하므로, 이후 설명할 문장의 태(예를 들어, 수동태 및 능동태)에 따라 간선의 방향성이 달라질 수 있다. 따라서, 몇몇 실시예에서 문장의 의미 파악이 중요한 경우 그래프의 간선이 표시되지 않을 수도 있다. 이를 통해 사용자는 문장의 해석 및 번역과정에서 자신의 관심있는 정보만을 쉽게 획득할 수 있다.
[175]
이하 도 18을 참조하여 문장의 화자 및 주체간 계급에 따라 높임말이 존재하는 언어의 경우, 문장을 그래프로 표시하는 방법에 대하여 설명한다.
[176]
예를 들어 한국어의 경우 엄격한 높임말 사용이 존재하나, 영어의 경우 한국어의 높임말 각각에 대응되는 모든 단어가 존재하지는 않는다. 따라서, 높임말이 존재하는 문장을 영어로 번역한 후, 다시 해당 문장을 한국어로 번역하는 경우 높임말 표현 자체가 사라지거나 어색하게 번역되는 경우가 존재한다. 이를 방지하기 위해, 본 실시예에 따르면 문장에 대응되는 그래프가 생성되는 경우, 상기 문장의 화자 및 문장의 주체와 객체 간의 계급도에 대한 정보가 더 생성될 수 있다.
[177]
가령,"김 차장님께 이 대리가 커피를 전달했다"라는 문장의 경우, 상기 문장의 화자는 이 대리 보다는 계급이 높고, 김 차장 보다는 계급이 낮다. 따라서 상기 문장을 도 18의 그래프로 변환하는 경우 상기 화자와 김 차장 및 이 대리 간의 관계에 대한 계급도(340a)정보가 더 필요하다.
[178]
특히, 상기 도 18의 문장과 동일한 의미인 도 19의 "김 차장님께 이 대리님이 커피를 전달했습니다"라는 문장의 경우 도 18의 문장 과 달리 화자의 계급이 이 대리 및 김 차장 보다 낮다(340b). 이 경우 본 실시예를 통해 도 19의 "김 차장님께 이 대리님이 커피를 전달했습니다"라는 문장과 도 18의 "김 차장님께 이 대리가 커피를 전달했다"라는 문장에 대한 정보가 다르게 생성되어 더욱 정확한 문장 번역이 가능하다.
[179]
이하 도 20을 참조하여 본 발명의 또 다른 실시예에 따라 문장의 지정된 형태소에 대하여 성별에 따른 태그 정보가 더 생성되는 경우에 대하여 상세히 설명한다.
[180]
예를 들어, 한국어의 경우 "위대한"이라는 단어는 여성을 의미하는 명사 형태소를 및 남성을 의미하는 명사 형태소를 수식하는 경우 모두 동일한 형태를 갖는다. 하지만, 불어의 경우 "위대한"이라는 뜻의 "Un grand"는 남성을 의미하는 명사 형태소를 수식하는 경우에 사용되며, "Un grande"는 여성을 의미하는 명사 형태소를 수식하는 경우에 사용된다. 이 경우 본 실시예에 따르면 불어가 한국어로 번역되는 경우 "위대한"이라는 번역 결과 외에 성별에 대한 정보를 포함하는 태그가 각 단어에 추가될 수 있다. 예를 들어 번역 결과가 "위대한 황제"인 경우, 태그 정보를 더 추가하여 "위대한(남) 황제"로 표시될 수 있다.
[181]
이 경우, 각 단어의 형태가 성별에 따라 다르게 표시되는 언어에서는 상기 성별에 대한 정보를 포함하는 태그가 각 단어에 추가되지 않을 수 있다. 예를 들어 영어 단어인 "Emperor"이 남자 황제를 의미하고 "Empress"가 여자 황제를 의미한다면 상기 단어에 별도 성별에 대한 정보를 포함하는 태그를 추가하지 않아도 된다.
[182]
따라서, 성별에 따라 형태가 다른 단어가 번역되는 경우, 상기 단어 각각에 대하여 성별에 대한 정보를 포함하는 태그가 생성됨으로써 이후 수행되는 번역과정에서 더 정확한 결과를 추출할 수 있다.
[183]
도 21을 참조하여 하나의 그래프에 복수개의 문장이 대응되는 경우에 대하여 설명한다. 본 발명의 몇몇 실시예에 따라 문장을 그래프로 변환하는 경우, 도 21에 제시된 바와 같이 동일한 의미이나 다른 어순을 갖는 복수개의 문장이 하나의 그래프에 대응될 수 있다. 따라서 번역을 수행하는 경우 상기 복수개의 문장 각각에 대하여 번역을 수행할 필요 없이 대응되는 그래프 하나에 대하여 번역을 수행하면 되므로, 효율적인 컴퓨팅자원의 활용이 가능하다.
[184]
또한, 번역 결과로 추출된 문장의 어순이 사용자가 의도한 어순과 다른 경우, 복수개의 동일한 의미를 갖는 다양한 어순의 문장이 더 추출될 수도 있다. 추출되는 복수개의 문장에 대한 순서는 사용자의 이전 번역 기록 및 여러 사용자의 번역 기록을 이용한 통계적 방법이 사용될 수 있으며, 방대한 번역 기록을 이용한 머신러닝이 사용될 수도 있다.
[185]
또한 동일한 의미의 문장이라도 문장의 태가 수동태인지 능동태인지에 따라 각각의 문장에 대응되는 그래프의 형태가 다를 수 있다. 도 22를 참조할 때, 도 21과 동일한 의미의 문장일지라도 수동테의 문장에 대응되는 그래프의 경우 도 21의 그래프와 간선의 방향이 상이할 수 있다. 따라서 사용자는 그래프의 간선의 방향을 수정함으로써 추출되는 문장의 태를 수정할 수 있다.
[186]
이를 통해 번역 전 또는 번역 후의 언어 중 어느 하나의 언어를 사용자가 모르는 경우에도 추출되는 문장의 의미 및 태를 상기 사용자가 직관적으로 파악할 수 있다.
[187]
도 23을 참조할 때, 본 발명의 몇몇 실시예에 따르면 복수개의 문장에 대응되는 그래프(351, 352, 353)를 이미지화(354, 355, 356)할 수 있다.
[188]
그래프 각각에 대응되는 이미지가 생성될 수 있고, 동일한 단어를 포함하는 복수개의 문장에 대응되는 그래프를 이용하여 애니메이션이 생성될 수도 있다. 예를 들어 "John"이라는 단어를 포함하는 복수개의 문장에 대응되는 복수개의 그래프(351, 352, 353)가 생성된 경우, 각각의 그래프에서 "John"과 대응되는 노드와 관련된 정보를 이용하여 상기 "John"에 대한 복수개의 이미지 또는 애니메이션이 생성될 수 있다. 상기 설명한 바, 본 발명의 몇몇 실시예에 따라 문장의 의미가 해석되는 경우, 특정 문장에 포함되는 단어의 의미는 해당 문장 뿐만 아니라 해당 문장 전, 후에 존재하는 복수개의 문장의 문맥을 모두 이용하므로, 공통적인 단어를 포함하는 복수개의 문장은 하나의 컨텐츠를 갖는 이미지 또는 애니메이션으로 대체될 수 있다.
[189]
이하, 도 24을 참조하여 본 발명의 또 다른 실시예에 따라 그래프로 변환된 제1 언어의 문장이 제2 언어의 문장으로 번역되는 과정에 대하여 설명한다.
[190]
단계 S151에서, 그래프의 노드 및 간선 각각에 대응되는 제1 언어의 문장의 형태소가 번역하고자 하는 제2 언어의 표현으로 대체될 수 있다.
[191]
단계 S152 에서 그래프에서 추출된 제2 언어의 제2 문장에 대한 사용자의 수정 요청 피드백이 존재하는 경우, 단계 S154에서 상기 제2 언어와 상이한 제3 문장이 더 추출될 수 있다. 상기 제3 문장은 사용자의 피드백의 종류에 따라 어순, 문장의 태, 단어의 번역, 형태소의 수식관계 등이 다를 수 있다.
[192]
단계 S153에서 추출된 제2 문장 또는 단계 S155에서 추출된 제3 문장에 대한 번역 결과가 저장될 수 있다. 상기 추출된 문장에 대한 정보 및 입력된 사용자의 피드백에 대한 정보를 이용하여 이후 수행되는 번역 과정에서 반영할 수 있다. 자세한 설명은 이후 해당 도면에서 상세히 서술한다.
[193]
이하 도 25내지 도 26를 참조하여 제1 언어의 표현인 제1 문장(400a)이 제2 언어의 표현인 제2 문장(400b)으로 번역되는 과정에 대하여 자세히 검토한다.
[194]
영어로 표현된 제1 문장(400a)인 "A cat is touched by me"을 한국어로 번역하고자 하는 경우, 먼저 상기 제1 문장에 상응하는 그래프(401a)가 생성될 수 있다. 상기 생성되는 그래프의 각각의 노드 및 간선은 제1 문장의 단어 각각에 대응될 수 있다.
[195]
이후, 그래프의 노드 및 간선 각각에 대응되는 단어가 한국어로 번역될 수 있다. 이 경우, 상기 설명한 바와 같이 각각의 언어의 특징에 따라 성별에 관한 정보 및 계급도에 관한 정보가 더 저장될 수 있다.
[196]
번역된 문장(400b)을 추출하기 위해 한국어로 대체된 그래프가 지정된 어순으로 해석될 수 있다. 지정된 어순이란, 이전 번역 기록을 이용하여 특정 사용자가 선호하는 어순 또는 대부분의 사용자가 선호하는 어순 등 다양한 기준에 따라 문장의 어순에 상응하는 그래프 해석 순서가 지정될 수 있다.
[197]
예를 들어 "A cat is touched by me"라는 영어 문장은 수동태이므로 한국어로 번역될 때도 "나는 고양이를 만지다"가 아닌, "고양이는 나에게 만져진다"로 번역될 수 있다.
[198]
이와 달리 도 25처럼 능동태인 영어 문장 "I touch a cat"의 경우, 도 24와 달리 "나는 고양이를 만지다"로 번역될 수 있다.
[199]
이하 27을 참조하여 구체적으로 그래프의 노드 및 간선 각각에 대응되는 문장의 단어가 번역되는 방법에 대하여 설명한다.
[200]
두개의 노드와, 상기 노드를 잇는 하나의 간선으로 구성된 그래프(420)인 경우, 각각의 노드 및 간선에 대응되는 제1 언어의 표현이 제2 언어로 대체된다. 예를 들어 "나는 너를 사랑한다"라는 한국어 문장이 영어 문장으로 번역되는 경우, "나/는/사랑한다/(-능동)/너/를"과 같이 나뉘어진 형태소 각각에 대하여 "I/-/Love/(-능동)/You/-/"와 같이 번역될 수 있다.
[201]
이를 통해, 문장 전체에 대하여 번역을 수행하는 경우와 달리, 각각의 형태소에 대하여 번역을 수행하고, 각각의 형태소 간의 관계에 대한 정보를 별도로 저장함으로써 더욱 체계적인 번역 수행 및 번역 기록 관리가 가능하다.
[202]
이하 도 28을 참조하여 중의적 의미를 갖는 구 및 복합어를 포함하는 문장을 번역하는 방법에 대하여 설명한다.
[203]
중의적 의미를 갖는 구란, 각각의 단어간 수식관계가 불명확 한 경우 또는 관계를 규정하고자 하는 단어가 불명확할 경우에 발생한다. 본 실시예에 따르면 각 단어간 수식관계를 그래프로 표현하므로 문장의 의미가 중의적으로 해석되지 않는다.
[204]
예를 들어 "늙은 남성과 여성"이라는 문장이 있는 경우, '늙은'이라는 단어가 '남성'을 수식하는지 '남성과 여성'을 수식하는지 모호할 수 있다. 따라서, 상기 문장을 그래프에 대응시키는 경우 "늙은"이 "남성"을 수식한다면, "늙은"에 대응되는 자기 간선이 "남성"에 대응되는 노드를 가리키도록 생성하고, "늙은"이 "남성과 여성"을 모두 수식한다면 "늙은"에 대응되는 자기 간선이 "남성과 여성"에 대응되는 노드를 가리키도록 생성한다.
[205]
또한 문장에 대응되는 그래프의 간선을 노드와 병합 및 분리함으로써 복합어를 생성 및 제거할 수 있다. 예를 들어 "old man"이 "늙은 남자"라는 뜻 대신 "할아버지"라는 뜻으로 해석되는 것이 자연스러운 경우 "old"에 상응하는 자기 간선과 "man"에 상응하는 노드가 병합되어 "grandfather"이라는 노드로 대체될 수 있다. 마찬가지로 "grandfather"이 "old"와 "man"에 대응되는 간선 및 노드로 분리될 수 있음은 물론이다. 이와 같은 복합어는 기존의 사전 DB에 저장된 정보를 이용할 수 있다.
[206]
이하 도 29 내지 도 41을 참조하여 본 발명의 또 다른 실시예에 따라 번역 결과를 변경할 수 있는 UI를 포함하는 GUI를 이용하여 번역을 수행하는 방법에 대하여 설명한다.
[207]
도 29를 참조할 때, 사용자가 동일한 그래프에서 다른 어순을 갖는 문장을 추출하고자 하는 경우, 기 지정된 사용자 입력(501)을 통해 새로운 번역 결과를 얻을 수 있다.
[208]
예를 들어 "John can hit the ball with a bat."이라는 문장이 한국어로 번역되어 "존은 방망이로 그 공을 칠 수 있다."라는 문장을 출력한 경우(500a), 사용자는 다른 어순을 갖는 문장을 획득하기 위해 기 지정된 UI(501)를 선택할 수 있다. 이를 통해 사용자는 "존은 그 공을 방망이로 칠 수 있다."라는 문장을 얻을 수 있고(500b), 이와 같은 번역 기록 및 사용자의 피드백에 대한 정보는 모두 기록된다. 또한 이후 유사한 문장에 대한 동일한 사용자의 번역 요청이 있는 경우, 사용자가 선택한 어순의 문장이 우선적으로 표시될 수 있다.
[209]
또한 제1 언어의 제1 문장을 제2 언어의 제2 문장으로 번역하고자 하는 경우, 그래프는 제1 언어에 대응되는 형태소가 표시될 수 있고, 제2 언어에 대응되는 형태소가 표시될 수도 있으며, 제1 언어 및 제2 언어를 모두 표시할 수도 있다. 이와 같이 사용자가 익숙한 언어와 익숙하지 않은 언어를 그래프에 대응시켜 표시함으로써 해당 문장에 대하여 사용자는 형태소 각각에 대한 번역이 올바른지 확인할 수 있다. 또한 각각의 형태소에 대응되는 그래프의 구성요소를 수정함으로써 번역의 잘못된 부분을 쉽게 확인하여 수정할 수 있다.
[210]
도 30를 참조할 때, 사용자가 번역된 문장의 특정 단어에 대한 해석을 수정하고자 하는 경우. 해당 특정 단어에 대한 기 지정된 입력을 함으로써, 해당 단어에 대한 번역이 수정될 수 있다.
[211]
예를 들어, "나는 고양이를 만진다"라는 한국어 문장이 영어로 번역되는 경우"I touch the cat"이라는 문장이 출력될 수 있다(510a). 만약 사용자가"the"라는 단어를 수정 또는 삭제하고 싶은 경우, 상기 "the"에 기 지정된 입력(511)을 함으로써, 해당 단어의 해석 결과가 달라진다. 상기 문장과 상이한 "I touch a cat"이라는 문장이 출력(510b)되고 사용자가 이를 최종 번역 결과로 선택(512)하는 경우, 다음 번역시 영문장의 특정 단어에 대한 단수를 표현하기 모호한 경우에서 "a"의 우선순위가 "the"의 우선순위보다 높아지게 된다.
[212]
도 31을 참조할 때, 그래프의 구성 요소를 선택(521)사용자의 입력에 응답하여 해당 구성 요소 및 해당 구성 요소에 대응되는 번역 결과가 수정될 수 있다. 예를 들어 그래프의 간선을 선택하는 사용자의 입력이 있는 경우 해당 간선의 방향이 수정될 수 있다.
[213]
간선의 방향이 수정되는 경우 기타 형태소가 명사 형태소를 수식하는 수식관계 또는 명사 형태소간 관계가 수정될 수 있다. 간선의 방향이 바뀌는 경우 명사 형태소간 관계를 규정하는 기타 형태소에 대응되는 간선의 방향이 바뀌면서 문장의 태가 바뀔 수 있고, 수식관계가 바뀔 수 있다. 또한, 간선의 출발지 또는 목적지를 수정함으로써 문장의 구조를 바꿀 수도 있다.
[214]
예를 들어 "나는 고양이를 만진다"라는 문장을 영어로 해석하고자 하는 경우(520a) 수동태 문장을 얻기 위해 "만진다"라는 형태소에 상응하는 간선에 대하여 지정된 입력(521)을 함으로써 간선의 방향을 바꿀 수 있다(524). 상기 간선의 방향이 바뀜에 따라 번역 결과로 획득된 영어 문장도 "I touch the cat"에서 "The cat is touched by me."로 재획득(520b) 되며 한국어 문장도 이에 대응되도록 바뀔 수 있다. 한국어 문장도 바뀜으로써 사용자는 자신이 원하는 번역 결과가 맞는지 확인할 수 있게 된다. 또한, 문장의 태가 변함으로써 수정되어야 하는 다른 형태소의 표현(522, 523)도 자동으로 수정될 수 있다.
[215]
또한 다른 실시예에 따라 자기 간선에 대응되는 기타 형태소가 방향성 없이 표시(522, 523)될 수 있다. 자기 간선의 경우 출발지와 목적지가 모두 동일하므로 해당 간선에 방향성이 표시되지 않더라도 번역에 있어 다른 결과가 도출되지 않는다. 따라서 그래프에 대한 사용자의 가독성을 높이기 위하여 점선 또는 특정 도형을 자기 간선에 상응하는 기타 형태소에 대응시킬 수 있다.
[216]
도 32을 참조할 때, 생략되는 형태소에 대한 사용자 입력(531)에 응답하여 상기 생략된 형태소가 명시적으로 표시될 수 있다.
[217]
예를 들어 영어 문장 "I touch the cat"을 한국어로 번역하고자 하는 경우 "나는 고양이를 만진다"로 해석된 문장이 획득(530a)된다면 "the"에 대응되는 한국어 단어는 생략이 가능하여 자동으로 생략(531)된 것일 수 있다. 이 경우 본 발명의 몇몇 실시예에 따르면 생략되는 형태소일지라도 그래프에는 표시(532)되므로 사용자는 상기 생략되는 형태소를 번역 후의 문장에도 명시적으로 표시하도록 지정된 사용자 입력을 할 수 있다. 그 결과 "the"에 상응하는 한국어 단어 "그"가 번역 결과에 명시적으로 표시되어 "나는 그 고양이를 만진다"라는 문장이 획득된다(530b).
[218]
도 33을 참조할 때 본 발명의 또 다른 실시예에 따라 문장의 어순(542)을 변경하는 사용자 입력(541)에 응답하여, 번역되는 문장의 어순을 변경(543)할 수 있다.
[219]
예를 들어 "I touch the cat"이라는 영어 문장에 대하여 "고양이를 나는 만진다"라는 한국어 번역 결과가 출력된 경우, 사용자는 "나는 고양이를 만진다"와 같은 어순의 문장을 획득하기 위하여 해석하고자 하는 순서대로 노드를 선택할 수 있다. 다만, 어순을 변경하는 방법에 대한 사용자 입력은 이에 한하지 않음에 유의한다.
[220]
또한 도 34을 참조할 때, 그래프에서 간선을 표시하고 싶지 않은 경우 해당 간선을 삭제할 수 있는 지정된 사용자의 입력(551)에 따라 간선이 표시되지 않을 수 있다. 상기 삭제되는 간선은 사용자가 선택한 간선일 수 있고, 그래프에 존재하는 모든 간선일 수도 있다.
[221]
사용자는 간선을 일부 또는 전부 삭제함으로써 문장의 번역 결과를 더 구체적으로 수정할 수 있다.
[222]
또한 도 35 내지 도 36을 참조할 때, 사용자의 선택에 따라 그래프 표시 방법이 바뀔 수 있다.
[223]
도 35에서 사용자가 그래프의 간선을 표시하고자 하는 경우(561), 또는 사용자의 과거 번역 수정 기록을 고려할 때 그래프의 간선에 대한 수정이 빈번한 경우 그래프는 간선 및 노드를 전부 표시하는 형태(560a)로 표시될 수 있다.
[224]
반면 도 36에서 사용자가 그래프의 간선을 표시하고자 하지 않는 경우(562), 또는 사용자의 과거 번역 수정 기록을 고려할 때 그래프의 간선에 대한 수정이 없는 경우 그래프는 간선을 표시하지 않는 형태(560b)일 수 있다.
[225]
다만 이에 한하지 않고, 자기 간선에 대응되는 형태소의 표시가 없는 그래프의 형태, 중의적 의미를 갖는 구만 그래프로 표시되는 형태 등 사용자의 번역 기록 및 사용자의 설정에 따라 그래프는 일부 또는 전부가 표시될 수도 있다.
[226]
이하 도 37 내지 도 39를 참조하여 중의적 의미를 갖는 단어의 해석 방법을 변경하는 UI를 포함하는 GUI를 이용하여 번역을 수행하는 방법을 설명한다.
[227]
중의적 의미를 갖는 단어 또는 구의 경우 사용자가 의도하는 방향으로 번역이 수행되도록 사용자의 수정 피드백을 입력 받을 수 있다.
[228]
예를 들어 도 37을 참조할 때 "old man and woman"이라는 문장에 대한 번역이 수행되는 경우, "old"에 상응하는 자기 간선이 "man"에 상응하는 노드를 가리킬 수 있다(570a). 이 경우 한국어로 번역된 문장은 "늙은 남성과 (늙지 않은 보통의) 여성"으로 해석된다. 상기 해석 결과에 대하여 "늙은 남성과 늙은 여성"으로 번역 결과를 획득하고 싶은 경우, 사용자는 그래프를 수정하여 원하는 번역 결과를 획득할 수 있다.
[229]
사용자가 한국어를 모르더라도 그래프의 "old"가 "woman"을 가리키고 있지 않으므로, 사용자는 번역된 한국어 문장이 잘못되었음을 알 수 있다.
[230]
따라서 도 38와 같이 "woman"에 상응하는 노드에 "Old"에 상응하는 간선에 연결되도록 드래그 앤 드롭 입력(571)을 할 수 있다. 다만 드래그 앤 드롭이란 사용자의 입력의 일 예시일 뿐 사용자 입력 방식은 이에 한정되지 않고 다양한 방식이 될 수 있다.
[231]
또한 도 38과 같이 "Old"에 상응하는 간선에 대한 입력(572)을 통해 번역 결과를 수정(570b)할 수 있다.
[232]
이를 통해 도 39와 같은 그래프가 생성되는 경우(570c), "Old"에 대응되는 간선이 "Man and Woman"에 대응되는 노드(573)를 가리키고 있으므로, 번역 결과 한국어 문장은 "늙은 남성과 늙은 여성"으로 수정될 수 있다.
[233]
또한, 본 발명의 또 다른 실시예에 따라 그래프의 간선이 병합 또는 분할될 수 있다. 예를 들어 지정된 노드에서 출발하여 지정된 다른 노드에 도착하는 복수개의 간선이 존재하는 경우, 상기 복수개의 간선은 하나의 간선으로 병합될 수 있다. 복수개의 형태소에 대응되는 간선이 하나로 병합된 경우, 상기 간선을 분할하고자 하는 사용자의 입력에 응답하여 병합된 간선이 다시 복수개의 간선으로 분할될 수 있다. 또한 상기 복수개의 간선 각각에 대한 사용자의 입력에 응답하여 각각의 간선의 출발지 및 도착지를 변경할 수 있음은 물론이다.
[234]
또한, 도 40를 참조하여 본 발명의 다른 실시예에 따라 사용자는 중의적 의미를 단어의 잘못된 해석을 용이하게 수정할 수 있다.
[235]
예를 들어 영어 단어의 "sheep"의 경우 단수형과 복수형이 동일하므로, 번역 과정에서 사용자의 의도와 상이한 번역 결과가 생성(580)될 수 있다. 본 발명의 몇몇 실시예에 따라 명사 형태소가 단수형인지 복수형인지에 대한 정보가 그래프에 더 표시될 수 있으므로, 이에 대한 사용자의 기 지정된 입력(581)에 따라 번역 결과가 수정될 수 있다.
[236]
영어 문장 "I touch sheep"이 한국어 문장으로 번역되는 경우 "나는 양 들을 만진다"로 번역될 수 있다. 이에 대하여 사용자가 의도한 sheep 이 단수였다면, 사용자는 복수개의 양을 의미하는"(plural)"에 대한 입력(581) 또는 이에 대응되는 한국어 "들"(583)에 대한 입력을 통해 도 46과 같은 수정된 번역 결과를 획득할 수 있다. 이에 따라 도 41에서 "(plural)"은 "a"로 수정되어 "sheep"이 단수형임이 명확해지고, "나는 양을 만진다"와 같은 한국어 번역 문장이 획득될 수 있다.
[237]
이하, 도 42을 참조하여 본 발명의 일 실시예에 따른 문장 해석 시스템에 대하여 상세히 설명한다.
[238]
따라서 본 발명의 몇몇 실시예에 따르면 문장 해석 장치(100a, 100b, 100c)는 다양한 데이터(10, 20, 30, 40, 50)를 전처리(60)함으로써 획득한 텍스트 형태의 문장을 해석할 수 있다. 또한, 본 발명의 몇몇 실시예에 따라 상기 획득한 문장을 사용자가 원하는 언어의 표현으로 번역할 수 있다. 또한 사용자는 번역된 문장을 수정하고 싶은 경우, 그래프에 대한 입력을 통해 쉽고 명확하게 문장을 수정할 수 있다.
[239]
또한, 각각의 문장 해석 장치(100a, 100b, 100c)는 각각의 번역 기록을 별도로 관리하여 사용자별 번역 패턴 및 번역 대상 문장 전,후의 문맥과 같은 정보를 더 저장할 수 있다. 이를 통해 사용자는 커스터마이징 된 문장 해석 결과 또는 번역 결과를 획득할 수 있다.
[240]
구체적으로 도 43내지 도 45을 참조하여, 각각의 번역 태스크(task)마다 로컬 스토리지를 이용하여 번역을 수행하는 방법에 대하여 설명한다.
[241]
도 43을 참조할 때, 일 실시예에 따르면 사용자별로 번역을 수행하기 위해 각각 다른 로컬 스토리지가 사용될 수 있다. 예를 들어 사용자1(430)이 이전에 사용했던 번역 기록, 또는 동일한 번역 과정에서 이전에 번역했던 문장에 대한 정보를 저장하는 로컬 스토리지(431)와 사용자2(433)의 번역 기록을 저장하는 로컬 스토리지(434)는 상이할 수 있다.
[242]
또한 본 발명의 또 다른 실시예에 따르면 상기 로컬 스토리지(431, 434)는 동일한 태스크(task)에서의 이전 번역 기록에 대한 정보만 포함할 수도 있다. 예를 들어 복수개의 문단으로 이루어진 많은 양의 텍스트를 번역하는 경우, 이전 문장의 번역 기록을 참조하여 해당 태스크에서만 로컬 스토리지에 저장된 정보를 이용하여 번역을 수행할 수 있다.
[243]
로컬 스토리지에 저장되는 정보는 어순 정보, 노드 또는 간선의 병합 또는 분리에 대한 선호도 정보, 문장요소나 단어 또는 형태소의 개수, 선호되는 음절의 개수 유사성, 국제 음성 기호의 유사성, 존댓말 또는 반말에 대한 속성 정보, 성별에 대한 정보, 문어체 또는 구어체에 대한 선호도, 외래어 사용 여부, 문장의 태(예를 들어 수동태 및 능동태)에 대한 선호도, 문장부호의 위치 또는 문장의 맺음말과 같은 문장의 어투에 대한 정보 중 하나 이상이 포함될 수 있다.
[244]
각각의 사용자 별로 번역기록을 상이하게 관리함으로써, 선호하는 번역 방법 , 선호하는 문장의 어순에 따라 사용자가 원하는 번역기록을 생성할 수 있다. 또한 다른 실시예에 따라 모든 사용자가 공유하는 메인 스토리지(432)가 존재할 수 있다. 메인 스토리지(432)는 예를 들어 복수개의 언어에 대한 사전적 의미, 각 언어의 특징, 공통적으로 선호하는 번역 방법 및 번역 결과에 대한 공통적인 피드백에 대한 정보를 모두 저장할 수 있다.
[245]
이와 같은 로컬 스토리지와 메인 스토리지의 구별로, 전문 분야의 전문 용어가 자연스럽게 번역될 수 있으며 도서 번역의 경우 작가마다 다른 문체에 대한 정보를 이용하여 더욱 자연스러운 번역이 가능하다. 이에 한정되지 않고 각각의 번역마다 개별화된 정보를 저장하고 관리함으로써 분야 및 태스크를 나누지 않는 단순 통계기반 번역에 비해 자연스럽고 전문적인 번역 결과가 획득될 수 있다.
[246]
예를 들어 국문 특허 명세서를 영문 특허 명세서로 번역하는 경우, '도면'이라는 단어는 'FIG'으로 종래 번역 기술에서도 간략히 표시될 수 있으나, 영문 특허 명세서의 'FIG'에 대한 국문 번역이 수행되는 경우 본 발명의 몇몇 실시예에 따르면 특허 분야에 대한 정보가 더 추가되어'무화과'가 아닌 '도면'으로 번역될 수 있다.
[247]
또한 도서 번역 분야에서 "In my younger and more vulnerable years"라는 문장은, 문체에 따라 "내가 지금보다 나이도 어리고 마음도 여리던 시절 ", "어리고 세상 물정 모르던 시절"또는 "어렸을 적에 나는 지금보다 훨씬 더 여리고 유약했다. "등 다양한 문장으로 해석될 수 있다. 본 발명의 몇몇 실시예에 따르면 이전 분장의 번역 기록을 이용하여 앞선 문체와 유사한 자연스러운 문체로 번역될 수 있다.
[248]
예를 들어 도 44를 참조할 때, 동일한 영어 문장 "old man and woman"이라도 사용자의 이전 번역 기록을 고려할 때 "old"가 "man and woman"을 모두 수식하는 의미로 해석되는 경우 스페인어로 "늙은 남성과 늙은 여성"이라는 뜻의 "Viejo y Vieja"(442)로 번역될 수 있다.
[249]
반면, 사용자의 이전 번역 기록을 고려할 때, 특정 형용사가 그 다음에 위치하는 명사 하나만을 수식하는 경우로 많이 해석된 경우, 스페인어로 "늙은 남성과 (늙지 않은 보통의) 여성" 이라는 뜻의 "Viejo y mujer"(444)로 해석될 수 있다. 이와 같이 본 실시예에 따르면 동일한 문장일지라도 사용자의 이전 번역 기록을 이용하여 사용자가 의도했던 번역 결과를 추출해낼 수 있다.
[250]
이와 같이 동일한 문장이라도 사용자가 이전에 번역을 수행했던 기록이나 추출된 번역 결과에 대한 피드백으로 요청했던 기록을 이용하여 번역이 수행될 수 있다. 상기 번역 결과에 대한 피드백이란, 예를 들어 병합하거나 분리했던 노드와 간선에 대한 정보일 수 있다.
[251]
예를 들어 주어에 해당하는 그래프 요소와 전치사에 해당하는 그래프 요소를 병합하는 기록이 많은 경우 "여자는 쌍안경을 가진 채 남자를 보았다"라고 해석될 수 있는 문장이 사용자에 따라 주어에 해당하는 그래프 요소와 목적어에 해당하는 그래프 요소를 병합하는 기록이 많다면 "여자는 쌍안경으로 남자를 보았다"라고 해석될 수 있다. 유사한 실시예로 그래프의 자기 간선을 선호하지 않는 사용자의 경우 자기 간선과 해당 노드를 병합한 형태의 그래프가 생성될 수 있다.
[252]
이하, 도 45을 참조하여 복수개의 문장이 번역되는 경우 복수개의 문장에 대한 문맥을 고려하여 번역이 수행되는 방법에 대하여 설명한다. 다양한 의미를 갖는 동음이의어 단어의 경우, 해당 단어를 포함하는 문장 및 해당 문장 전후의 맥락을 이해해야 정확한 번역이 가능하다. 예를 들어 "배"라는 단어의 경우 '사람이나 동물의 몸의 부위'를 의미할 수 있고, '과일의 한 종류'를 의미할 수도 있으며, '물 위를 떠다니는 운송체'일 수 있다. 본 실시예에 따르면 메인 스토리지에서 상기 "배"에 대한 모든 사전적 의미가 추출될 수 있다.
[253]
하지만, "나는 배가 좋다"라는 문장에 대한 번역을 수행하는 경우 상기 "배"가 어떤 의미인지 전혀 알 수 없다는 문제가 발생한다. 본 발명을 이와 같은 문제를 해결하기 위하여 특정 단어에 대한 의미를 파악하기 위해 상기 특정 단어를 포함하는 문장 및 상기 문장 전,후에 존재하는 복수개의 문장을 이용하여 상기 "배"의 의미를 파악한다.
[254]
예를 들어 "나는 해상활동을 좋아한다. 나는 배가 좋다."라는 복수개의 문장이 입력된 경우, 복수개의 "배"에 대한 의미 중 "나는 해상활동을 좋아한다"라는 문장과 가장 관련성이 높은 "물 위를 떠다니는 운송체"가 상기 "배"의 의미로 파악될 수 있다. 따라서 상기 복수개의 문장은 "I like maritime activities. I like ship."으로 해석될 수 있다.
[255]
반면, "나는 과일을 좋아한다. 나는 배가 좋다"라는 복수개의 문장이 입력된 경우, 복수개의 "배"에 대한 의미 중 "나는 과일을 좋아한다"라는 문장과 가장 관련성이 높은 "과일의 한 종류"가 상기"배"의 의미로 파악될 수 있다. 따라서 상기 복수개의 문장은 "I like fruits. I like a pear"으로 해석될 수 있다.
[256]
상기 특정 문장과 특정 단어간 관련성에 대한 판단은 방대한 번역 기록을 이용하여 연산 될 수 있고, 다양한 단어 및 예문의 집합을 이용하여 학습된 머신러닝이 이용될 수도 있다.
[257]
이하 도 46을 참조하여 본 발명의 실시예들에 따른 번역 방법을 수행하는 장치의 예시적인 하드웨어 구성을 설명한다.
[258]
번역 장치(100)는 그래프 변환부(623), 번역부(624) 및 번역 기록 DB(614)를 포함하고 몇몇 실시예에서 사용자 인터페이스(601), 문장 요소 추출부(621), 행렬 변환부(622), 언어별 문장 요소 DB(611), 언어별 문법 DB(612) 및 언어별 사전 DB(613)를 더 포함할 수 있다.
[259]
사용자 인터페이스(601)는 번역하고자 하는 문장을 사용자 또는 외부 서버로부터 획득할 수 있고, 상기 문장이 변환된 행렬, 그래프 및 번역된 문장을 출력할 수 있다. 상기 획득한 문장은 문장 요소 추출부(621)로 전달될 수 있다. 또한 번역이 완료된 문장은 번역부(624)로부터 수신할 수 있다. 또한 사용자로부터 입력 받은 번역 결과에 대한 피드백을 번역부(624)에 전달할 수 있다.
[260]
문장 요소 추출부(621)는 번역하고자 하는 문장을 형태소 단위로 분할할 수 있다. 따라서, 언어별 문장 요소 DB(611) 및 언어별 문법 DB(612)로부터 각 언어별 형태소에 대한 정보를 취합하여 상기 문장을 분할할 수 있다. 형태소 단위로 분할된 문장은 행렬 변환부(622) 또는 그래프 변환부(623)으로 전달될 수 있다.
[261]
행렬 변환부(622)는 형태소 단위로 분할된 문장을 행렬 형태로 변환할 수 있다. 또한 행렬 형태로 변환된 문장을 그래프 변환부(623)으로 전달할 수 있다.
[262]
그래프 변환부(623)는 형태소 단위로 분할된 문장 또는 행렬 형태의 문장을 그래프로 변환할 수 있다. 또한 그래프 및 그래프에 대응되는 문장을 번역부(624)로 전달할 수 있다.
[263]
번역부(624)는 그래프의 각 노드 및 간선에 대응되는 문장을 해석할 수 있다. 해석되는 문장은 상기 문장에 대응되는 그래프의 순회(traverse) 순서에 따라 어순이 결정될 수 있다. 그래프 순회 순서는 과거 번역 기록을 통해 정해진 순서 또는 머신 러닝을 통해 획득한 순서 또는 사용자에 의해 지정된 순서일 수 있다.
[264]
구체적으로 언어별 사전 DB(613) 및 번역 기록 DB(614)을 이용하여 사용자 또는 문맥에 최적화된 번역 결과를 생성할 수 있다. 또한 번역부(624)는 사용자 인터페이스(601)로부터 수신한 번역 결과에 대한 사용자의 피드백 정보를 이용하여 새로운 번역 결과를 생성하고, 이에 대한 정보를 번역 기록 DB(614)에 전달하여 저장할 수 있다.
[265]
도 47은 본 발명의 실시예들에 따른 번역 방법을 수행하는 장치의 다른 실시예를 나타내는 하드웨어 구성도이다. 도 47에서, 컴퓨팅 장치(100)는 프로세서(710), 메모리(720), 디스플레이(750) 및 스토리지(760)를 포함하고 몇몇 실시예에서 네트워크 인터페이스(740) 및 시스템 버스를 더 포함할 수 있다.
[266]
메모리(720)에 로드 되어 저장되는 하나 이상의 인스트럭션(731, 732, 733)은 프로세서(710)를 통하여 실행된다. 본 실시예에 따른 번역 방법을 수행하는 컴퓨팅 장치(100)는 별도의 설명이 없더라도 도 1 내지 도 47을 참조하여 설명한 번역 방법을 수행할 수 있는 점을 유의한다.
[267]
네트워크 인터페이스(740)는 외부 서버로부터 형태소 DB(761), 사전 DB(762)를 수신할 수 있다. 상기 수신된 정보는 스토리지(760)에 저장되도록 할 수 있다.
[268]
스토리지(760)는 상기 형태소 DB(761), 사전 DB(762) 및 번역 기록 DB(701)를 저장할 수 있다.
[269]
상기 하나 이상의 인스트럭션은, 문장을 형태소 단위로 분할하는 형태소 추출 인스트럭션(731), 상기 문장에 대응되는 그래프를 생성하는 그래프 변환 인스트럭션(732) 및 문장의 형태소 각각에 대해 번역을 수행하는 형태소 번역 인스트럭션(733)을 포함할 수 있다.
[270]
일 실시예에서, 형태소 추출 인스트럭션(731)은 문장을 형태소 단위로 분할하여 명사 형태소 및 명사 형태소가 아닌 기타 형태소로 분류할 수 있다.
[271]
일 실시예에서, 그래프 변환 인스트럭션(732)은 상기 명사 형태소 및 기타 형태소에 대응되도록 그래프의 노드 및 간선을 생성할 수 있다.
[272]
일 실시예에서, 형태소 번역 인스트럭션(733)은 상기 명사 형태소 및 기타 형태소에 대응되는 그래프의 구성 요소 각각에 대하여 번역하고자 하는 언어로 번역하여 표시할 수 있다.
[273]
[274]
2. 가시적 표현 요소를 이용하여 번역 결과를 수정하고 시각적으로 연관시키는 방법
[275]
본 섹션에서는 문장 요소 및 문장 요소간 관계를 나타내는 가시적 표현 요소를 이용하여 번역 결과를 수정하고, 가시적 표현 요소를 번역 결과의 각 구문과 시각적으로 연관시키는 방법과 관련된 다양한 실시예들을 추가로 개시한다. 이하, 도 48 내지 도 63을 참조하여, 관련된 실시예들에 대해 상세히 설명한다.
[276]
도 48은 본 발명의 일 실시예에 따른 가시적 표현 요소를 이용하여 번역 결과를 수정하고 가시적 표현 요소를 번역 결과의 각 구문과 시각적으로 연관시키는 번역 방법을 나타내는 순서도이다. 도 48을 참조하면, 입력 정보를 번역하여 그 결과를 출력 정보로서 제공하되, 출력 정보의 내용을 그래픽 요소로 표현하는 번역 방법이 설명된다.
[277]
S1100 단계에서, 번역 장치는 번역을 수행할 입력 정보를 획득한다. 입력 정보는 제1 언어(예를 들어, 한국어)로 작성된 텍스트 또는 이를 포함하는 문서일 수 있다.
[278]
S1200 단계에서, 번역 장치는 획득한 입력 정보를 번역하여 입력 정보에 대응하는 출력 정보를 생성한다. 이때, 출력 정보는 제2 언어(예를 들어, 영어)로 작성된 텍스트 또는 이를 포함하는 문서로서, 입력 정보의 번역 결과를 나타내는 정보일 수 있다. 이와 함께, 번역 장치는 출력 정보에 대응하는 그래픽 요소가 포함된 부가 정보를 생성한다. 부가 정보는 출력 정보의 의미(또는, 언어적 의미)를 그래픽적으로 표현하는 그림 또는 동영상과 같은 정보로서, 제2 언어를 모르는 사용자라도 부가 정보를 봄으로써 출력 정보의 의미를 손쉽게 이해할 수 있게 한다. 이에 대해 도 49를 참조하여 부연 설명한다.
[279]
도 49는 입력 정보를 번역하여 출력 정보 및 부가 정보를 생성하는 방법을 개념적으로 도시하는 도면이다. 도 49에서, 입력 정보(110)로서 "숲 속의 앨리스가 토끼굴에 단단한 돌을 던졌다"를 입력하면, 이의 번역 결과인 "Alice in a forest threw a hard rock into a rabbit hole"이 출력 정보(120)로서 출력된다. 그리고, 출력 정보(120)에 대응하는 부가 정보(1130)가 함께 표시되어 출력 정보(1120)의 의미를 그래픽적으로 표현하게 된다. 도 49를 참조하면, 부가 정보(1130)는 "Alice in a forest"에 대응하는 그래픽 요소(1131), "threw a hard rock"에 대응하는 그래픽 요소(1132), "into a rabbit hole"에 대응하는 그래픽 요소(1133)를 통해 출력 정보(1120)의 언어(여기서는, 영어)를 모르는 사용자라도 부가 정보(1130)를 통해 출력 정보(1120)의 의미를 손쉽게 확인할 수 있도록 한다.
[280]
S1300 단계에서, 번역 장치는 부가 정보의 그래픽 요소에 대한 사용자 조작에 응답하여 그래픽 요소를 수정하고, 그와 함께 그래픽 요소의 변경 내용과 상응하도록 출력 정보를 수정한다. 이에 대해, 도 50 내지 도 53을 참조하여 부연 설명한다.
[281]
먼저, 도 50 내지 도 51을 참조하여, 부가 정보(1130)의 그래픽 요소를 다른 그래픽 요소로 대체 또는 수정하는 경우의 실시예를 설명한다.
[282]
앞서, 부가 정보(1130)에서 "Alice in a forest threw a hard rock into a rabbit hole"를 묘사한 그림이 도시되고 있지만, 사용자의 원래 번역 의도는 "돌"을 "바위(rock)"가 아닌 "조약돌(pebble)"을 번역하는 것이었다고 가정하자. 이때, 사용자는 부가 정보(1130)의 그래픽 요소(1132)를 보고 원래의 의도와 다르게 번역된 것을 알 수 있고, 사용자는 잘못 번역된 부분에 해당하는 그래픽 요소(1132)를 원래 의도에 부합하는 다른 그래픽 요소로 대체하거나 수정함으로써 번역 오류를 바로잡을 수 있다.
[283]
이에 대해 도 50 내지 도 51을 참조하면, S1310 단계에서 번역 장치는 그래픽 요소의 적어도 일부(잘못 번역된 부분에 해당하는 부분)를 다른 그래픽 요소로 대체하기 위한 사용자 입력을 수신한다. 가령, 도 51에서, 사용자는 부가 정보(1130)를 보고 출력 정보(1120)의 의미를 파악하게 되며,"a hard rock"(1121)을 표현한 그래픽 요소(1134)가 원래 의도와 다르게 표현되었다고 판단하면 이를 수정하기 위해 사용자 조작(A)을 가하게 된다. 이 때, 번역 장치는 사용자 조작에 따른 사용자 입력을 수신한다.
[284]
S1320 단계에서, 번역 장치는 수신한 사용자 입력에 응답하여 그래픽 요소를 변경한다. 가령, 도 51에서, 그래픽 요소(1134)를 수정하기 위한 사용자 조작이 가해지면(A), 번역 장치는 해당 그래픽 요소(1134)를 대체할 수 다른 그래픽 요소(예를 들어, 조약돌 그림)를 표시하고 이를 선택하는 사용자 입력에 응답하여, 해당 그래픽 요소(1134)를 선택된 그래픽 요소로 대체 또는 수정하게 된다. 도 51의 오른쪽 그림을 보면, 사용자가 조약돌 그림을 선택한 것에 응답하여 부가 정보(1130) 내의 그래픽 요소(1135)가 조약돌로 바뀐 것을 볼 수 있다.
[285]
S1330 단계에서, 번역 장치는 그래픽 요소의 변경 내용에 상응하도록 출력 정보를 수정한다. 가령, 도 51를 참조하면, 앞서 사용자 조작(A)에 의해 부가 정보(1130)의 "바위(a hard rock)"를 나타내는 그래픽 요소(1134)가 "조약돌(a pebble)"을 나타내는 그래픽 요소(1135)로 변경되었으므로, 출력 정보(1120) 또한 부가 정보(1130)의 변경 내용을 반영하여 "a hard rock"(1121)이 "a pebble"(1122)로 수정되게 된다.
[286]
이에 따르면, 사용자는 출력 정보의 언어를 모르더라도 손쉽게 출력 정보의 의미를 이해하고 잘못 번역된 부분을 확인할 수 있으며, 그래픽 요소에 대한 사용자 조작을 통해 잘못 번역된 부분을 용이하게 바로 잡을 수 있다.
[287]
다음으로, 도 52 내지 도 53을 참조하여, 부가 정보(1130)의 그래픽 요소에 다른 그래픽 요소를 추가하는 경우의 실시예를 설명한다.
[288]
앞서, 부가 정보(1130)에서 "Alice in a forest threw a hard rock into a rabbit hole"를 묘사한 그림이 도시되었고, 여기에 특별히 잘못 번역된 부분은 없지만 추가적으로 몇몇 표현을 추가하려 한다고 가정하자. 이때, 사용자는 추가하고자 하는 표현을 나타내는 다른 그래픽 요소를 부가 정보(1130)의 그래픽 요소에 대해 추가함으로써, 추가하고자 하는 표현이 출력 정보(1120)의 번역 내용에 반영되도록 할 수 있다.
[289]
이에 대해 도 52 내지 도 53을 참조하면, S1340 단계에서 번역 장치는 그래픽 요소에 다른 그래픽 요를 추가하기 위한 사용자 입력을 수신한다. 가령, 도 53에서, 사용자는 부가 정보(1130)를 보고 출력 정보(1120)의 의미를 파악한 후,"a forest"(1123)를 꾸며주는 표현을 추가하고 싶다고 생각할 수 있다. 이 경우, 사용자는 추가하고자 하는 표현과 관련된 그래픽 요소(1136)에 대해 사용자 조작(B)을 가하게 된다. 그리고, 번역 장치는 사용자 조작에 따른 사용자 입력을 수신한다.
[290]
S1350 단계에서, 번역 장치는 수신한 사용자 입력에 응답하여 그래픽 요소를 변경한다. 가령, 도 53에서, 그래픽 요소(1136)에 대한 사용자 조작이 가해지면(B), 번역 장치는 해당 그래픽 요소(1136)에 추가할 수 있는 다른 그래픽 요소(예를 들어, 어두움을 나타내는 별과 달 그림)를 표시하고 이를 선택하는 사용자 입력에 응답하여, 해당 그래픽 요소(1136)에 선택된 그래픽 요소를 추가하는 변경을 가하게 된다. 도 53의 오른쪽 그림을 보면, 사용자가 어두움을 나타내는 별과 달 그림을 선택한 것에 응답하여 부가 정보(1130) 내의 그래픽 요소(1137)에 어두움을 나타내는 별과 달 그림이 추가된 것을 볼 수 있다.
[291]
S1360 단계에서, 번역 장치는 그래픽 요소의 변경 내용에 상응하도록 출력 정보를 수정한다. 가령, 도 53을 참조하면, 앞서 사용자 조작(B)에 의해 부가 정보(1130)의 "숲(a forest)"를 나타내는 그래픽 요소(1136)에 "어두움을 나타내는 별과 달 그림"이 추가되는 변경이 수행되었으므로, 출력 정보(1120) 또한 변경된 그래픽 요소(1137)를 반영하여 "a forest"(1123)가 "a dark forest"(1124)로 수정되게 된다.
[292]
이에 따르면, 사용자는 출력 정보의 언어를 모르더라도 손쉽게 출력 정보의 의미를 이해하고 원하는 표현을 추가할 수 있으며, 그에 따라 더욱 풍부한 표현으로 번역 결과를 도출할 수 있게 된다.
[293]
다시 도 48로 돌아가면, S1400 단계에서, 번역 장치는 출력 정보와 부가 정보 내 그래픽 요소의 서로 대응하는 부분들을 시각적으로 연관시킨다. 이는 출력 정보의 특정 단어가 그래픽 요소 내에서 어떤 도형으로 표현되고 있는지를 시가적으로 표시하는 것으로, 출력 정보와 그래픽 요소 간의 연관 관계를 시각적으로 표시함으로써 번역이 수행된 방법을 단계적으로 이해할 수 있도록 하기 위함이다. 이에 대해서는 도 61 및 도 62의 실시예에서 더욱 상세히 후술된다.
[294]
상술한 본 발명의 다양한 실시예들에 따르면, 번역 결과인 출력 정보의 의미를 부가 정보를 통해 시각화 함으로써, 출력 정보의 언어(제2 언어)를 모르는 사용자라도 손쉽게 그 의미를 확인하고 오번역을 수정할 수 있게 된다.
[295]
도 54는 도 48의 S1100 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 54에서는 본 발명의 추가적인 실시예로서, 키워드에 기반하여 소스 정보를 검색하여 입력 정보를 획득하는 방법이 설명한다.
[296]
S1110 단계에서, 번역 장치는 소스 정보를 획득한다. 이때, 소스 정보는 여러가지 텍스트 또는 정보가 포함된 문서 또는 파일일 수 있다. 소스 정보는 사용자에 의해 유입(import)된 것일 수도 있고, 크롤링(Crawling) 등을 통해 자동 수집된 것일 수도 있다.
[297]
S1120 단계에서, 번역 장치는 사용자로부터 키워드를 입력받고, 입력된 키워드에 따라 소스 정보를 검색하여 키워드와 관련된 정보들을 수집한다.
[298]
S1130 단계에서, 번역 장치는 수집된 정보를 입력 정보로서 이후의 단계들에 제공한다. 이때, 번역 장치는 수집된 정보들을 소정의 기준에 맞추어 포맷팅(formatting)하여 제공할 수 있다.
[299]
본 실시예에 대한 구체적인 이해를 위해 도 55를 참조하여 부연 설명한다. 도 55를 참조하면, 도 54에서 설명한 각 단계들이 개념적으로 도식화되어 설명된다. 소스 정보(1210)가 번역 장치(1220)로 입력되고, 번역 장치(1220)는 사용자로부터 키워드를 입력 받는다. 이때 키워드가 "빨간색 머리 론 위즐리"이면, 번역 장치(1220)는 소스 정보(1210)를 검색하여 "빨간색 머리 론 위즐리"와 관련된 내용들(1231, 1232, 1233)을 추출하여 입력 정보(1230)를 구성하게 된다. 그리고, 이렇게 구성된 입력 정보(1230)를 본 발명에 따른 번역 방법의 이후 단계들을 위해 제공하게 된다.
[300]
이때, 번역 장치(1220)는 키워드의 내용을 그래픽 요소로 표현하는 부가 정보(1240)를 생성하여 사용자에게 표시할 수 있다. 그리고, 사용자는 부가 정보(1240)의 그래픽 요소에 사용자 조작을 가하여 키워드를 변경하거나, 입력 정보(1230)의 키워드와 관련된 표현들을 일괄 변경할 수 있다. 예를 들어, 사용자가 부가 정보(1240)를 보고 머리 색깔을 나타내는 그래픽 요소(C)를 "빨간색"에서 "검은색"으로 변경하는 사용자 조작을 가하면, 번역 장치(1220)는 그러한 변경에 상응하도록 키워드를 "검은색 머리 론 위즐리"로 바꾸어 다시 소스 정보(1210)를 검색하거나, 기존 구성된 입력 정보(1230)의 "빨간색 머리 론 위즐리"표현을 "검은색 머리 론 위즐리"로 일괄 변경할 수 있다.
[301]
도 56은 도 48의 S1200 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 56에서는 본 발명의 또 다른 추가적인 실시예로서, 입력 정보에 중의적 표현이 포함된 경우에, 그에 대한 출력 정보 및 부가 정보를 생성하는 실시예를 설명한다.
[302]
S1210 단계에서, 번역 장치는 입력 정보에 중의적 표현이 포함되어 있는지 확인한다. 이때, 중의적 표현은 어떤 단어 또는 구문이 여러가지 의미로 이해될 수 있는 표현을 의미하는 것으로, 동음이의어(同音異義語) 또는 다의어(多義語)와 같은 중의적 의미를 지닌 개별 단어 뿐만 아니라 문장 구조 내에서 중의적 의미를 나타낼 수 있는 표현들을 포함하는 개념이다.
[303]
이에 대해 예를 들어 상술하면, "늙은 남성과 여성"은 "늙은"이 수식하는 부분이 "남성"만인지 또는 "남성과 여성"인지에 따라 다르게 해석되는 중의적 표현일 수 있다. "늙은"이 "남성"만을 수식하는 것으로 보면 "늙은 남성과 여성"은 "한 명의 늙은 남성과 다른 한 명의 여성"으로 이해되지만, "늙은"이 "남성과 여성"을 수식하는 것으로 보면 "늙은 남성과 여성"은 "한 명의 늙은 남성과 다른 한 명의 늙은 여성"으로 이해된다. 이를 번역에 적용하면, "늙은 남성과 여성"을 영어로 번역할 때, 이는 "a grandfather and an woman"과 "a grandfather and a grandmother"의 복수의 의미로 번역될 수 있는 중의적 표현에 해당한다.
[304]
유사한 예로서, "I saw the cat under the table"및"He opened a can of worms"도 중의적 표현이 될 수 있다. "I saw the cat under the table"은 한국어로 번역시 "나는 탁자 아래의 고양이를 보았다"또는"나는 탁자 아래에서 고양이를 보았다"와 같이 복수의 의미로 해석 가능하며, 유사하게 "He opened a can of worms"는 한국어로 번역시 "그는 벌레 통조림을 열었다"또는"그는 문제를 더 만들었다"의 복수의 의미로 해석 가능하다. 따라서, 이와 같이 문장 구조 내에서 중의적 의미를 갖는 구문들 또한 본 발명에서 정의하는 중의적 표현에 포함된다.
[305]
S1220 단계에서, 번역 장치는 입력 정보에 중의적 표현이 포함된 것으로 확인되면, 중의적 표현에 대응하는 복수의 의미들을 확인하고 그 중 어느 하나로 해당 중의적 표현의 의미를 결정한다. 일 실시예로서, 이때, 번역 장치는 확인된 중의적 표현의 복수의 의미에 대응하는 그래픽 요소들을 표시하고 그에 대한 사용자의 선택을 수신한 후, 사용자가 선택한 그래픽 요소에 대응하는 것으로 중의적 표현의 의미를 결정할 수 있다.
[306]
S1230 단계에서, 번역 장치는 앞서 결정된 중의적 표현의 의미대로 입력 정보를 번역한 결과를 출력 정보로서 생성하고, 생성된 출력 정보에 대응하는 부가 정보를 생성한다. 이때, 생성된 부가 정보는 앞서 결정된 중의적 표현의 의미를 표현하는 그래픽 요소를 포함한다.
[307]
본 실시예에 대한 구체적인 이해를 위해 도 57을 참조하여 부연 설명한다. 도 57을 참조하면, 도 56에서 설명한 각 단계들이 개념적으로 도식화되어 설명된다. 번역 장치는 입력 정보(1310)를 분석하여 입력 정보(1310)가 중의적 표현을 포함하는지 확인한다. 예를 들어, 입력 정보(1310)가 "He walked along the bank"인 경우 "the bank"(1311)는 "둑" 또는 "은행"등 복수의 의미로 해석될 수 있는 중의적 표현에 해당한다. 이때, 번역 장치는 "the bank"(1311)에 해당하는 복수의 의미들(1311a, 1311b)를 확인하고 그 중 어느 하나로 해당 중의적 표현의 의미를 결정한다. 그리고, 번역 장치는 결정된 중의적 표현의 의미에 따라 출력 정보(1320)를 생성하고, 그에 대응하는 부가 정보(1330)도 생성한다. 예를 들어, 도 57에 도시된 것과 같이, 번역 장치는 "the bank"(1311)의 복수의 의미들 중 "둑"(1311a)을 "the bank"(1311)의 의미로 결정하고, 그에 따라 출력 정보(1320)를 "그는 그 둑을 따라서 걸었다"로 생성하는 한편, 출력 정보(1320)의 의미를 표현하는 그래픽 요소가 포함되도록 부가 정보(1330)를 생성할 수 있다.
[308]
일 실시예로서, 이때, 번역 장치는 "the bank"(1311)의 복수의 의미들(1311a, 1311b)을 각각 나타내는 그래픽 요소들을 사용자에게 표시하고 그에 대한 사용자의 선택에 따라 "the bank"(1311)의 의미를 결정할 수 있다. 가령, 번역 장치가 "둑"(1311a)를 표현하는 그래픽 요소와 "은행"(1311b)을 표현하는 그래픽 요소를 표시하고 사용자가 그 중 "둑"(1311a)를 표현하는 그래픽 요소를 선택한 경우, 번역 장치는 "the bank"(1311)의 의미를 "둑"(1311a)으로 결정하고 도 57에 도시된 것과 같이 출력 정보(1320) 및 부가 정보(1330)를 생성할 수 있다.
[309]
이러한 본 발명의 실시예에 따르면, 번역 오류가 발생하기 쉬운 중의적 표현 번역에 있어 중의적 표현의 다양한 의미들을 그래픽적으로 표현함으로써 중의적 표현이 올바른 의미로 번역되었는지 손쉽게 확인할 수 있다.
[310]
도 58은 도 56의 S1220 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 58에서는 중의적 표현의 의미를 결정하는 방법 중 하나로써 전체적인 컨텍스트(context)에 기반하여 중의적 표현의 의미를 결정하는 방법이 설명된다. 이에 대해, 도 58 및 도 59를 참조하여 상세히 설명한다.
[311]
S1221 단계에서, 번역 장치는 입력 정보 중에서 중의적 표현이 포함된 제1 부분 및 제1 부분과 인접한 제2 부분을 확인한다. 이때, 제1 부분 및 제2 부분은 문장 단위로 구분되는 부분일 수 있지만, 이에 한정되지는 않는다. 가령, 제1 부분은 중의적 표현이 포함된 문장 또는 단락일 수 있고, 제2 부분은 제1 부분과 인접한 문장 또는 단락일 수 있다.
[312]
S1222 단계에서, 번역 장치는 중의적 표현의 의미를 표현한 제1 그래픽 요소와 제2 부분의 의미를 표현하는 제2 그래픽 요소를 비교하여 중의적 표현의 의미를 결정한다. 이 방법은 문맥상 서로 인접한 부분은 서로 연관되는 내용을 담고 있는 것이 일반적이라는 점에 착안하여, 제1 부분에 포함된 중의적 표현의 의미를 파악함에 있어 제1 부분과 인접한 제2 부분의 그래픽 요소를 보고 그와 유사한 그래픽 요소를 갖는 의미를 상기 중의적 표현의 의미로 결정하는 것이다.
[313]
이에 대해 도 59를 참조하여 부연 설명한다. 도 59는 도 58에 도시된 각 단계들을 개념적으로 풀어 설명하기 위한 도면이다.
[314]
도 59를 참조하면 입력 정보는 제1 부분(1310) 및 그와 인접한 제2 부분(1311)을 포함한다. 제1 부분(1310)에는 중의적 표현인 "the bank"가 포함되어 있다. 이때, 번역 장치는 "the bank"가 포함된 제1 부분(1310) 및 그와 인접한 제2 부분(1311)을 확인하고, "the bank"의 복수의 의미들(가령, "둑" 또는 "은행")에 대응하는 그래픽 요소들(1310a, 1310b)과 제2 부분에 대응하는 그래픽 요소(1311a)를 비교한다. 그리고, 그래픽 요소들 간의 유사도를 스코어링하여 가장 높은 스코어에 해당하는 그래픽 요소의 의미로 "the bank"의 의미를 결정한다. 예를 들어, "둑"에 대응하는 그래픽 요소(1310a)와 제2 부분에 대응하는 그래픽 요소(1311a) 간의 유사도 점수가 100점이고, "은행"에 대응하는 그래픽 요소(1310b)와 제2 부분에 대응하는 그래픽 요소(1311a) 간의 유사도 점수가 50점인 경우, 번역 장치는 더 높은 유사도 점수에 해당하는"둑"이 컨텍스트 내에서의 "the bank"의 의미에 더 가까운 것으로 보고, "둑"을 "the bank"의 의미로 결정한다. 이때, 그래픽 요소들 간의 유사도 산출하는 방법은 머신러닝 기반의 다양한 방법이 쓰일 수 있고, 그러한 방법들의 구체적인 내용은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
[315]
도 60은 도 56의 S1220 단계를 더욱 구체화한 다른 일 실시예를 나타내는 순서도이다. 도 60에서도 중의적 표현의 의미를 결정하는 방법 중 하나로써 전체적인 컨텍스트(context)에 기반하여 중의적 표현의 의미를 결정하는 방법이 설명된다. 다만, 여기서는 도 58과 달리 단어들의 텍스트 유사도에 기반하여 중의적 표현의 의미를 결정하는 방법을 설명한다.
[316]
S1223 단계에서, 번역 장치는 입력 정보 중에서 중의적 표현이 포함된 제1 부분 및 제1 부분과 인접한 제2 부분을 확인한다. 이때, 제1 부분 및 제2 부분은 문장 단위로 구분되는 부분일 수 있지만, 이에 한정되지는 않는다. 가령, 제1 부분은 중의적 표현이 포함된 문장 또는 단락일 수 있고, 제2 부분은 제1 부분과 인접한 문장 또는 단락일 수 있다.
[317]
S1224 단계에서, 번역 장치는 제2 부분에 포함된 단어들을 추출하고, 중의적 표현의 복수의 의미들 각각에 대해 앞서 추출한 제2 부분의 단어들과의 유사도를 각각 산출하고, 그 중 가장 높은 유사도를 갖는 의미를 중의적 표현의 의미로 결정한다. 이때, 유사도를 산출하는 방법으로는 단어들 간의 벡터 거리에 기반하여 유사도를 산출하는 방법, 예를 들어, Word2Vec과 같은 머신 러닝 알고리즘을 이용한 방법,이 사용될 수 있으며, 그러한 방법들의 구체적인 내용은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
[318]
다음으로, 앞서 도 48의 S1400 단계에서 언급되었던 출력 정보와 부가 정보 내 그래픽 요소의 서로 대응하는 부분들을 시각적으로 연관시키는 방법에 대해 설명한다. 도 61은 도 48에 도시된 S1400 단계를 구체적인 예시를 통해 부연 설명하는 도면이다. 도 61을 참조하면, 입력 정보(1410), 출력 정보(1420), 및 부가 정보(1430)의 서로 대응하는 요소들이 동일한 그래픽 수단(예를 들어, 색상 또는 패턴)으로 강조 표시되는 예가 도시된다.
[319]
출력 정보(1420)와 대응되는 부가 정보(1430)를 통해 출력 정보(1420)의 의미 내용을 파악할 수 있다고 해도, 그것 만으로는 사용자가 입력 정보(1410)의 어느 부분이 출력 정보(1420)의 어느 부분으로 번역되었는지 직관적으로 파악하는 데 어려움이 있을 수 있다. 따라서, 입력 정보(1410), 출력 정보(1420), 및 부가 정보(1430)의 대응되는 요소들을 시각적으로 서로 연관시킴으로써, 입력 정보(1410) 또는 부가 정보(1430)의 각 부분이 출력 정보(1420)의 어느 부분에 매칭되는 지를 확인할 수 있도록 하는 것이 필요하다.
[320]
도 61을 참조하면, 입력 정보(1410)와, 이를 번역한 출력 정보(1420)와, 출력 정보(1420)의 의미를 그래픽적으로 표현하는 부가 정보(1430)가 도시된다. 이때, 동일한 그래픽 수단을 이용하여 입력 정보(1410), 출력 정보(1420), 및 부가 정보(1430)의 대응하는 요소들을 시각적으로 연관시킴으로써, 사용자가 그것들 간의 상호관계를 더욱 직관적이고 명확하게 파악하도록 할 수 있다.
[321]
가령, 도 61에 도시된 것처럼, 입력 정보(1410)의 "남자가"(1411)와, 출력 정보(1420)의 "A man"(1421)과, 부가 정보(1430)의 남자 그림(1431)을 서로 동일한 색상이나 패턴으로 강조 표시함으로써, 사용자는 입력 정보(1410)의 "남자가"(1411) 단어가 "A man"(1421) 및 남자 그림(1431)과 각각 대응된다는 것을 빠르고 직관적으로 알아차릴 수 있다.
[322]
한편, 여기서는 입력 정보(1410), 출력 정보(1420), 및 부가 정보(1430)의 대응하는 요소들을 시각적으로 연관시키는 그래픽 수단을 색상 또는 패턴인 것으로 예시하였지만, 본 발명의 범위는 이에 한정되지 않는다. 예를 들어, 색상 또는 패턴으로 연관시키는 것 대신, 입력 정보(1410), 출력 정보(1420), 및 부가 정보(1430)의 대응하는 요소들이 서로 동일한 주기로 깜빡이도록 함으로써, 해당 요소들이 서로 대응되어 있다는 것을 나타낼 수도 있다.
[323]
도 62는 도 61의 실시예에 있어서 각 단어 및 구문의 어순에 따라 번역이 수행된 과정 및 방법을 시각적으로 표현하는 일 실시예를 설명하는 도면이다. 도 61에서 입력 정보(1410), 출력 정보(1420), 및 부가 정보(1430) 사이에서 하나의 특정 단어가 서로 연관되는 실시예가 설명되었다면, 도 62의 실시예에서는 복수의 단어 또는 구문이 어순에 따라 서로 대응하는 요소들과 시각적으로 연관되는 실시예가 설명된다. 이하 도 62를 참조하여 설명한다.
[324]
도 62에서, 입력 정보(1410)는 복수의 단어들(1411, 1412, 1413)을 포함하고, 각 단어들(1411, 1412, 1413)은 출력 정보(1420) 및 부가 정보(1430)의 대응하는 요소들과 각각 동일한 그래픽 수단으로 연관된다. 예를 들어, 입력 정보(1410)의 "남자가"(1411)는 "A man"(1421) 및 남자 그림(1431)과 동일한 색상 또는 패턴으로 강조 표시되고, 입력 정보(1410)의 "자동차"(1412)는 "a car"(1422) 및 자동차 그림(1432)과 동일한 색상 또는 패턴으로 강조 표시되고, 입력 정보(1410)의 "옆에 서 있다"(1413)는 "is standing near"(1423) 및 인접함을 나타내는 인접 표식(1433)과 동일한 색상 또는 패턴으로 강조 표시된다. 이를 통해, 입력 정보(1410)의 각 단어 또는 구문이 출력 정보(1420) 및 부가 정보(1430)의 어느 부분에 각각 대응되는지를 일목요연하게 파악할 수 있다.
[325]
한편, 본 실시예에서, 입력 정보(1410), 출력 정보(1420) 및 부가 정보(1430)의 요소들의 서로 대응하는 각각의 쌍은 그 어순에 따라 순차적으로 강조되거나 표시될 수 있다. 예를 들어, 도 62에서 입력 정보(1410), 출력 정보(1420) 및 부가 정보(1430)의 서로 대응하는 요소들을 짝 지으면, "남자가"(1411)-"A man"(1421)-남자 그림(1431)의 제1 쌍과, "자동차"(1412)-"a car"(1422)-자동차 그림(1432)의 제2 쌍과, "옆에 서 있다"(1413)-"is standing near"(1423)-인접 표식(1433)의 제3 쌍, 총 세 개의 쌍이 도출된다. 이때, 각 쌍을 그 어순에 따라 순차적으로 표시하거나 강조하면, 사용자는 어떤 어순으로 입력 정보(1410)가 번역되는지 쉽게 확인할 수 있다.
[326]
가령, 도 62에서, 순차적으로 처음에 제1 쌍이 표시 또는 강조되고, 다음으로 제2 쌍이 표시 또는 강조되고, 마지막으로 제3 쌍이 표시 또는 강조되면, 사용자는 입력 정보(1410)의 한국어 어순과는 다르게 출력 정보(1420)의 영어 어순에서는 동사 구문(1423)이 목적어(1422)보다 먼저 나온다는 것을 직관적으로 확인할 수 있다. 한편, 이때, 각 쌍들은 서로 시각적 구분이 용이하도록 하기 위해, 각 쌍은 다른 쌍들과 상이한 색상으로 강조되거나 표시될 수 있다.
[327]
상기한 본 발명의 실시예들에 따르면, 번역 결과와 함께 그 과정과 방법이 그래픽적으로 표현되므로 사용자가 손쉽게 번역이 수행된 방법을 단계적으로 이해할 수 있다.
[328]
이하에서는, 도 63을 참조하여 본 발명의 다양한 실시예에서 설명된 장치를 구현할 수 있는 또 하나의 예시적인 컴퓨팅 장치(1500)에 대하여 설명하도록 한다.
[329]
도 63은 본 발명의 실시예들에 따른 번역 방법을 수행하는 장치의 또 다른 실시예를 나타내는 하드웨어 구성도이다.
[330]
도 63에 도시된 바와 같이, 본 발명의 실시예들에 따른 번역 방법을 수행하는 컴퓨팅 장치(1500)는 하나 이상의 프로세서(1510), 버스(1550), 통신 인터페이스(1570), 프로세서(1510)에 의하여 수행되는 컴퓨터 프로그램(1591)을 로드(load)하는 메모리(1530)와, 컴퓨터 프로그램(1591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 63에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 63에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
[331]
프로세서(1510)는 컴퓨팅 장치(1500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1500)는 하나 이상의 프로세서를 구비할 수 있다.
[332]
메모리(1530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1590)로부터 하나 이상의 프로그램(1591)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(1591)이 메모리(1530)에 로드 되면, 상기 프로그램(1591)에 따른 로직(또는 모듈)이 메모리(1530) 상에 구현될 수 있다. 메모리(1530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
[333]
버스(1550)는 컴퓨팅 장치(1500)의 구성 요소 간 통신 기능을 제공한다. 버스(1550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
[334]
통신 인터페이스(1570)는 컴퓨팅 장치(1500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(1570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
[335]
스토리지(1590)는 하나 이상의 컴퓨터 프로그램(1591)을 비임시적으로 저장할 수 있다. 스토리지(1590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
[336]
컴퓨터 프로그램(1591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(1591)이 메모리(1530)에 로드 되면, 프로세서(1510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
[337]
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
[338]
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다.
[339]
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
[340]

청구범위

[청구항 1]
컴퓨팅장치에 의해 수행되는 방법에 있어서, 제1 언어의 제1 문장의 데이터를 얻되, 상기 제1 문장은 제1 형태소 및 제2 형태소를 포함하는 것인, 단계; 상기 제1 문장을 표현하는 제1 그래프를 생성하되, 상기 제1 그래프의 노드(node)는 상기 제1 문장의 각각의 제1 형태소에 대응되는 것이고, 상기 제1 그래프의 간선(edge)은 상기 제1 문장의 각각의 제2 형태소에 대응되는 것이며, 상기 제1 그래프를 제1 순서로 순회(traverse)하면서 각 노드와 각 간선에 대응되는 표현을 연결(concatenation)하면 상기 제1 문장이 완성되도록 상기 제1 그래프의 노드 및 간선을 연결하는 단계; 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이한 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계;및 상기 제1 문장의 제2 언어로의 번역 결과로서 상기 제2 문장을 출력하는 단계를 포함하는, 번역 방법.
[청구항 2]
제1 항에 있어서, 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 간선에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선의 출발지 및 목적지 중 어느 하나 이상을 변경하는 단계; 및 상기 변경된 간선을 포함하는 제1 그래프 생성하는 단계를 포함하는, 문장 번역 방법.
[청구항 3]
제1 항에 있어서, 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하는 단계; 및 상기 분할된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함하는, 번역 방법.
[청구항 4]
제3 항에 있어서, 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하여 하나 이상의 노드 및 하나 이상의 간선으로 대체되는 단계; 및 상기 대체된 하나 이상의 노드 및 하나 이상의 간선을 포함하는 제1 그래프 생성하는 단계를 포함하는, 번역 방법.
[청구항 5]
제1 항에 있어서, 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 다른 노드와 병합하는 단계; 및 상기 병합된 노드를 포함하는 제1 그래프 생성하는 단계를 포함하는, 번역 방법.
[청구항 6]
제1 항에 있어서, 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 간선 및 노드 중 어느 하나에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선과 노드가 병합되어 새로운 노드로 대체되는 단계; 및 상기 대체된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함하는, 번역 방법.
[청구항 7]
제1 항에 있어서, 상기 제2 언어의 제2 문장을 얻는 단계는, 상기 각 노드에 대응되는 제2 언어의 표현 또는 각 간선에 대응되는 제2 언어의 표현중 어느 하나 이상이 생략 가능한 형태소인 경우 상기 생략 가능한 제2 언어의 표현을 연결하지 않고 상기 제2 언어의 제2 문장을 얻는 단계를 포함하는, 문장 번역 방법.
[청구항 8]
제1 항에 있어서, 상기 제2 언어의 제2 문장을 얻는 단계는, 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이하고 이전 사용자의 번역 기록을 이용하여 지정된 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써 상기 제2 언어의 제2 문장을 얻는 단계를 포함하는, 문장 번역 방법.
[청구항 9]
제1 항에 있어서, 상기 제2 언어의 제2 문장을 얻는 단계는, 기 지정된 사용자의 입력을 수신하는 것에 응답하여 상기 제1 그래프를 상기 제2 순서와 적어도 일부는 상이한 제3 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계를 포함하는, 문장 번역 방법.
[청구항 10]
컴퓨팅장치에 의해 수행되는 방법에 있어서, 제1 언어로 표현된 제1 단어의 의미를 포함하는 상기 제1 단어의 제1 태그 정보를 생성하는 단계; 상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 단계; 및 상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함하는 번역 방법.
[청구항 11]
제10 항에 있어서, 상기 제4 문장의 데이터를 제1 단어의 제3 태그 정보를 생성하는 단계는, 상기 제1 단어를 포함하는 제3 문장의 데이터를 얻는 것에 응답하여, 상기 제3 문장의 데이터를 이용하여 상기 제1 단어의 제2 태그 정보를 생성하되, 상기 제1 단어의 제2 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 단계; 상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제2 태그 정보를 포함하는 것인, 단계; 및 상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함하는, 번역 방법.
[청구항 12]
제10 항에 있어서, 상기 제1 단어의 제1 태그 정보를 생성하는 단계는, 상기 제1 언어에만 존재하는 상기 제1 단어의 속성과 관련된 정보를 더 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함하는, 번역 방법.
[청구항 13]
컴퓨터 장치에 의해 수행되는 방법에 있어서, 입력 정보를 획득하는 단계; 상기 입력 정보를 번역하여 출력 정보를 생성하고 상기 출력 정보에 대응하는 그래픽 요소가 포함된 부가 정보를 생성하는 단계; 및 상기 그래픽 요소에 대한 사용자 조작에 응답하여 상기 그래픽 요소를 변경하되 상기 그래픽 요소의 변경과 상응하도록 상기 출력 정보를 수정하는 단계를 포함하는, 번역 방법.
[청구항 14]
제13 항에 있어서, 상기 부가 정보를 생성하는 단계는, 상기 입력 정보에 중의적 표현이 포함되어 있는지 확인하는 단계; 상기 중의적 표현에 대응하는 복수의 의미들 중 어느 하나로 상기 중의적 표현의 의미를 결정하는 단계; 및 상기 그래픽 요소가 상기 결정된 의미를 표현하도록 하는 단계를 포함하는, 번역 방법.
[청구항 15]
제14 항에 있어서, 상기 중의적 표현의 의미를 결정하는 단계는, 상기 입력 정보 내에서 상기 중의적 표현이 포함된 제1 부분 및 상기 제1 부분과 인접한 제2 부분을 확인하는 단계; 및 상기 중의적 표현을 상기 복수의 의미 중 제1 의미를 표현한 제1 그래픽 요소와 상기 제2 부분과 대응하는 제2 그래픽 요소를 비교하여 상기 제1 의미로 상기 중의적 표현의 의미를 결정하는 단계를 포함하는, 번역 방법.
[청구항 16]
제13 항에 있어서, 상기 출력 정보를 수정하는 단계는, 상기 그래픽 요소의 적어도 일부를 다른 그래픽 요소로 대체하기 위한 사용자 입력을 수신하는 단계; 상기 사용자 입력에 응답하여 상기 그래픽 요소를 변경하는 단계; 및 상기 그래픽 요소의 변경과 상응하도록 상기 출력 정보를 수정하는 단계를 포함하는, 번역 방법.
[청구항 17]
제13 항에 있어서, 상기 출력 정보를 수정하는 단계는, 상기 그래픽 요소에 다른 그래픽 요소를 추가하기 위한 사용자 입력을 수신하는 단계; 상기 사용자 입력에 응답하여 상기 그래픽 요소를 변경하는 단계; 및 상기 그래픽 요소의 변경과 상응하도록 상기 출력 정보를 수정하는 단계를 포함하는, 번역 방법.
[청구항 18]
제13 항에 있어서, 상기 출력 정보 중 제1 부분과 상기 그래픽 요소 중 제1 그래픽 요소를 시각적으로 연관시키는 단계를 더 포함하고, 상기 제1 그래픽 요소는 상기 제1 부분의 언어적 의미를 나타내고, 상기 제1 부분과 상기 제1 그래픽 요소를 동일한 색상으로 강조하거나 표시되는, 번역 방법.
[청구항 19]
제18 항에 있어서, 상기 제1 부분은 복수의 단어 또는 구문을 포함하고, 상기 제1 그래픽 요소는 상기 복수의 단어 또는 구문의 언어적 의미를 각각 나타내는 복수의 그래픽 요소를 포함하는, 번역 방법.
[청구항 20]
제19 항에 있어서, 상기 복수의 단어 또는 구문과 상기 복수의 그래픽 요소의 서로 대응하는 각각의 쌍은 순차적으로 강조되거나 표시되는, 번역 방법.

도면

[도1]

[도2]

[도3]

[도4]

[도5]

[도6]

[도7]

[도8]

[도9]

[도10]

[도11]

[도12]

[도13]

[도14]

[도15]

[도16]

[도17]

[도18]

[도19]

[도20]

[도21]

[도22]

[도23]

[도24]

[도25]

[도26]

[도27]

[도28]

[도29]

[도30]

[도31]

[도32]

[도33]

[도34]

[도35]

[도36]

[도37]

[도38]

[도39]

[도40]

[도41]

[도42]

[도43]

[도44]

[도45]

[도46]

[도47]

[도48]

[도49]

[도50]

[도51]

[도52]

[도53]

[도54]

[도55]

[도56]

[도57]

[도58]

[도59]

[도60]

[도61]

[도62]

[도63]