TL;DR
- 이 프로그램은 라틴어 행의 모음 길이를 직접 표시하지 않아도 제약 충족(constraint satisfaction)을 이용해 각 행을 분석하고, 육보격의 규칙으로 모음의 본래 길이를 추정함.
- 입력된 텍스트를 행별로 나누고, 이중자음·이중모음·자음군과 모음 또는 자음으로 쓰이는 i를 처리함.
- 위치에 따른 장음과 모음 생략(엘리전)을 판별하고, 음절 수로 해당 행에 필요한 닥틸(dactyl)과 스폰디(spondee) 수를 계산함.
- 행의 끝에서 왼쪽으로 진행하며 닥틸을 우선 배치하되, 이미 장음인 모음을 단음으로 만들어야 하면 스폰디로 처리함.
- 이 간단한 탐색 휴리스틱은 완벽하지 않지만, 둘째 끝 발이 거의 항상 닥틸인 점과 이중모음 및 본래 장음이 제약을 제공하는 점 덕분에 예상보다 잘 작동함.
프로그램의 입력과 출력
- 왼쪽에 라틴어 육보격 행을 입력하면 프로그램이 각 행의 운율을 분석하고 결과를 오른쪽에 표시함.
- 모음의 장단을 직접 표시할 필요 없이 프로그램이 이를 추정함.
- 예시로 베르길리우스의 『아이네이스』 첫 행부터 여러 행이 제시됨.
분석 절차
- 텍스트를 행으로 나누고 각 행을 별도로 분석함.
- 특정 글자 조합을 분리되지 않는 단위로 처리하고, i가 모음인지 자음인지 판별함.
- i가 두 모음 사이에 있거나 단어 첫 글자이고 뒤에 모음이 오면 자음으로 처리함. 그 밖의 경우에는 모음으로 처리함.
- qu, ch, ph, th는 길이 1인 단일 자음으로 처리함.
- ae, oe 같은 모음 쌍은 길이 2인 단일 모음으로 처리함. 이에 따라 엘리전이 일어날 때 이중모음 전체가 생략될 수 있음.
- 폐쇄음 b, c, d, f, g, p, t 뒤에 유음 l, r이 오면 두 자음을 길이 1인 단일 자음으로 처리함.
- x, z는 길이 2인 자음으로 표시함.
- 모음 뒤에 오는 글자를 살펴 위치에 따른 장음과 엘리전을 판별함.
- 공백은 무시하며, 모음 뒤의 다음 글자가 길이 2인 자음이거나 다음 두 글자가 모두 자음이면 해당 모음을 위치에 따른 장음으로 처리함. 이때 모음 길이는 기본값 1에서 2로 바뀜.
/([aeiouy])m? h?[aeiouy]/i정규식에 해당하는 모음을 엘리전으로 처리함. 즉, 단어 끝 모음 뒤에 선택적으로 m이 오고 다음 단어가 모음 또는 h로 시작하면 해당 모음이 생략됨.- 다음 단어가 est 또는 es라면, 앞 단어의 모음 대신 es 또는 est의 첫 e를 생략하는 예외 규칙을 적용함.
모음의 본래 장단 추정
- 모음의 본래 장단을 악센트로 표시하면 운율 분석은 결정적으로 이뤄질 수 있음. 하지만 프로그램은 사용 편의를 위해 악센트 입력을 요구하지 않고, 추론 절차로 적절한 악센트, 즉 모음의 본래 장단을 추정함.
- 단어 끝의 o는 항상 장음이라고 가정함. 이 규칙은 실제로 항상 참은 아니지만 유용한 가정으로 사용됨.
- 완전한 육보격 행에서 닥틸 수를 D, 스폰디 수를 S, 음절 수를 N이라 두면 D + S = 6임. 스폰디는 음절 2개, 닥틸은 음절 3개를 차지하므로 N = 2S + 3D이며, 이를 대입하면 D = N − 12가 됨. 따라서 닥틸 수는 음절 수보다 12 적고, 스폰디와 닥틸을 합한 발 수는 6임.
- 음절 수는 엘리전되지 않은 모음 수로 계산하며, 이중모음은 모음 하나로 셈함.
- 행의 끝에서 왼쪽으로 이동하며 각 발을 가능한 한 닥틸로 배치함. 닥틸 수 할당량을 채우기 전까지 닥틸 배치를 시도함.
- 닥틸 배치로 이미 위치에 따른 장음이거나 이중모음인 모음을 단음으로 만들어야 하면 해당 시도는 실패한 것으로 보고, 그 발을 스폰디로 처리한 뒤 다음 발로 진행함.
- 닥틸 수 할당량을 채우면 나머지 발은 모두 스폰디로 표시하고, 그에 따라 남은 모음도 모두 장음으로 처리함.
탐색 휴리스틱의 한계와 작동 방식
- 이 단순한 탐색 휴리스틱은 완벽하지 않지만 예상보다 잘 작동함.
- 둘째 끝 발이 거의 항상 닥틸이므로 해당 발부터 탐색을 시작하며, 주변에 이중모음과 본래 장음 모음이 대체로 충분해 문제의 가능한 경우가 강하게 제한된다는 점이 성공에 기여한다고 봄.
- 프로그램은 모음의 본래 장단을 알고 운율을 분석하는 방식과 달리, 완전한 닥틸 육보격이라는 가정에서 출발해 발이 닥틸인지 스폰디인지 추측하면서 각 모음의 본래 장단을 역으로 결정함.
이용 및 라이선스
- scansion.js 프로그램은 GNU GPL 3.0+ 라이선스로 제공되며, 사용·수정·공유가 허용됨.
- 나머지 저작물은 Creative Commons Attribution-ShareAlike 4.0 International 라이선스로 제공됨. 원작자 표시와 동일한 방식으로 수정본을 공유하는 조건에서 상업적 이용을 포함한 사용·수정·재배포가 허용됨.
- 저작권 표기 기간은 2015~2021이며, 원작자는 Dylan Holmes임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요