블로그로 돌아가기

AI 번역기는 문법을 어떻게 볼까

노트7 min

Sungbin Kim

영어 공부를 하다 보면 "이 문장이 문법적으로 맞나?", "이 표현이 자연스러운가?" 같은 고민을 자주 하게 됩니다. 예전에는 사전이나 문법책을 찾아봐야 했지만, 요즘은 AI 번역기나 챗봇에게 바로 물어볼 수 있습니다. 저도 몇 가지 문장을 직접 넣어보면서 AI가 시제와 문장 구조, 문맥을 어떻게 다루는지 살펴봤습니다.

AI가 문장을 보는 단위

시제

영어에서 시제는 생각보다 복잡합니다. "I have been studying"이라는 문장을 보면 단순히 '공부하다'가 아니라 '계속해서 공부해왔다'는 현재완료진행형의 의미가 들어 있습니다. AI 번역기는 이런 차이를 문장 안의 단어와 패턴을 보고 추정합니다.

시제 분석을 확률 모델로 단순화하면 이렇게 쓸 수 있습니다.

예를 들어 "He's been working"이라는 문장을 보면, AI는 각 요소를 함께 보고 시제를 고릅니다.

각 문법 요소의 가중치

와 토큰의 문법적 특성

를 보고 분석한다고 이해하면 됩니다.

능동태와 수동태

영어에서 "The book was written"과 "I wrote the book"은 같은 상황을 다르게 표현합니다. AI는 이런 차이를 다음 확률 모델처럼 볼 수 있습니다.

문장 구조

문장 구조도 확률 분포로 표현할 수 있습니다.

여기서 품사를 나타내는

와 의존 관계를 나타내는

를 사용합니다.

관사

영어에서 관사(a, an, the)는 자주 헷갈리는 부분입니다. AI는 명사와 주변 문맥을 보고 관사를 고릅니다.

문맥이 있을 때 달라지는 것

문맥 이해를 수식으로 단순화하면 이렇게 표현할 수 있습니다.

단어 간의 관계를 나타내는

와 각 단어의 의미값을 나타내는

를 보고 문맥을 잡는다고 단순화한 식입니다.

정확한 수치를 말하려면 별도의 벤치마크와 채점 기준이 필요합니다. 제가 몇 가지 문장으로 테스트한 결과를 일반적인 정확도로 말할 수는 없습니다. 다만 문맥 없이 단어나 짧은 문장만 던졌을 때보다 앞뒤 문맥을 같이 줬을 때 결과가 훨씬 자연스러웠습니다.

이건 제가 영어 공부를 할 때의 경험과도 비슷합니다. 단어나 문장을 단독으로 외우는 것보다, 실제 대화나 글 속에서 배울 때 더 오래 남았습니다.

직접 넣어본 문장들

먼저 시제와 태, 문장 구조를 묻는 문장들을 넣었습니다.

영어 문법 테스트 문장의 상세 분석 결과

그다음에는 같은 단어가 문맥에 따라 어떻게 달라지는지 확인했습니다.

문맥에 따른 배 단어 의미 분석 실험 결과

결과를 보면서 AI가 단어 하나만 보는 게 아니라 문맥까지 같이 본다는 점을 조금 더 구체적으로 확인할 수 있었습니다.

먼저 시제 분석은 꽤 안정적이었습니다. "I go to school"이나 "I went to school" 같은 단순 시제는 헷갈리는 경우가 거의 없었고, "I have been studying English for 3 years" 같은 현재완료진행형도 의미를 놓치지 않고 짚어냈습니다. 단순한 시제에서 복잡한 시제로 넘어가는 흐름이 영어 공부 과정과 비슷하게 느껴졌습니다.

태(Voice) 분석도 괜찮았습니다. "John wrote the book"(능동태)과 "The book was written by John"(수동태)이 같은 상황을 다르게 표현한다는 점을 잡아냈고, "The dinner was being cooked when I arrived" 같은 진행형 수동태도 정확하게 분석했습니다.

