아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
썽썽이
썽썽이20.11.19

파이썬으로 인공지능을 만들수있을까요?

안녕하세요. 요즘 인공지능에 꽂힌 중학생입니다.

제가 파이썬으로 시리나 빅스비같은 인공지능을 한번 만들어 보고 싶은데 어떻게 만들어야 할지 모르겠어서요...

파이썬으로 인공지능을 만들 수 있을까요? 만약 만들 수있다면 어떻게 만들어야 하고 그 코드에 대해서 설명해주시면 감사하겠습니다...

55글자 더 채워주세요.
답변의 개수3개의 답변이 있어요!
  • 코드는 너무 많이 인터넷에 있습니다.

    다만 시리나 빅스비 같은 퀄리티의 인공지능?, 음성인식을 구현하려면 많은 시간과 노력이 필요하겠죠.

    음성 인식 python 또는 Speech recognition python이렇게 검색하시면 원하는 코드들을 확인하 실 수 있으실꺼에요.

    그렇지만 코드를 먼저 보는 것보다 인공지능이 무엇인지, 더 깊게 음성인식이 무엇인지 공부를 잘해야지 이해가 더 쉬우실 꺼에요.


  • 굉장히 어려운 질문을 주셨는데요..

    현재 상황에서 드릴 수 있는 현실적인 조언은 소프트웨어 관련학과 혹은 인공지능 관련 학과 대학진학을 우선목표로 삼으셔야한다는 것입니다.

    하지만 실제 인공지능을 구현하고 싶어서 이러한 질문을 주셨을 테니 제가 가능한한 많은 도움을 드리고싶네요.

    말씀해주신 빅스비나 시리는 ChatBot이라는 인공지능의 한 범주에 속하는 모델입니다. 이것을 구현하기 위한 방법은 음성인식(STT,SpeechToText)을 통해 음성을 Text로 변환해주는 코드가 필요하구요.

    그 다음에는 변환된 Text를 자연어 처리하여 의미를 분석하는 내용이 필요합니다.

    자연어처리하여 의미를 분석하였다면 이내용을 TTS(TextToSpeech)를 이용해 출력하시거나 미리 저장된 음성을 재생해주면 되는 거겠지요.

    하지만 이러한 내용을 중학생이신분이 다루기는 매우 어렵다고 판단됩니다. 그래도 혹시 모르니 조언을 같이 첨언해드리면 TTS와 STT는 Google Translation API를 사용하신다면 구현하실 수 있답니다. 그리고 자연어 처리는 딥러닝 영역인데요. 이는 제가 말씀드리는것보다 논문을 검색하셔서 현재 자연어 처리 연구에 관한 동향을 살펴보시고 딥러닝 모델을 구축하고 검증하는 과정이 필요할 것같네요.

    배우고자하는 모습은 정말 멋있고 존경스럽지만 쉬운일이 아니랍니다. ㅠ

    질문자님께 어울리는 간단한 챗봇 제작 및 예제 코드

    그러나 제가 한가지 해결책을 제시해드리면서 간단한 챗봇 예제를 작성한 것을 공유드리려고합니다.

    우리가 상상하는 무결한 ChatBot은 위와같은 과정을 따르는 인공지능의 한 범주로써 분류되지만 모든 ChatBot이 인공지능을 포함해야하는 것은 아닙니다. 굉장히 단순하게도 제작이 가능합니다.

    예를 들어 우리는 자연어 처리라는 것을 해야한다고 말씀드렸는데요. 자연어 처리라는 것은 저희가 하는 말을 컴퓨터가 알아들을 수 있는 Stable한 형태로 변환해주는 과정을 말합니다. 일례로 초창기 챗봇이나 저가형 챗봇의 경우 아래와 같은 원리를 따르고 있는데요.

    먼저 사용자의 말을 저장하고 그 말에 어떤 단어를 포함하는지에 따라 그 문맥을 이해하고 그에 맞는 미리 저장된 답변을 출력하는 방식이에요.

    예를 들어서 "넌 이름이 뭐야?" 라고 제가 질문을 하면 "제 이름은 챗돌이에요" 라고 대답할 수 있는 프로그램을 만든다고 가정해봅시다.

    그러면 아래와 같은 코드를 만들 수 가 있답니다.

    string = input("챗돌이에게 뭐라고 할까요?: ") if string=="넌 이름이 뭐야?": print('제 이름은 챗돌이에요')

    그런데 위와같은 코드를 사용할 경우에는 "넌 이름이 뭐야?"라고만 물어볼 때만 대답할 수 있어요.

    "넌 이름이 뭐니?" "네 이름 은 뭐지?"이런 경우 대답을 하지 않는답니다...

    이런 질문에 모두 대답을하는 챗봇을 만들려면 어떻게 해야할까요?

    넌 이름이 뭐야라는 문장을 쪼개서 단위를 나누어야 한답니다. "넌 이름이 뭐야?"라는 말에서 조사와 어미를 제외하고 "넌" "이름" "뭐" 이렇게 세가지 형태소(말에서 의미를 갖는 최소한의 단위)를 얻을 수 있는데요.

    아래와 같은 코드를 제작하면 "네 이름은 뭐지?" "넌 이름이 뭐지?" "넌 이름 뭐야?" "니 이름이 뭐야?"라는 모든 질문에 대답을 한답니다.

    if "안녕" in string:의 경우에도 string문자열이 "안녕"이라는 말을 포함하는 경우 "네 저도 반가워요!"라고 대답할 수 있도록 만들어 보았어요.

    string = input("챗돌이에게 뭐라고 할까요?: ")if ('너' in string or'네' in string or '넌' in string or '니' in string)and('이름' in string)and('뭐' in string or '뭔' in string ): print('제 이름은 챗돌이에요')elif '안녕' in string: print('네 저도 반가워요!')else: print('아직 배우지 못한 문장이에요')

    위 코드로 공부하시면서 간단한 챗봇이 어떻게 동작하는지 이해해보시되,

    문자열다루는 방법

    조건문에 조건 추가하고 배치하는 방법을 잘 공부하셔서

    해당 프로그램을 개선해나가시면 충분히 좋은 챗봇을 만드실 수 있을거에요!

    여러가지 조건문을 거는 방법은 ()괄호를 잘 사용하기 and와 or를 잘사용하기 라는 것을 잊지마세요!

    그럼 꼭 훌륭한 개발자가 되시길 바랄게요~^ㅇ^


  • "파이썬으로 인공지능을 만들 수 있을까요? 만약 만들 수있다면 어떻게 만들어야 하고 그 코드에 대해서 설명해주시면 감사하겠습니다..."

    라고 질문을 하셨는데

    인공지능도 분야가 엄청 많습니다

    위 질문은 마치 자동차로 고속도로,일반도로,오프로드, 진흙탕,얼음위 를 달릴수 있냐고 묻는것과 같습니다

    즉, 소나타로 진흙도로 와 오프로드를 못하는것처럼

    인공지능도 다양한분야가 있는데 너무 범위를 크게 질문을 하셨네요

    일단 인공지능에 관련된 프로그램 개발이 가능합니다 만 님이 원하는걸 개발할 수 있는지 없는지는 모르겠네요