Sangil's blog

https://github.com/ChoiSangIl Admin

윈도우용 VMWARE 무료버전 설치하기 DEV / SERVER

2019-05-14 posted by sang12


이번에 그램 17인치를 산 기념으로... 방치되어 있는 컴퓨터를 이용하여 개인 서버로 활용해 볼까합니다.

그 전에 서버에 관해서는 잘 모르기 때문에... 일단 Windows환경에서 VMWARE를 이용하여 리눅스를 설치해서 테스트를 해보려고 합니다.

Windows용 Workstation 15 Player는 비상업적인 용도나 가정용으로 사용하면 무료로 사용 할 수 있습니다.

VMWAR를 설치하기 위해선 공식 사이트 (https://www.vmware.com/kr.html)로 접속하면 됩니다.  그리고 다운로드를 클릭하고 무료제품 다운로드 TAB에서 Workstation Player를 눌러줍니다.

그리고 지금 다운로드를 클릭하고, 설치파일을 다운 받습니다.

다운로드 파일을 실행하면, 재시작을 해야된다고 뜰텐데요. 저는 재시작을 했습니다.

재시작을 하고 자동으로 설치 화면이 뜰지 알았는데.. 안떠서 실행파일을 다시 실행해 줬습니다.

요런식으로 Next를 눌러주다보면 설치가 끝납니다. 그리고 바탕화면에 생긴 VMware Workstation을 클릭해주면 라이센스 관련해서 뜰건데요. 저희는 무료버전을 사용 할거니까 아래와 같이 선택해줍니다. 

그럼 이렇게 VMware가 실행되는 것을 볼 수 있습니다. 다음 포스팅 때는 해당 VMware에 리눅스를 설치해 보겠습니다~^^

#VMware무료버전 #VMWARE 설치 #Vmware 설치하기 #Window용 VMWARE 설치 #VMware 라이센스

챗봇만들기#7 Watson Assistant Context 변수 활용하기 (최종) DEV / CHATBOT

2019-04-29 posted by sang12


챗봇만들기#1~#6 까지는, Intent, Dialog, Entity 그리고 Java연동까지.. Watson Assistant에서 중요하게 다뤄지는 것들을 간략하게 훑어보았는데요. 이번에는 마지막 시간입니다. Context 변수를 활용하여 조금더 Chatbot을 사람답게 만들어 보겠습니다. 또한 챗봇만들기#5에서는 간단하게 Watson Assistant에 연동만 했었는데요. 이번에는 Context 변수를 계속적으로 가져 갈 수 있게끔 약간 수정해 보겠습니다 ^^.

여봇의 기분이 항상 일정하면 재미가 없잖아요. 슬플수도 있고, 화날수도 있고... Random 함수를 사용해서 여봇의 변하는 기분을 표현해 보겠습니다

위와 같이 Context에 randomValue를 추가해줍니다. randomValue = "<? new Random().nextInt(2) + 1 ?>" 


그리고 오른쪽 테스트창에서 Manage Context를 눌러주면 $rendomValue에 값이 들어가는 것을 확인 할 수 있습니다. clear를 누를때마다 값이 바뀌는 것을 확인 할 수 있습니다.


그리고 여봇의 기분을 담당하는 노드를 Multiple Responses로 바꿔주고, 변수값에 따라 기분을 표시해 주도록 합니다. 자, 그럼 여봇이 계속해서 기분이 바뀌는 것을 볼 수 있겠네요~^^. 이 포스팅에서는 간단하게 Context Value에 대해서 알아 봤는데요. 실제로 이 변수를 잘 활용하면 더욱 더 챗봇다운 챗봇을 만들 수 있습니다. 가령 어떤 영화에 대한 질문을 했을때, 일반적으로 "해리포터 재미있어?, 주인공이 누군데?, 평점은 몇이야?" 등과 같이 처음엔 해리포터란 주어가 등장하지만 그 후부터는 주어가 생략 된체 대화를 이어나가는 경우가 많습니다. 이럴경우, Context변수에 해리포터라는 주어를 저장해두고 $변수 + Intent로 Dialog를 만들 경우, 자연스럽게 대화를 이어 나갈 수 있게 되죠. 

자.. 만약 저의 포스팅을 계속 보시면서 따라오시는 분들은... 뭔가 잘못된 것을 느끼 셨을 겁니다. 뭐가 잘못됐을까요? 챗봇만들기#5에서 Watson Assistant에서 간단하게 Java를 연동하는 것을 포스팅 했는데요. 이부분에서는 단순하게 api를 콜해서 입력값에 따른 Watson의 응답값을 받는 작업을 했습니다. 그런데 해당 방법으로 위와 같이 환영인사를 받고 기분을 물어본다면, 개발자님 무엇인가 잘 못된거같아요를 외치는 여봇을 볼 수 있을겁니다.

이유는 Context변수를 계속해서 가져가게끔 변경을 해야 되는데요. 간단하게 코드로 만들어 보겠습니다(변수명이나..그냥 대충..^^; 참고만..하세요 ㅎㅎ ). 왓슨과 연동하는 부분은 챗봇만들기#5를 참고해주세요 ^^

1. input="" output="환영인사"
2. input="기분어때?" output="여봇기분"

Java Code(연동하는 부분 제외, 코드 일부)

	InputData input = new InputData.Builder("").build();
	MessageOptions options = new MessageOptions.Builder(workspaceId)
	 .input(input)
         .build();
	MessageResponse response = service.message(options).execute();
	System.out.println("response:::" + response);
		
	InputData input2 = new InputData.Builder("기분어때?").build();
	Context context = response.getContext();
	MessageOptions options2 = new MessageOptions.Builder(workspaceId)
	 .context(context)
         .input(input2)
         .build();
	MessageResponse response2 = service.message(options2).execute();
	System.out.println("response:::" + response2);

위 소스코드를 보시면 처음엔 환영인사를 받기위해 input값을 ""으로 했고, 두번째는 기분을 물어보기위해 input값을 "기분어때?"라고 전송했습니다. 이때, 첫번째 응답값에서 받아온 Context를 추가로 날려주는걸 볼 수 있는데요. 이 Context에 저희가 설정했던 랜덤변수가 들어가 있고, 이를 두번째 보낼 때 추가해서 기분어때라는 대화를 보내야, Watson에서 해당 변수를 인식해서 응답 할 수 있게 됩니다. 결국 대화를 계속해서 이어나갈려면 저 Context변수를 계속 가져가게끔 해줘야 겠죠. 

그리고 Watson에서 말고 Java단에서 Context변수를 상황에 따라 추가하고 수정해줌으로 써, 좀더 멋진 챗봇을 만들어 볼 수도 있겠죠.

여기까지 Watson Assistant를 이용해서 간단하게 여자친구 챗봇을 만들어 봤습니다.  기본적인 것들을 설명하려고 노력했는데 도움이 되실지는 모르겠네요. 

꼭.... 챗봇말고 현실에서 여자친구를 만드시길......^^;;; 개발자분들 화이팅!


#Watson Assistant Context 변수 #챗봇만들기 #챗봇개발 #여자친구챗봇

챗봇만들기#6 Multiple Responses를 이용한 여러 응답 만들기 DEV / CHATBOT

2019-04-29 posted by sang12


거의 한달만에 포스팅 하네요..^^; 이전 시간에는 Java에서 Watson Assistant를 연동하는 방법을 알아 봤습니다. 이번 시간에는 Multiple responses를 이용해서 여러 응답을 만들어 보도록 하겠습니다. 

챗봇만들기#4 에서 만들었던 데이트_영화 인탠트를 조금 변형해서, 여봇이 좋아하는 영화일때만 데이트를 승낙하게끔 만들어 보겠습니다. 

위와 같이 대화 노드를 Multiple responses로 변경하고, @영화:반지의제왕 , @영화:헤리포터, @영화:다이하드 일때 원하는 대답을 할 수 있게 만들 수 있습니다. c언어나 java등을 배우셨다면 if문과 동일하다고 생각하시면 됩니다.  그리고 anything_else를 사용하면 저 위의 경우가 아닐때 원하는 대답을 세팅할수 있습니다. 


다음 시간에는 Context변수를 활용하여, 더욱 챗봇을 사람답게 만들어 보도록 하겠습니다~^^

#Watson Assistant Multiple Responses #챗봇만들기 #챗봇개발 #Watson Assistant #Chatbot만들기 #Chatbot개발