개체는 특정한 용어가 아니라 패턴과 일치해야 하는 개체가 있습니다. 예를 들면 국가 식별 번호, ID, 번호판 등입니다. 정규 표현식 개체를 사용하면 일치를 위한 정규 표현식을 제공할 수 있습니다.
복합 정규 표현식
각 정규 표현식 항목은 단일 패턴에 해당하지만 여러 정규 표현식이 단일 패턴의 모든 변형을 나타내는 경우 여러 정규 표현식을 제공할 수 있습니다.
에이전트 학습 중에는 단일 개체의 모든 정규 표현식이 대체 연산자(|
)와 결합되어 하나의 복합 정규 표현식을 형성합니다.
예를 들어 전화번호에 다음과 같은 정규 표현식을 제공하는 경우
^[2-9]\d{2}-\d{3}-\d{4}$
^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
복합 정규 표현식은 다음과 같습니다.
^[2-9]\d{2}-\d{3}-\d{4}$|^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
정규 표현식 순서는 중요합니다. 복합 정규 표현식의 각 정규 표현식은 순서대로 처리됩니다. 유효한 일치 항목이 발견되면 검색이 중지됩니다. 예를 들어 최종 사용자 표현이 'Seattle'인 경우에는 다음과 같이 일치합니다.
Sea|Seattle
은 'Sea'와 일치합니다.Seattle|Sea
는 'Seattle'과 일치합니다.
음성 인식을 위한 특수 처리
에이전트가 음성 인식(오디오 입력, 음성 텍스트 변환, STT)을 사용하는 경우 정규 표현식에 문자와 숫자를 일치시킬 때 특별한 처리가 필요합니다. 최종 사용자의 음성 발화는 개체가 일치되기 전에 먼저 음성 인식기에 의해 처리됩니다. 발화에 일련의 문자 또는 숫자가 포함된 경우 인식기에서 각 글자 사이를 공백으로 채울 수 있습니다. 또한 인식기는 숫자를 단어 형태로 해석할 수 있습니다. 예를 들어 '내 ID는 123입니다'라는 최종 사용자의 발화는 다음과 같이 인식될 수 있습니다.
- '내 ID는 123입니다'
- '내 ID는 1 2 3입니다.'
- '내 ID는 일 이 삼입니다.'
세 자리 숫자를 나타내려면 다음과 같은 정규 표현식을 사용할 수 있습니다.
\d{3}
\d \d \d
(zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine)
정규 표현식 항목 만들기
콘솔
- Dialogflow CX 콘솔을 엽니다.
- GCP 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 관리 탭을 선택합니다.
- 항목 유형을 클릭합니다.
- 만들기를 클릭합니다.
- 정규 표현식 항목을 선택합니다.
- 나머지 필드를 작성합니다.
- 저장을 클릭합니다.
API
EntityType.kind
필드를 KIND_REGEXP
로 설정합니다.
EntityType 참조의 프로토콜 및 버전 선택:
프로토콜 | V3 | V3beta1 |
---|---|---|
REST | EntityType 리소스 | EntityType 리소스 |
RPC | EntityType 인터페이스 | EntityType 인터페이스 |
C++ | EntityTypesClient | 해당 사항 없음 |
C# | EntityTypesClient | 해당 사항 없음 |
Go | EntityTypesClient | 해당 사항 없음 |
자바 | EntityTypesClient | EntityTypesClient |
Node.js | EntityTypesClient | EntityTypesClient |
PHP | 없음 | 해당 사항 없음 |
Python | EntityTypesClient | EntityTypesClient |
Ruby | 없음 | 해당 사항 없음 |
제한사항
다음과 같은 제한사항이 적용됩니다.
- 퍼지 일치는 정규 표현식 항목에 사용 설정할 수 없습니다. 이러한 기능은 상호 배타적입니다.
- 각 에이전트에는 최대 50개의 정규 표현식 개체가 있을 수 있습니다.
- 항목에 대한 복합 정규 표현식 최대 길이는 2000자입니다.