대상
이 튜토리얼을 사용하여 Cloud Natural Language API를 신속하게 살펴보고 활용하여 애플리케이션 개발을 시작할 수 있습니다. 가이드는 기본적인 프로그래밍에 익숙한 독자를 대상으로 제작되었지만 프로그래밍 관련 지식이 많지 않더라도 진행에는 무리가 없습니다. 이 튜토리얼을 마치면 참고 문서를 사용하여 기본적인 애플리케이션을 만들 수 있습니다.
이 튜토리얼에서는 Python 코드를 사용하여 Natural Language 애플리케이션을 단계별로 안내합니다. 이 튜토리얼의 목적은 Python 클라이언트 라이브러리를 설명하는 것이 아니라 Natural Language API를 호출하는 방법을 설명하는 것입니다. 자바 및 Node.js로 작성된 애플리케이션도 원리적으로 비슷합니다. 다른 언어의 샘플에 대해서는 Natural Language API 샘플(이 가이드에 있는 샘플 포함)을 참조하세요.
기본 요건
이 튜토리얼에는 몇 가지 기본 요건이 있습니다.
- Google Cloud 콘솔에서 Cloud Natural Language 프로젝트를 설정한 상태여야 합니다.
- Google Cloud 콘솔에서 애플리케이션 기본 사용자 인증 정보를 사용하여 환경을 설정한 상태여야 합니다.
- Google Cloud 콘솔 프로그래밍의 Python에 익숙해야 합니다.
- Python 개발 환경을 설정한 상태여야 합니다. 최신 버전의 Python,
pip,virtualenv가 시스템에 설치되어 있는 것이 좋습니다. 자세한 내용은 Google Cloud Platform용 Python 개발 환경 설정 가이드를 참조하세요. - Google Cloud Client Library for Python을 설치한 상태여야 합니다.
개요
이 튜토리얼은 다음과 같이 신뢰도 점수와 함께 콘텐츠를 카테고리로 분류하는 classifyText 요청을 사용하여 기본 Natural Language 애플리케이션을 단계별로 설명합니다.
category: "/Internet & Telecom/Mobile & Wireless/Mobile Apps & Add-Ons"
confidence: 0.6499999761581421
사용할 수 있는 모든 카테고리 라벨의 목록을 보려면 카테고리를 참조하세요.
이 튜토리얼에서는 다음 작업을 수행하기 위한 애플리케이션을 만듭니다.
- 여러 텍스트 파일을 분류하고 결과를 색인 파일에 씁니다.
- 입력 쿼리를 처리하여 유사한 텍스트 파일을 찾습니다.
- 입력 쿼리 카테고리 라벨을 처리하여 유사한 텍스트 파일을 찾습니다.
이 튜토리얼에서는 Wikipedia의 콘텐츠를 사용합니다. 뉴스 기사, 온라인 댓글 등을 처리하기 위한 유사한 애플리케이션을 만들 수도 있습니다.
소스 파일
GitHub의 Python 클라이언트 라이브러리 샘플에서 튜토리얼 소스 코드를 찾을 수 있습니다.
이 튜토리얼에서는 Wikipedia의 샘플 소스 텍스트를 사용합니다. GitHub 프로젝트의 resources/texts 폴더에서 샘플 텍스트 파일을 찾을 수 있습니다.
라이브러리 가져오기
Cloud Natural Language API를 사용하려면 google-cloud-language 라이브러리에서 language 모듈을 가져와야 합니다. language.types 모듈은 요청을 생성하는 데 필요한 클래스를 포함하고 있습니다. language.enums 모듈은 입력 텍스트 유형을 지정하는 데 사용됩니다. 이 튜토리얼에서는 일반 텍스트 콘텐츠(language.enums.Document.Type.PLAIN_TEXT)를 분류합니다.
최종 콘텐츠 분류를 기준으로 텍스트 간 유사성을 계산하기 위해 이 튜토리얼에서는 벡터 계산에 numpy를 사용합니다.
Python
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Python API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
1단계: 콘텐츠 분류
Python 클라이언트 라이브러리를 사용하여 Natural Language API에 콘텐츠 분류를 요청할 수 있습니다. Python 클라이언트 라이브러리는 Natural Language API에 보낸 요청과 받은 응답의 세부 사항을 캡슐화합니다.
이 튜토리얼의 classify 함수는 먼저 LanguageServiceClient 클래스의 인스턴스를 생성한 후에 LanguageServiceClient 인스턴스의 classify_text 메서드를 호출함으로써 Natural Language API classifyText 메서드를 호출합니다.
가이드 classify 함수는 이 예시의 텍스트 콘텐츠만 분류합니다. 또한 웹페이지의 소스 HTML을 text로 전달하고 type 매개변수를 language.enums.Document.Type.HTML로 설정하여 웹페이지의 콘텐츠를 분류할 수 있습니다.
자세한 내용은 콘텐츠 분류를 참조하세요. Natural Language API 요청 구조에 대한 자세한 내용은 Natural Language 참조를 참조하세요.
Python
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Python API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
반환된 결과는 다음과 같이 카테고리 라벨이 키로 설정되고 신뢰도 점수가 값으로 설정된 사전입니다.
{
"/Computers & Electronics": 0.800000011920929,
"/Internet & Telecom/Mobile & Wireless/Mobile Apps & Add-Ons": 0.6499999761581421
}
튜토리얼의 Python 스크립트는 빠른 실험을 위해 명령줄에서 실행할 수 있도록 구성되었습니다. 예를 들어 다음을 실행할 수 있습니다.
python classify_text_tutorial.py classify "Google Home enables users to speak voice commands to interact with services through the Home's intelligent personal assistant called Google Assistant. A large number of services, both in-house and third-party, are integrated, allowing users to listen to music, look at videos or photos, or receive news updates entirely by voice. "
2단계: 여러 텍스트 파일의 색인 생성
튜토리얼 스크립트의 index 함수는 여러 텍스트 파일을 포함하는 디렉터리 및 색인 생성된 출력을 저장하는 파일(기본 파일 이름은 index.json)의 경로를 입력값으로 사용합니다. index 함수는 입력 디렉터리에서 각 텍스트 파일의 콘텐츠를 읽은 후에 텍스트 파일을 Cloud Natural Language API에 전달하여 콘텐츠 카테고리로 분류되도록 합니다.
Python
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Python API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.