ENQ의 마지막인 웹 사이트에 추가하는 부분입니다. ^_^

 

 

English Query 사이트에 추가

쉬운 방법

마이크로소프트 English Query 디렉토리 밑에 있는  SAMPLES/ASP2 하위 디렉토리를 대상으로 예제를 들기로 한다.

마이크로소프트 IIS(Internet Information Server) 4.0하에서 인스톨링 한다면, SETUPASP.VBS 클릭하여 사용자들이 English Query 도메인에 질의할 있는 페이지를 배치하도록 한다.

이로써 WSH(Windows Scripting Host) 작동하게 된다.

WSH ASP 파일들과 만들어 놓은 .EOD 파일들을 서버상의 디렉토리에 복사하고, English Query 페이지에 대한 IIS 가상 디렉토리를 만들며, ASP 스크립트에게 데이터베이스의 위치를 알리기 위해 PARAMS.INC 파일에서 옵션을 설정한다.

IIS 3.0이라면 방금 열거한 과정들을 수작업으로 수행해야 한다. (README.HTM 파일에 기술되어 있다.)

이제 브라우저에서 테스트해 볼 차례이다.

예를 들어 http://localhost/pubs  에 접근할 수 있다.

그 다음에는 다른 ASP 응용 프로그램을 포함해서 이 사이트의 다른 웹 페이지로부터 이 페이지로 링크를 설정할 수 있다.

 

 

 쉽지요... ^_^

간단히 설계가 되었습니다....

 

 

자신의ASP 응용 프로그램 만들기

나아가서 English Query 다른 ASP 응용 프로그램과 결합시키는 방식을 보여주는 샘플 응용 프로그램을 사용할 있다.

예를 들어, 검색 페이지에서 이용 가능한 English Query 텍스트 상자를 집어 넣거나 지금의 답변 방식을 보충할 것을 선택할 있다.

샘플 응용 프로그램에 대한 짤막한 설명으로도 이러한 작업을 쉽게 하는데 도움을 것이다.

다음 코드(ASP 샘플 코드의 간략화된 버전) 사용자가 요구한 질문을 SQL문으로 바꾸는 기법의 핵심을 보여 준다.

사용자 질의를 처리하는 ASP 페이지에 이러한 방식으로 코드를 중첩시켜 넣을 있을 것이다.

 

‘ English Query 객체를 생성한다.
Set objEQSession = Server.CreateObject("Mseq.Session")

도메인을 적재한다. )“C:\PUBS\PUBS.EQD”
objEQSession.InitDomain(Application("DomainFile"))

사용자의 질문(strQuest) English Query 반응 객체로 바꾼다.
Set objEQResponse = objEQSession.ParseRequest(strQuest)
반응 객체의 종류를 결정한다.
Select Case objEQResponse.Type
Case nlCommandResponse
       Set objCommands = objEQResponse.Commands
       For intCommand = 0 To objCommands.Count - 1
              Set objCommand = objCommands(intCommand)
              Select Case objCommand.CmdID
              Case nlQueryCmd

                     리턴된 SQL 수행하고 사용자에게 보여 준다.
                     DoSQLCommand objCommand
              Case nlAnswerCmd


단지 답변을 보여 준다.
       Response.Write objCommand.Answer

              End Select

Next

Case nlUserClarifyResponse
       DoClarification objEQResponse, strQuestion
Case nlErrorResponse
       Response.Write objEQResponse.Description & "<BR>”
End Select

 

 

우선 Server.CreateObject(“Mseq.Session”) 사용하여 English Query 객체를 만든다.

도메인을 적재하기 위해서 InitDomain 메쏘드와 .EOD 파일의 이름을 호출한다.

그러면 사용자의 질문과 함께 ParseRequest() 메쏘드를 호출함으로써 반응 객체를 얻을 있을 것이다.

반응은 command 형의 반응일 있다. command 형은 SQL 명령어나 혹은 데이터베이스에 연결함이 없이 English Query 단독으로 답할 있는 명령어들로 이루어져 있다.

SQL 명령어는 SQL 서버 데이터베이스에 대해 수행되어야만 하며 페이지상의 결과는 보통 테이블로 제시된다.

ADO 사용하여 SQL 명령어를 수행하고 결과를 테이블로 제시하는 과정은 DoSQLCommand 함수(SAMPLES/ASP/COMMON.INC 파일에서 이용 가능하다) 내장되어 있다.

명령어가 답변이면 곧바로 사용자에게 보여진다.

반응은 또한 명확할 것에 대한 요구 있다. 예를 들어 질문이 워싱턴의 모든 혼다 시민은 무엇이냐?” 경우, 워싱턴이 시인지 주인지에 대해 명확히 것을 요구할 있다.

DoClarification (COMMON.INC 파일에서 이용 가능하다) 호출은 반응 객체상의 UserInputs 집합에서 가능한 값들을 사용자에게 제시함으로써 사용자가 질문을 명확히 하도록 필요한 코드들을 캡슐화 한다.

 

 

수고하셨습니다...

끝으로 요약과 별로 필요없는 (-_-;) 정보가 있는 곳이라고 하는데.. 정보가 아닌 듯 합니다.

 

 

요약

English Query SQL 서버 기반의 사이트나 응용 프로그램에 강력한 검색 능력을 제공한다. ASP 기반의 응용 프로그램에서 사용한다면 구현은 무척 쉽다. English Query 사이트에 덧붙임으로 해서 수많은 고객 보고서를 작성하거나 복잡한 검색 서식을 만들 필요가 사라진다.

정보가 있는

마이크로소프트 English Query 1.0 마이크로소프트 SQL 서버 6.5 엔터프라이즈판과 함께 선적되었다. 또한, SQL 서버 7.0에도 선적되었다. SQL 서버 7.0 구매하고자 하면 http://www.microsoft.com/korea/sql 참고하면 된다.

 

 

 흠흠흠....

이로서 간략히 알아본 ENQ였습니다.. ^_^

도움이 되셨을지 모르겠군요... ^_^

자연어 처리를 받는다는 아주 멋진 메리트지만...

실제 구축자의 입장은 전혀 아닐 겁니다...

유저의 요청에 대해 미리 아주아주 많은 부분을 미리 생성해 두어야 하니까요....

지옥같은 닭질이지요...

아주아주 잘 구현된 파서만 있어서 한국어를 처리가 가능해 진다면..(문장 번역기지요.)

이런 자연어 처리 엔진도 쉽게 구현이 되실 겁니다.. ^_^

도움이 되시길 바라며.. 이만...

 


4. English Natural Language Query _ 4. 영문 자연어 질의 기술백서(3) 문서의 끝입니다.

 





profile

부족하지만, SQLER의 누군가와 함께한 나눔을 통해 제가 더 많이 즐거웠습니다.
SQLER와 함께 즐거워 할수록, 그 나눔을 통해 더 많은 기회와 가치를 발견하게 되었습니다.
나눔의 생각이 앞으로도 계속, SQLER를 움직일 것입니다.

코난, 김대우 / SQLER 운영자 / 골라먹는 SQLER RSS 정보 구독 / 실시간 SQLER 소식 uxkorea 트위터