19장. 텍스트 및 언어
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
"잭 핵을 보세요. 핵, 핵, 핵"
어떤 형태로든 텍스트 기반 정보를 처리하는 것은 애플리케이션이 수행해야 하는 가장 일반적인 작업 중 하나입니다. 여기에는 열별로 텍스트 파일을 스캔하는 것부터 형식 문법에 정의된 언어로 된 문장을 분석하는 것까지 모든 것이 포함될 수 있습니다. 이러한 처리를 일반적으로 텍스트 문자열의 구조를 분석하는 구문 분석이라고 합니다. 이 장에서는 언어 및 텍스트 기반 정보를 처리하는 방법을 살펴보고, 그 과정에서 사이드바에 몇 가지 Python 개발 개념을 요약해 보겠습니다. 이 과정에서 문자열 메서드, 텍스트 패턴 일치, XML 및 HTML 파서, 기타 도구를 만나게 될 것입니다.
이 내용 중 일부는 고급 내용이지만, 이 장의 분량을 줄이기 위해 예제를 간략하게 소개합니다. 예를 들어, 재귀적 하강 구문 분석은 간단한 예제를 통해 Python에서 어떻게 구현할 수 있는지 보여줍니다. 또한 Python에서 각 언어 처리 작업에 대해 사용자 정의 구문 분석기를 작성할 필요가 없는 경우가 많다는 것을 알게 될 것입니다. 이러한 파서는 일반적으로 Python 프로그램에서 사용할 수 있도록 API를 내보내는 것으로 대체할 수 있으며, 때로는 하나의 내장 함수 호출로 대체할 수도 있습니다. 마지막으로, 이 장은 Python으로 작성된 계산기 GUI인 PyCalc와 이 텍스트의 마지막 주요 Python 코딩 예제를 소개하는 것으로 마무리합니다. 앞으로 살펴보겠지만, 계산기를 작성하는 것은 텍스트를 스캔하면서 스택을 저글링하는 것보다 훨씬 어렵지 않습니다.
Python에서 텍스트를 처리하는 전략
큰 틀( )에서 보면 Python에서 텍스트 처리와 언어 분석을 처리하는 다양한 방법이 있습니다:
- 표현식
기본 제공 문자열 개체 표현식
- 방법
기본 제공 문자열 객체 메서드 호출
- 패턴
정규식 패턴 일치
- 파서: 마크업
XML 및 HTML 텍스트 구문 분석
- 구문 분석기: 문법
핸드코딩 및 생성된 사용자 지정 언어 구문 분석기
- 임베딩
eval및exec내장된 Python 코드 실행하기- 그리고 더
자연어 처리
간단한 작업의 경우 Python에 내장된 문자열 객체만 있으면 되는 경우가 많습니다. Python 문자열은 문자열 메서드 호출과 내장 함수를 모두 사용하여 색인, 연결, 조각화 및 처리할 수 있습니다. 이 장에서는 주로 텍스트 정보 및 언어 분석을 위한 상위 수준의 도구와 기법에 중점을 두지만, 각 기법을 차례로 간략하게 살펴보겠습니다. 시작해 보겠습니다.