메인 콘텐츠로 건너뛰기

사용자 단어 등록 API

사용자 단어 등록 API를 사용하여 등록된 단어를 임의의 프로파일에 저장할 수 있습니다. 예를 들어, 애플리케이션에서는 최종 사용자별로 프로파일을 전환하여 사용자별 단어 등록 기능을 구현할 수 있습니다.

클라이언트 애플리케이션의 역할

일반적으로 클라이언트 애플리케이션은 다음과 같이 구현할 것으로 상정하고 있습니다.

  1. 최종 사용자별로 표기, 읽기, 클래스의 세트를 데이터베이스 등에 저장합니다.
  2. 데이터가 업데이트된 경우, 사용자 단어 등록 API를 사용하여 프로파일을 업데이트합니다.
  3. 음성 인식 요청을 할 때 프로파일 ID를 지정합니다.
노트

가능한 한 프로파일을 마스터 데이터로 사용하지 말고 클라이언트 애플리케이션에서 사용자 단어 정보를 유지하고 백업을 해주십시오.

사용 방법

API의 자세한 내용은 레퍼런스를 참조하십시오. 이후에는 사용 사례별 사용 예를 보여줍니다.

인증

사용자 단어 등록 API는 인증 정보로 APPKEY를 지정합니다. HTTP 요청 시 Authorization 헤더에 Bearer {APPKEY}를 지정하십시오.

단어 등록

엔드포인트는 다음과 같습니다.

POST https://acp-api.amivoice.com/profilewords/{연결 엔진 이름}/{프로파일 ID}

경로 파라미터의 {연결 엔진 이름}에는 -a-general과 같은 음성 인식 엔진을 설정합니다. 또한 생성하려는 프로파일의 이름을 마찬가지로 경로 파라미터의 {프로파일 ID}에 지정하십시오. 프로파일 ID에 사용할 수 있는 문자는 "사용할 수 있는 문자"를 참조하십시오.

단어 등록 데이터는 다음과 같은 JSON 형식으로 지정합니다.

{
"profilewords": [
{
"written": "표기",
"spoken": "읽기"
},
{
"written": "표기",
"spoken": "읽기",
"classname": "클래스"
}
, ...
]
}
정보

문자 인코딩은 다음 중 하나의 방법으로 작성하십시오

  • UTF-8로 직접 기술(예: "あ")
  • 유니코드 이스케이프 시퀀스(예: \u3042)

curl 명령을 사용한 예를 아래에 보여줍니다. 会話_汎用(대화 범용) 엔진(-a-general)에 test라는 프로파일 ID로 AmiVoice あみぼいすAOI あおい를 등록하는 예입니다.

curl -sS https://acp-api.amivoice.com/profilewords/-a-general/test \
-H "Authorization: Bearer {APPKEY}" \
-H "Content-Type: application/json" \
-d '{"profilewords":[{"written":"AmiVoice","spoken":"あみぼいす"},{"written":"AOI","spoken":"あおい"}]}'

응답은 다음과 같이 URL 인코딩된 JSON 형식입니다.

{"profilewords":[{"written":"AOI","spoken":"\u3042\u304a\u3044"},{"written":"AmiVoice","spoken":"\u3042\u307f\u307c\u3044\u3059"}]}

jq 명령이나 각 프로그래밍 언어의 JSON 파서를 사용하여 결과를 정리하면 다음과 같습니다.

{
"profilewords": [
{
"written": "AOI",
"spoken": "あおい"
},
{
"written": "AmiVoice",
"spoken": "あみぼいす"
}
]
}
정보

단어를 추가할 수 없습니다. 추가할 때는 모든 단어를 설정하십시오.

등록된 단어 가져오기

엔드포인트는 다음과 같으며, 경로 파라미터는 단어 등록과 동일합니다.

GET https://acp-api.amivoice.com/profilewords/{연결 엔진 이름}/{프로파일 ID}

curl 명령을 사용하여 会話_汎用(대화 범용) 엔진(-a-general)에 test라는 프로파일 ID로 설정된 단어 목록을 가져오는 예입니다.

curl -sS https://acp-api.amivoice.com/profilewords/-a-general/test \
-H "Authorization: Bearer {APPKEY}"

응답의 유니코드 이스케이프된 문자열을 디코딩하여 정리하면 다음과 같습니다.

{
"profilewords": [
{
"written": "AOI",
"spoken": "あおい"
},
{
"written": "AmiVoice",
"spoken": "あみぼいす"
}
]
}

클래스 목록 가져오기

엔드포인트는 다음과 같으며, 경로 파라미터는 단어 등록과 동일합니다.

GET https://acp-api.amivoice.com/classnames/{연결 엔진 이름}

curl 명령을 사용하여 지정된 会話_汎用(대화 범용) 엔진(-a-general)의 클래스 목록은 다음과 같이 가져올 수 있습니다.

curl -sS https://acp-api.amivoice.com/classnames/-a-general \
-H "Authorization: Bearer {APPKEY}"

응답

{"classnames":["\u56fa\u6709\u540d\u8a5e","\u540d\u524d","\u540d\u524d(\u540d)","\u99c5\u540d","\u5730\u540d","\u4f1a\u793e\u540d","\u90e8\u7f72\u540d","\u5f79\u8077\u540d","\u8a18\u53f7","\u62ec\u5f27\u958b\u304d","\u62ec\u5f27\u9589\u3058","\u5143\u53f7"]}

응답의 유니코드 이스케이프된 문자열을 디코딩하여 정리하면 다음과 같습니다.

{
"classnames": [
"固有名詞",
"名前",
"名前(名)",
"駅名",
"地名",
"会社名",
"部署名",
"役職名",
"記号",
"括弧開き",
"括弧閉じ",
"元号"
]
}

프로파일에서 단어 삭제

모든 단어를 삭제하려면 빈 배열을 등록합니다.

curl -sS https://acp-api.amivoice.com/profilewords/-a-general/test \
-H "Authorization: Bearer {APPKEY}" \
-H "Content-Type: application/json" \
-d '{"profilewords": []}'

응답은 다음과 같이 URL 인코딩된 JSON 형식입니다.

{
"profilewords": []
}