정규식 입력 가이드

정규식은 다양하게 표현된 문장들을 압축적으로 표기할 수 있는 표기법을 말합니다.

다양한 종류의 정규식 표기법들이 존재하지만, 저희 빌더에서는 nlu_script라는 정규표현식을 사용합니다. 작성 방법은 다음과 같습니다.

문법 가이드

기본 표기법

1. special symbols

nlu_script에서 사용하는 special symbols는 다음과 같습니다.

( ) { } [ ] < > \ : + * ^ ~ = . | & - / `

만약 이러한 symbol을 정규식 안에 사용하고 싶다면 ""로 감싸서 사용해야 합니다.

2. 띄어쓰기

토큰 사이에 띄어쓰기가 없는 경우, 띄어쓰기가 포함된 토큰은 매칭되지 않습니다. 따라서 한국어 용례상 띄어쓰기가 올 수 있는 곳에 최대한 띄어쓰기를 넣는 것을 권장합니다.

안녕하세요
-> 안녕하세요 (O) / 안녕 하세요 (X)
안녕 하세요
-> 안녕하세요, 안녕 하세요 (O)

기초 표기법

1. [ ]

필수적으로 출현해야할 발화들을 표현할 때 사용합니다.

해당 표현은 중첩해서 사용 가능합니다.

주로 반드시 출현했으면 하는 품사 표현을 묶는 방식으로 활용 가능합니다.

[주문|배달|배송]해줘
-> 주문해줘, 배달해줘, 배송해줘

2. ( )

선택적으로 출현 가능한 발화들을 표현할 때 사용합니다.

해당 표현은 중첩해서 사용 가능합니다.

긴 질문에서 생략될 수도 있는 조사 또는 수식어를 묶어서 표현하는 방식으로 활용 가능합니다.

안녕(하세요|하신가|하냐)
-> 안녕, 안녕하세요, 안녕하신가, 안녕하냐

3. ::

토큰 간의 연결을 나타내기 위해 사용합니다.

해당 표현은 공백없이 입력해야합니다.

주로 어간::어미변형 연결을 위해 사용됩니다.

주[라|세요]
-> 주라, 주 라, 주세요, 주 세요
주::[라|세요]
-> 주라, 주세요

[아버지|어머니]가 방에 들어가신다
->아버지가 방에 들어가신다, 아버지 가방에 들어가신다
[아버지|어머니]::가 방에 들어가신다
->아버지가 방에 들어가신다

4. " "

정규식 안에 특수 문자를 입력하기 위해 사용합니다.

잘지내(니|냐)"?"
-> 잘지내?, 잘지내니?, 잘지내냐?

5. |

OR 논리 기호를 의미합니다.

해당 표현은 보통 대괄호 [] 또는 괄호()와 함께 사용해야합니다.

[칼로리|열량]알려줘
-> 칼로리 알려줘, 열량 알려줘

6. ~[ ]~

~[]~ 안에 입력된 토큰들을 조합하기 위해 사용합니다.

입력된 토큰들은 ,로 구분합니다. 단, 후보 패턴이 지나치게 많이 생길 수 있기 때문에 (순열; permutation) ~[]~ 내부에 토큰 수를 5개 이하로 제한합니다.

~[계정, 생성]~방법
-> 계정 생성 방법, 생성 계정 방법

7. [ ]^

[] 안에 입력된 토큰들을 반복하여 조합하기 위해 사용합니다.

  • [ ]^(a,b) : [] 안에 입력된 토큰이 a이상 b 이하의 횟수로 반복됩니다.
  • [ ]^<a : []안에 입력된 토큰이 a미만 횟수로 반복됩니다.
  • [ ]^>a : []안에 입력된 토큰이 a초과 횟수로 반복됩니다.
[빨리]^(1,3)
-> 빨리, 빨리빨리, 빨리빨리빨리 (O) / 빨리빨리빨리빨리 (X)
[빨리]^<3
-> 빨리, 빨리빨리 (O) / 빨리빨리빨리, 빨리빨리빨리빨리 (X)
[빨리]^>2
-> 빨리빨리빨리, 빨리빨리빨리빨리 (O) / 빨리, 빨리빨리 (X)

8. <?>

임의의 단어를 매칭시킬 때 사용합니다. 다만 사이드 이펙트가 발생할 수 있으니, 반드시 필요한 경우에만 사용하시길 권장합니다.

  • <?> : 임의의 1글자 단어를 매칭시킵니다.
  • <?>*? : 임의의 단어를 매칭시킵니다. 임의의 단어가 없는 경우에도 매칭됩니다. 글자수의 제한은 없습니다.
  • <?>+? : 임의의 단어를 매칭시킵니다. 임의의 단어가 없는 경우에는 매칭되지 않습니다. 글자수의 제한은 없습니다.
[안녕]<?>
-> 안녕? (O) / 안녕 철수야 (X)
[안녕]<?>*?
-> 안녕, 안녕 철수야 (O)
[안녕]<?>+?
-> 안녕 철수야 (O) / 안녕 (X)
[안녕]<하세요>*?
-> 안녕하세요, 안녕하세요 철수님 (O) / 안녕 철수님 (X)

9. \

매칭되면 안되는 발화 내에 예외 토큰을 지정할 때 사용합니다. wildcard 앞 뒤에 예외토큰을 입력하여 사용자의 다양한 발화에 대한 제한을 두는 것이 가능합니다.

[\김철수] <?>^<5 [슬픈|좋은|즐거운] 노래 틀어줘
-> 좋은 노래 틀어줘 (O) / 김철수 좋은 노래 틀어줘 (X)

10. @{ } , `@{ }

빌더 내부에 등록된 도메인 엔티티와 시스템 엔티티를 입력할 때 사용합니다.

[등록된 도메인 엔티티]
@{메뉴} : 치킨, 피자

@{메뉴}[주문|배달]
-> 치킨 주문, 치킨 배달, 피자 주문, 피자 배달

[등록된 시스템 엔티티]
`@{TELNUM}

`@{TELNUM}[조회|확인]해줘
-> 010-0000-0000 조회해줘, 010-1234-5678 조회해줘...

연관 정보 바로가기

도메인 생성, 대화 목록과 컴포넌트 관리 및 통계 관리와 관련하여 아래 사용 가이드를 참고하실 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...