아랍어 자연어 질의를 SPARQL로 변환하는 언어학적 분석 방법

아랍어 자연어 질의를 SPARQL로 변환하는 언어학적 분석 방법

초록

본 논문은 아랍어 자연어 질의를 의미론적 웹의 SPARQL 질의로 자동 변환하기 위한 도메인 독립적 접근법을 제시한다. 구문 트리에서 명사구(NP)를 추출하고, 이를 온톨로지와 매핑해 삼중항(triple) 구조를 형성한 뒤, 목표와 수식어를 해석해 최종 SPARQL을 생성한다. 부정, 논리합·논리곱 등 고급 의미 기능도 지원한다. 두 개의 OWL 기반 데이터셋을 이용한 실험에서 높은 정확도를 보이며 실현 가능성을 입증하였다.

상세 분석

이 연구는 아랍어 질의를 SPARQL로 변환하는 과정에서 언어학적 분석을 핵심으로 삼는다. 먼저, 아랍어 전용 구문 분석기(예: Stanford Arabic Parser)를 이용해 입력 문장의 구문 트리를 생성한다. 구문 트리에서 명사구(NP)를 식별하고, NP 내부의 핵심 명사와 수식어(형용사, 전치사구 등)를 분리한다. 추출된 NP는 온톨로지의 클래스·개체와 매핑되며, 매핑 과정에서 어휘적 동의어 사전과 레벤슈타인 거리 기반 문자열 유사도 측정이 활용된다. 매핑이 완료되면, NP 간의 관계를 파악하기 위해 트리 상의 동사구(VP)와 전치사구(PP)를 분석한다. 이때, 관계 어절이 온톨로지의 객체 속성(property)과 일치하는지를 검사한다. 일치하면 해당 NP‑NP 쌍을 <주어, 속성, 객체> 형태의 삼중항으로 변환한다.

삼중항 생성 후, 질의의 목표(target)와 수식어(modifier)를 추출한다. 목표는 일반적으로 “무엇을 찾는가”에 해당하는 질문 단어(예: ما, من)와 연결된 NP이며, 수식어는 부정(not), 논리합(or), 논리곱(and) 등 논리 연산자를 포함한다. 부정은 온톨로지의 NOT 연산으로, 논리합·논리곱은 UNION·FILTER 구문으로 각각 매핑된다. 또한, 시간·장소와 같은 부가 정보는 FILTER 절에 적절히 삽입된다. 최종적으로, 모든 삼중항과 수식어를 조합해 SPARQL SELECT 혹은 ASK 질의를 자동 생성한다.

평가에서는 두 개의 공개 OWL 데이터셋(하나는 의료 분야, 다른 하나는 문화유산 분야)을 사용해 150여 개의 아랍어 질의를 실험하였다. 정확도(Precision)와 재현율(Recall) 모두 85% 이상을 기록했으며, 특히 복합 논리 연산을 포함한 질의에서 기존 영어 기반 시스템 대비 우수한 성능을 보였다. 한계점으로는 구문 분석기의 오류 전파와 동형어·다의어 처리 미비가 있으며, 향후 딥러닝 기반 의미역 인식 도입이 제안된다.