문장 구조 분석에서는 "The cat(주어) catches(동사) the mouse(목적어)" 같은 SVO 구조와 "The sun(주어) rises(동사)" 같은 SV 구조를 잘 구분했습니다. 주어와 동사의 일치도 잡아냈습니다. 예를 들어 "The group of students is studying"에서는 주어가 복수처럼 보여도 단수 동사를 써야 한다는 점을 이해했습니다. 단순히 문법 규칙만 보는 게 아니라 문장의 의미와 문맥을 같이 보는 듯했습니다.

가장 인상적이었던 부분은 모호한 표현을 해석하는 방식이었습니다. 우리가 일상적으로 쓰는 언어에는 여러 의미를 가진 단어나 표현이 많은데, AI는 주변 문맥을 보고 의미를 고릅니다.

예를 들어, 영어에서 'bank'라는 단어는 '은행'일 수도 있고 '강둑'일 수도 있습니다. AI는 이런 단어가 나왔을 때 주변 문맥을 살펴보아 적절한 의미를 선택합니다. "I went to the bank to withdraw money"라는 문장에서는 '은행'으로, "We sat by the bank of the river"라는 문장에서는 '강둑'으로 정확하게 해석했습니다. 문맥 없이 'bank' 한 단어만 던졌을 때는 이렇게 명확하게 갈리지 않았습니다.

부적절한 문맥을 만났을 때도 어느 정도 대응했습니다. 예를 들어 "The bank was delicious"처럼 의미적으로 맞지 않는 문장이 나오면 오류로 인식하고 대안을 제시했습니다. 사람이 문장을 읽다가 "이건 뭔가 이상한데"라고 느끼는 과정과 조금 비슷합니다.

AI는 각 단어가 가질 수 있는 의미와 주변 문맥의 관계를 계산하고, 그중 가장 그럴듯한 의미를 고릅니다. 이 과정을 단순화하면 아래처럼 표현할 수 있습니다.

수식은 복잡해 보이지만, 문맥을 보고 가장 자연스러운 의미를 고르는 과정입니다. 우리가 대화 중에 단어의 의미를 좁혀가는 것과 비슷합니다.

영어 공부에 써보니

영작문을 할 때 문법과 표현의 자연스러움을 바로 확인할 수 있다는 점은 꽤 유용했습니다. 초급자에게는 기본 문법부터 설명하고, 중급 이상에게는 더 복잡한 문맥 설명을 붙이는 식으로 수준을 바꿔달라고 할 수도 있습니다. 예를 들어 "좋아요"라는 표현을 번역할 때 초급자에게는 "good"을, 고급자에게는 "fantastic", "phenomenal" 같은 표현을 제안하는 식입니다.

교사 입장에서도 예문을 빠르게 만들거나 학생 과제를 검토할 때 도움이 됩니다. 학생의 실력과 진도를 정리해서 맞춤형 학습 계획을 세우는 데도 활용할 수 있습니다.

이번 테스트에서는 시제, 태, 문장 구조, 관사의 단순한 예문을 거의 놓치지 않았고, 복합 시제나 진행형 수동태도 대체로 안정적으로 다뤘습니다. 동음이의어처럼 문맥이 있어야 풀리는 문제에서는 문맥을 함께 줬을 때 차이가 크게 느껴졌고, 의미적으로 이상한 문장은 오류로 짚어내기도 했습니다.

그래도 이 결과는 제가 넣어본 몇 문장에 한정됩니다. AI의 답을 그대로 믿기보다 왜 그렇게 고쳤는지 설명을 요구하고, 사전이나 문법 자료와 직접 비교해보는 방식이 더 좋았습니다. 저에게 AI 번역기는 선생님이나 학습자를 대체하는 도구라기보다 문법 설명, 문맥 비교, 표현 제안을 빠르게 받아보는 보조 도구에 가깝습니다.

참고 자료

이 글의 확률식 설명은 아래 논문들에서 다루는 트랜스포머·어텐션 개념을 참고했습니다. 위 테스트 결과는 논문의 정확도 수치가 아니라 제가 직접 넣어본 문장들에서 본 결과입니다.

  1. Vaswani, A., et al. (2017). "Attention is all you need." Advances in neural information processing systems.
  2. Devlin, J., et al. (2019). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." NAACL-HLT.
  3. Brown, T. B., et al. (2020). "Language Models are Few-Shot Learners." NeurIPS.