챗봇 만들기

    돈쓰는 효과가 가장 잘 나오는 프로젝트 중 하나.

     

    코드 자체는 굉장히 쉽다.

     

    파이썬 코드로서 굉장히 추상화 되어서 간단하게 구현이 가능하다.

     

    1. visualstudio 설치하기

    (팁)굉장히 좋은 팁이 있다.

    플러그인

     

    소프트웨어 설치 시 항상 긍정적으로 반응 해줘야 설치가된다. ㅋㅋ

     

    크게 두가지 방법이있음

    1. 제작도구(드래그 & 드랍 방식)

    편하지만 제한된 것이 많다.(모델이 복잡해지거나, 없는 기능 구현 불가능)

     

    주요 챗봇 플랫폼

    - ChattyPeople, Meokay, Smooch, Botsify, Beep Boop, Chatfuel

    - Facebook Messenger Platform, Telegram Bots, BotKit, FlwXO

     

    (챗봇 = 내부적으로는 웹 개발이다)웹프로그래밍이 가능한 언어는 모두 챗봇으로 구현이 가능하다.

     

    텍스트 기반 챗봇 주요 핵심 기술

     

    패턴인식 - 기계에 의하여 도형, 문자, 음성 등을 식별하는 것

    자연어 처리 - 인간이 보통 쓰는 언어를 컴퓨터에 인식시켜 처리하는 일 정보검색 질의 응답, 시스템 자동 번역, 통역 등이 포함됨.

    시멘틱 웹 - 컴퓨터가 정보 자원의 뜻을 이해하고 논리적 추론까지 할 수 있는 차세대 지능형 웹

    텍스트마이닝 - 비정형 텍스트 데이터에서 새롭고 유용한 정보를 찾아내는 과정 또는 기술

    상황인식 컴퓨팅 - 가상공간에서 현실의 상황을 정보화하고 이를 활용하여 사용자 중심의 지능화된 서비스를 제공하는 기술

    출처 : 한국정보화진흥원, '모바일시대를 넘어 AI시대로'


    git 설치하기

    https://git-scm.com/download/win

     

    Git - Downloading Package

    Downloading Git Now What? Now that you have downloaded Git, it's time to start using it.

    git-scm.com

    접속 후 가장 최근 release된 버전으로 설치하면 된다!

     

     

    git을 다운로드 받으면 cmd창에서 git 명령어가 사용가능.

    github의 특정 프로젝트를 다운받고 싶으면

    내가 다운로드 받고 싶은 directory로 이동한 후, git clone 주소 쓰면 끝!

    ex) git clone https://github.com/bonahbruce/PyRainGame.git

     

    bonahbruce/PyRainGame

    Contribute to bonahbruce/PyRainGame development by creating an account on GitHub.

    github.com

     

    어 챗 웹 ( 어차피 챗봇은 웹이다)


     

    java를 쓰던 사람들이 node.js로 많이 넘어가고 있다.

    node.js는 javascript기반이다.

     

    bot framework4.0부터는 python도 지원이 된다.

     


    C# 

    namespace나 class명은 첫글자 대문자로 해주는 관습

    member 변수는 대문자

    지역변수는 소문자

     

    200번 굳

    400번대 에러

    500번대 서버장애(내코드문제일가능성높다)

     

    Connector(Bot Service), Activities & Messages

     

    argument 안에 activity가 들어있다.

    사용자가 입력한 값이 message변수 안에 들어간다.

     

    await는 굉장히 강력한 기능을 수행시켜준다.

     

    context.Wait을 통해 자기자신을 다시 호출시킨 후 대기

     

     


    오후시간

    web app - (parser 블라블라)

     

    web server를 만들기위해선 1. 가상머신 2. appache 등 을 

    3. 플랫폼(java tomcat 등)

     

    웹앱 - 생성하면 웹서버만 달랑 생긴다.

    플랫폼을 선택을 할수가 있다.(python, java, .net, node.js 를 옵션으로 선택가능)

     

     

    챗봇도 웹 어플리케이션

    웹앱에다가 우리가 만든 챗봇을 배포해서 쓰는것이다.

     

    WebApp Plan의 용량 = S1선택한 것.

     

    zoomit (ctrl1 확대 ctrl2)

     

    Types of Activities

    Activity type = Description

    Message Sent when general content is passed to or from a user and a bot

    Conversation Update - Sent when the conversation's properties change, for example the topic name, or when user joins or leaves the group

    Contact Relation Update Sent when bot added or removed to contact list

    Delete User Data Send when user is removed from a conversation

    Typing Sent when a user is typing (...)

    Ping Send when a keep-alive is needed (핑)부재중, 접속중 등의 신호

    지원 하고 안하고는 메신저에 따라 다름.

     

    챗봇에서 제일 중요한 것이 dialog, 즉 대화이다.

    Dialog가 가장 중요

     

    Root Dialog

     

    StartAsync() #무조건 구현해야댐

        context.Wait()

    MessageReceiverAsync()

        context.Wait()

     

    봇 서비스를 추상화시켜놓은 객체 = context

    .Wait() = 사용자의 입력을 기다림.

     

    Call() 다른 Dialog를 호출할 때 사용

    Done() 현재 Dialog를 종료하고 root dialog로 올라간다. 

    Fail() 현재 Dialog에서 예외를 발생하고 상위 dialog로 올라간다.

    PostAsync() 메시지를 출력하다

    Wait() 대기하고 있다가 호출

     


    StartAsync() #무조건 구현해야댐

        context.Wait()

    MessageReceiverAsync()

        context.Wait()

    Send()

        context.Wait()

     

    Trim = 파이썬의 Strip()역할

     


    Attachments, Cards and Actions

    Adaptive Card 텍스트나 음성, 이미지, 버튼과 입력 필드를 조합해서 정의해서 사용할 수 있는 카드로 모든 메신저에서 지원되는 것은 아니다..

    Animation Card 애니메이션 GIF나 짧은 동영상을 이용해서 동적인 반응을 보여 줄 때 사용되는 카드이다.

    Audio Card 오디오 파일을 재생할 때 사용되는 카드이다.

    Hero Card 일반적으로 하나의 큰 이미지와 하나 이상의 버튼과 텍스트가 포함되는 카드이다.

    Thumbnail card : Hero Card와 비슷하지만 썸네일 이미지가 포함된 카드이다.

    Receipt Card 영수증을 제공할 수 있도록 해주는 카드이다. 영수증에는 항목과 총 비용 그리고 vat등을 표현할 수 있다.

    Signin Card 사용자 로그인을 요청할 수 있게 해주는 카드. 텍스트와 로그인과정을 시작할 수 있도록 버튼등이 포함되어있다.

    Video Card 비디오를 보여주고 재생할 수 있는 카드이다.

     

    Card Actions

    openUrl value에다가 url을 주면, 클릭을 할시 웹사이트가 열린다.

    imBack value가 1이면 이 버튼을 눌러주면 1이 타이핑이 된다.

    postBack #

    call 휴대폰에서만 사용이 가능한 옵션. value에다가 전화번호를 입력하면, 이버튼을 누를시 전화를 걸 수 잇다.

    playAudio

    playVideo 플레이 시킬수 잇는 버튼

    showImage 이미지 보여주기

    downloadFile 다운로드

     

    함께 보면 좋은 글

    2021.03.23 - [IT정보] - 챗봇은 무엇인가?

    2021.03.23 - [IT프로그래밍] - AI 면접 완벽 분석

    2021.03.22 - [IT프로그래밍] - 2021년 프로그래밍 언어 순위 및 전망

    2021.03.22 - [IT프로그래밍] - 코딩과 프로그래밍의 차이점

    2021.03.22 - [IT정보] - 입문용 저렴한 가성비 드론 추천 5종 -센서형(GSP) 2개, 완구형 노센서형 (3개)

    'IT프로그래밍' 카테고리의 다른 글

    잘 만들어진 오픈소스 챗봇 KoChat !!  (0) 2021.03.24
    AI 면접 완벽 분석  (0) 2021.03.23
    2021년 프로그래밍 언어 순위 및 전망  (0) 2021.03.22
    코딩과 프로그래밍의 차이점  (0) 2021.03.22
    C 언어란?  (0) 2021.03.12

    댓글

    Designed by JB FACTORY