대화형 인공지능 AI 만들기 Project(2) - Python을 활용한 인공지능 만들기
해당 프로젝트의 인공지능은 python을 활용하여 만들기로 결정하였다.
우선 음성 인식 전, Text 기반으로 Text를 출력하는 챗봇형태로 먼저 구현하기로 결정하였다.
구현에 필요한 것들
1. Pandas
데이터를 분석하고 각종 처리를 할 때 이용하는 파이썬 언어 기반의 라이브러리
나는 비개발자라 이런 자세한 것은 모르겠고 쉽게 설명하면 데이터량이 많은 것 (=빅데이터)을 분석할 때 필요하다.
* 설치방법
터미널 창 혹은 cmd창 아래 문구 입력
pip install pandas
+추가) Pip upgrade 필요시 터미널창에 아래문구 입력 (pip3로 실행해야함)
pip3 install --user --upgrade pip
2. SentenceTransformer
Sentence Transformers는 최첨단 문장, 텍스트 및 이미지 임베딩을 위한 Python 프레임워크
비전공자인 나는 아래처럼 이해하기로 했다.
Sentence Transformer은 문장을 벡터화시키는 것이라고 생각하면 된다.
벡터화란 무엇이냐라고 묻는다면 어려운 말빼고 사람이 쓰는 언어를 컴퓨터가 알아들을 수 있게 벡터화시키는 것이라고 쉽게 생각하자.
*설치방법
pip install sentence_transformers
3. Cosine Similarity (코사인 유사도)
이제 문장간의 유사도를 파악해서 Scoring이 필요하다. 예를들어 내가 아래와 같이 데이터 테이블을 구축했다고 가정해보자.
질문 | 답변 |
오늘 뭐했어? | 자고 밥먹었어 |
그렇다면 해당 질문에 맞는 1대1 대응 답변이 목적이 아니라 유저가 말한 질문에 유사한 것을 찾아내야할 것이다.
유저의 질문
오늘 하루 어땠어?
뭐해?
등 과 위의 질문이 유사하다고 판단할 수 있는 점수가 필요한 것이다.
이 유사도를 위해 벡터화를 진행했다고 할 수 있다.
Cosine Simlilarity 계산을 위해 Sklearn을 설치할 것이다.
pip install scikit-learn
Sickit-learn이란 python 머신러닝 라이브러리이며 데이터 전처리에 쓰인다고 생각하면된다.
분류, 회귀, 클러스트링 등 다양한 설명은 생략
더 알고싶으면 아래 블로그를 참고하자
https://engineer-mole.tistory.com/16
4. 학습 데이터 (AI Hub)
추가 진행중++