다음을 통해 공유


빠른 시작: Bing Spell Check REST API 및 Python으로 맞춤법 검사

경고

2020년 10월 30일에 Bing Search API가 Azure AI 서비스에서 Bing Search Services로 이동되었습니다. 이 문서는 참조용으로만 제공됩니다. 업데이트된 문서는 Bing search API 문서를 참조하세요. Bing 검색을 위한 새 Azure 리소스 만들기에 대한 지침은 Azure Marketplace를 통해 Bing Search 리소스 만들기를 참조하세요.

이 빠른 시작을 사용하여 Bing Spell Check REST API에 대한 첫 번째 호출을 수행할 수 있습니다. 이 간단한 Python 애플리케이션은 API에 요청을 보내고 제안된 수정 사항을 반환합니다.

이 애플리케이션은 Python으로 작성되었지만, API는 대부분의 프로그래밍 언어와 호환되는 RESTful 웹 서비스입니다. 이 애플리케이션의 소스 코드는 GitHub에 제공됩니다.

사전 요구 사항

Azure 리소스 만들기

다음 Azure 리소스 중 하나를 만들어 Bing Spell Check API 사용을 시작합니다.

Bing Spell Check 리소스

  • 리소스를 삭제할 때까지 Azure Portal을 통해 사용할 수 있습니다.
  • 평가판 가격 책정 계층을 사용하여 서비스를 사용해보고, 나중에 프로덕션용 유료 계층으로 업그레이드합니다.
  • Bing Spell Check API는 Bing Search v7 리소스의 일부 계층에서도 제공됩니다.

다중 서비스 리소스

  • 리소스를 삭제할 때까지 Azure Portal을 통해 사용할 수 있습니다.
  • 여러 Azure AI 서비스에서 애플리케이션에 동일한 키와 엔드포인트를 사용합니다.

애플리케이션 초기화

  1. 선호하는 IDE 또는 편집기에서 새 Python 파일을 만들고 다음 import 문을 추가합니다.

    import requests
    import json
    
  2. 맞춤법 검사를 원하는 텍스트, 구독 키 및 Bing Spell Check 엔드포인트에 대한 변수를 만듭니다. 다음 코드에서 글로벌 엔드포인트를 사용하거나 리소스의 Azure Portal에 표시되는 사용자 지정 하위 도메인 엔드포인트를 사용할 수 있습니다.

    api_key = "<ENTER-KEY-HERE>"
    example_text = "Hollo, wrld" # the text to be spell-checked
    endpoint = "https://api.cognitive.microsoft.com/bing/v7.0/SpellCheck"
    

요청에 대한 매개 변수 만들기

  1. text를 키로 사용하고 사용자의 텍스트를 값으로 사용하여 새 사전을 만듭니다.

    data = {'text': example_text}
    
  2. 요청에 대한 매개 변수를 추가합니다.

    1. = 연산자를 사용하여 mkt 매개 변수에 시장 코드를 할당합니다. 시장 코드는 요청을 수행한 국가/지역의 코드입니다.

    2. & 연산자를 사용하여 mode 매개 변수를 추가한 다음, 맞춤법 검사 모드를 할당합니다. 모드는 proof(대부분의 맞춤법/문법 오류 catch) 또는 spell(대부분의 맞춤법은 catch하지만 문법 오류는 많지 않음) 중 하나일 수 있습니다.

    params = {
        'mkt':'en-us',
        'mode':'proof'
        }
    
  3. Content-Type 헤더를 추가하고 Ocp-Apim-Subscription-Key 헤더에 구독 키를 추가합니다.

    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Ocp-Apim-Subscription-Key': api_key,
        }
    

요청 보내기 및 응답 읽기

  1. 요청 라이브러리를 사용하여 POST 요청을 보냅니다.

    response = requests.post(endpoint, headers=headers, params=params, data=data)
    
  2. JSON 응답을 가져와서 출력합니다.

    json_response = response.json()
    print(json.dumps(json_response, indent=4))
    

애플리케이션 실행

명령줄을 사용하는 경우 다음 명령을 사용하여 애플리케이션을 실행합니다.

python <FILE_NAME>.py

예제 JSON 응답

성공한 응답은 다음 예제와 같이 JSON으로 반환됩니다.

{
   "_type": "SpellCheck",
   "flaggedTokens": [
      {
         "offset": 0,
         "token": "Hollo",
         "type": "UnknownToken",
         "suggestions": [
            {
               "suggestion": "Hello",
               "score": 0.9115257530801
            },
            {
               "suggestion": "Hollow",
               "score": 0.858039839213461
            },
            {
               "suggestion": "Hallo",
               "score": 0.597385084464481
            }
         ]
      },
      {
         "offset": 7,
         "token": "wrld",
         "type": "UnknownToken",
         "suggestions": [
            {
               "suggestion": "world",
               "score": 0.9115257530801
            }
         ]
      }
   ]
}

다음 단계