빠른 시작: Bing Spell Check REST API 및 Node.js로 맞춤법 검사
경고
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에 대한 첫 번째 호출을 수행할 수 있습니다. 이 간단한 JavaScript 애플리케이션은 API에 요청을 보내고 제안된 수정 사항을 반환합니다.
이 애플리케이션은 JavaScript로 작성되었지만, API는 대부분의 프로그래밍 언어와 호환되는 RESTful 웹 서비스입니다. 이 애플리케이션의 소스 코드는 GitHub에 제공됩니다.
사전 요구 사항
- Node.js 6 이상
Azure 리소스 만들기
다음 Azure 리소스 중 하나를 만들어 Bing Spell Check API 사용을 시작합니다.
- 리소스를 삭제할 때까지 Azure Portal을 통해 사용할 수 있습니다.
- 평가판 가격 책정 계층을 사용하여 서비스를 사용해보고, 나중에 프로덕션용 유료 계층으로 업그레이드합니다.
- Bing Spell Check API는 Bing Search v7 리소스의 일부 계층에서도 제공됩니다.
- 리소스를 삭제할 때까지 Azure Portal을 통해 사용할 수 있습니다.
- 여러 Azure AI 서비스에서 애플리케이션에 동일한 키와 엔드포인트를 사용합니다.
프로젝트 만들기 및 초기화
즐겨 찾는 IDE 또는 편집기에서 새 JavaScript 파일을 만듭니다. 엄격성을 설정하고
https
를 요구하도록 설정합니다. 그런 다음, API 엔드포인트의 호스트, 경로 및 구독 키에 대한 변수를 만듭니다. 다음 코드에서 글로벌 엔드포인트를 사용하거나 리소스의 Azure Portal에 표시되는 사용자 지정 하위 도메인 엔드포인트를 사용할 수 있습니다.'use strict'; let https = require ('https'); let host = 'api.cognitive.microsoft.com'; let path = '/bing/v7.0/spellcheck'; let key = '<ENTER-KEY-HERE>';
검색 매개 변수 및 확인할 텍스트에 대한 변수를 만듭니다.
=
연산자를 사용하여mkt
매개 변수에 시장 코드를 할당합니다. 시장 코드는 요청을 수행한 국가/지역의 코드입니다.&
연산자를 사용하여mode
매개 변수를 추가한 다음, 맞춤법 검사 모드를 할당합니다. 모드는proof
(대부분의 맞춤법/문법 오류 catch) 또는spell
(대부분의 맞춤법은 catch하지만 문법 오류는 많지 않음) 중 하나일 수 있습니다.
let mkt = "en-US"; let mode = "proof"; let text = "Hollo, wrld!"; let query_string = "?mkt=" + mkt + "&mode=" + mode;
요청 매개 변수 만들기
POST
메서드로 새 개체를 만들어서 요청 매개 변수를 만듭니다. 엔드포인트 경로와 쿼리 문자열을 추가하여 경로를 추가합니다. 그런 다음, Ocp-Apim-Subscription-Key
헤더에 구독 키를 추가합니다.
let request_params = {
method : 'POST',
hostname : host,
path : path + query_string,
headers : {
'Content-Type' : 'application/x-www-form-urlencoded',
'Content-Length' : text.length + 5,
'Ocp-Apim-Subscription-Key' : key,
}
};
응답 처리기 만들기
response_handler
라는 함수를 만들어 API에서 JSON 응답을 받아서 출력합니다. 응답 본문에 대한 변수를 만듭니다.
data
플래그가 수신되면 response.on()
을 사용하여 응답을 추가합니다.
end
플래그가 수신된 후 JSON 본문을 콘솔에 출력합니다.
let response_handler = function (response) {
let body = '';
response.on ('data', function (d) {
body += d;
});
response.on ('end', function () {
let body_ = JSON.parse (body);
console.log (body_);
});
response.on ('error', function (e) {
console.log ('Error: ' + e.message);
});
};
요청 보내기
요청 매개 변수 및 응답 핸들러와 함께 https.request()
를 사용하여 API를 호출합니다. API에 텍스트를 작성한 다음, 요청을 종료합니다.
let req = https.request (request_params, response_handler);
req.write ("text=" + text);
req.end ();
애플리케이션 실행
프로젝트를 빌드한 후 실행합니다.
명령줄을 사용하는 경우 다음 명령을 사용하여 애플리케이션을 빌드하고 실행합니다.
node <FILE_NAME>.js
예제 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
}
]
}
]
}