2017-05-24 5 views
0

그래서 저는 Microsoft Bot Framework로 빌드 된 봇을 얻었고 텍스트 인식을 위해 LUIS API를 사용하고 있습니다. 이 봇을 사용하면 백엔드에있는 다양한 장치에 대한 정보를 물어볼 수 있습니다. 그들은 Desk, Desk 2, Phone Booth 4와 같은 이름을 가지고 있습니다. 첫 번째와 두 번째 이름은 정상적으로 작동하지만 2 칸 이상을 포함하는 이름을 보낼 때마다 LUIS는 인식하지 못합니다. LUIS의 기능 목록에 모든 이름을 추가했지만 아무 것도하지 않는 것 같습니다. 내가 봇 코드에서 그 의도를위한 메소드를 실행할 때 엔티티는 이런 종류의 이름을 보낼 때마다 null이다. 어떻게 내가이 문제를 해결할 수 있을지 생각해? 필자가 설명한 것처럼 Desk 2와 같이 하나의 공간을 가진 이름은 잘 작동합니다. 어쩌면 여러 단어를 LUIS 내부 엔티티로 저장하는 방법이 있을까요?LUIS는 공백이있는 이름을 인식하지 못합니다.

아래 이미지에서 맨 위 항목은 "show me phone booth 4"이고 하단은 "show me desk 2"입니다.

enter image description here

답변

1

그것은 작은 다리 작업을 것입니다,하지만 당신은 프로그래밍 모델을 업데이트 시도?

LUIS API 참조에서 individual utterances으로 레이블을 지정하거나 batches에서 지정할 수 있습니다. 이런 식으로하는 것의 이점은 인덱스 위치를 기반으로 엔티티로 인식되어야하는 것을 선택할 수 있다는 것입니다.

예 :

{ 
    "text": "Book me a flight from Cairo to Redmond next Thursday", 
    "intentName": "BookFlight", 
    "entityLabels": 
    [ 
     { 
      "entityName": "Location::From", 
      "startCharIndex": 22, 
      "endCharIndex": 26 
     }, 
     { 
      "entityName": "Location::To", 
      "startCharIndex": 31, 
      "endCharIndex": 37 
     } 
    ] 
} 

내가 전에이 일을 시도하지 않은,하지만이 방법은 논리적으로 실패하는 방법을 표시/훈련 보지 않는다 인정한다.


내가 귀하의 엔티티에 대해 언급하는 한 가지는 항목과 숫자로 구성된다는 것입니다. 그것들을 복합 엔티티에 던질 수 있습니다. 그러나이 경우 위에서 언급 한 방식으로 당신이 찾고있는 것을 할 수있는 좋은 방법입니다.

별도의 목적을 위해 단체로 사무실 가구 조각 (?)를 사용할 계획이라면, 말했다 말하자면, 'PurchaseNewOfficePieces', 그것은 'Desk 2''Phone Booth 4'에 대한 사용을 복합 개체를 만드는 비용을 지불 할 수도 있습니다.