촘스키 계층(Chomsky hierarchy)은 언어의 형식적인 분류 체계로, 급수에 따라 다양한 문법과 언어를 구분하는 데 사용된다. 이 개념은 Noam Chomsky가 1956년에 제안하였으며, 계산 이론과 형식 언어 이론의 기초를 이루고 있다. 촘스키 계층은 총 네 가지 수준으로 구성되어 있으며, 각 수준은 그 언어의 생성 능력과 복잡성에 따라 정의된다.
첫 번째 레벨은 '정규 언어'로, 주로 유한 오토마타로 인식될 수 있는 언어를 포함한다. 이 언어들은 정규 표현식으로 기술될 수 있으며, 프로그래밍 언어의 기본적인 구성 요소와 같은 간단한 문법 구조를 가지고 있다. 정규 언어는 상대적으로 간단한 언어 규칙을 따르기 때문에 효과적으로 빈도 수와 같은 패턴을 분석하는 데 유용하다.
두 번째 레벨은 'Context-free language(문맥 자유 언어)'이다. 이 언어들은 푸시다운 오토마타를 통해 인식될 수 있으며, 문법적으로 보다 복잡한 구조를 포함한다. 프로그래밍 언어에서의 괄호 매칭, 구문 분석 등에 활용되며, 이러한 문법은 특히 컴퓨터 과학과 인공지능 분야에서 중요한 역할을 한다. 문맥 자유 문법은 서로 다른 문맥에 따라 규칙이 변화하지 않기 때문에, 구조적 방식으로 문자열을 생성할 수 있다.
세 번째 레벨은 '문맥 의존 언어(Context-sensitive language)'로, 선형 제한된 오토마타에 의해 인식된다. 이 언어들은 더욱 복잡한 문법 규칙을 가지고 있어, 언어의 성질이나 규칙이 문자 간의 관계에 의존하게 된다. 이러한 문법은 자연어 처리와 같은 고급 언어 처리 작업에서 사용될 수 있으며, 더 복잡한 구문을 해석하는 데 필요한 요건을 충족한다. 마지막으로 가장 높은 레벨은 '재귀적 열거 언어(Recursively enumerable language)'로, 튜링 기계에 의해 인식된다. 이 언어들은 가장 일반적인 언어로, 일관된 규칙 없이도 문자열을 생성할 수 있다. 이처럼 촘스키 계층은 언어의 가능성과 제약을 이해하는 데 중요한 이론적 틀을 제공한다.