
의미 구문 분석(Semantic parsing)은 자연어 문장(natural language utterances)을 기계가 해석할 수 있는 의미 표현(즉, 프로그램)으로 매핑하는 것을 목표로 한다. 이 프로그램은 실제 세계 환경에서 실행되었을 때 올바른 결과(의미 부여, denotation)를 도출한다. 약한 지도(semi-supervised) 의미 구문 분석기는 프로그램을 은닉(latent) 변수로 간주하면서 문장-의미 부여 쌍을 기반으로 학습한다. 이 작업은 프로그램의 탐색 공간이 크고, 잘못된 프로그램(일부 경우 정답을 도출하지만 새로운 예시에 일반화되지 않는 프로그램)이 존재하기 때문에 어려움을 겪는다. 본 연구의 목적은 분석기 내에 유도적 편향(inductive bias)을 도입하여 잘못된 프로그램과 올바른 프로그램을 구분할 수 있도록 하는 것이다. 우리는 올바른 프로그램은 질문과 정렬(align)될 때 특정 구조적 제약을 만족할 가능성이 높다는 직관을 활용한다(예: 프로그램 조각은 중복되는 텍스트 구간에 정렬될 가능성은 낮다). 이를 바탕으로 정렬을 구조적 은닉 변수(structured latent variables)로 모델링하는 방법을 제안한다. 은닉-정렬 프레임워크의 계산 가능성을 확보하기 위해, 분석 작업을 (1) 부분적인 '추상 프로그램(abstract program)' 예측과 (2) 미분 동적 프로그래밍(differential dynamic programming)을 활용한 구조적 정렬을 모델링하면서 해당 프로그램을 보정하는 두 단계로 분해한다. 제안한 방법은 WIKITABLEQUESTIONS 및 WIKISQL 데이터셋에서 최신 기준(SOTA) 성능을 달성하였다. 표준 어텐션 기반 기준 모델과 비교했을 때, 제안한 구조적 정렬 메커니즘이 매우 유익함을 관찰할 수 있었다.