AMAZON.SearchQuery에서 빌드가 통과하지 못하는 경우 Tips

미안해.

이 기사는
「스메고 밥의 VUI・스마트 스피커 Advent Calendar 2018」
9일째 기사입니다.

모두가 SearchQuery를 사용하고 있습니까?

이것을 사용하면 사용자가 무언가를 말하고 다른 Intent로 분류 할 수없는 경우,
이 SearchQuery가 구현된 Intent에 할당됩니다.

즉, 자유로운 단어·발화를 SearchQuery에 대응시키고 싶다는 발상이 됩니다만, 빌드가 통과하지 않는 경우가 있습니다.
이번에는 그것을 무리하게 통하는 방법에 대해 설명합니다.

물론, 각자의 자기 책임으로.

일반? 구현 방법



SearchQuery는 이 '뭐든지 해당'이라는 힘에서 일반적으로 다른 단어와 함께 구현합니다.

예를 들면 다음과 같습니다.

●●●와 검색 쿼리라고 말할 때 ●● 부분에 사용합니다.



빌드를 통과하지 못하면



단, 위와 같은 '●●와 검색어'와 같이 하고 싶지 않고 SearchQuery에서만 구현하고 싶다면 빌드가 통과하지 못할 수 있습니다.



오류 메시지는
Sample utterance "{searchQuerySlot} "in intent "SearchQueryIntent"must include a carrier phrase. Sample intent utterances with phrase types cannot consist of only slots. 오류 코드: MissingCarrierPhraseWithPhraseSlot

자유도가 너무 높아서 제어되고 있다고 생각합니다.
그러므로 보통 다른 구체적인 말을 하는 방법과 함께 사용해야 하는 것입니다.

그래도 빌드하고 싶다면



다른 문구는 전혀 없으며, 무엇이든 SearchQuery만 구현하고, 예상하지 않은 사용자의 발화는 모두 여기에 집계하고 싶은 경우도 존재합니다.

이 경우 아래와 같이 하면 빌드로 넘어갑니다.



자, 어떻게 했습니까?

대답은 반각 공간 + SearchQuery입니다.

이렇게 하면 다른 Intent나 Slot에 할당되지 않는 경우, 이렇게 작성한 SearchQuery에 무리하게 분류시킬 수 있습니다.

이용은 자기 책임입니다.



아마도 이것은 결함에 가까운 버그처럼 느껴집니다.
사양이라고 하면 사양이겠지만. . .

어쨌든, 유저인지 어떻게 말을 걸었는지를 통째로 취득하고 싶은 등의 경우는, 이러한 기술로 잘라내는 것이 일단 할 수 있습니다.

실제로는 다른 프레이즈를 조합해야 한다고 생각합니다만, 이러한 방법도 가능하다는 것을 기재해 보았습니다.

오늘은 이상입니다.

좋은 웹페이지 즐겨찾기