python 썸네일형 리스트형 문장의 해당 언어 판별하기(그래프 분석) 이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다. 관련 포스팅 보러가기문장의 해당 언어 판별하기 이전 포스팅에서 문장이 주어졌을 때, 해당 문장이 어떤 언어로 구성된 문장인지 판별하는 프로그램을 머신러닝을 이용하여 구현하여보았다. 수집한 자료가 많지는 않아도 언어별로 알파벳의 빈도가 다르므로 어느 정도 분류할 수 있다는 사실을 알아냈다. 그렇다면 어느정도로 알파벳의 빈도가 다른지 시각적으로 확인하고 싶은 경우에는 어떻게 해야할까? 파이썬에서는 matplotlib이라는 해당 수치를 그래프로 분석해주는 형태의 라이브러리를 제공하고 있다. 이를 이용해서 확인하여 보자. import matplotlib.pyplot as plt import pandas as pd import json .. 더보기 문장의 해당 언어 판별하기 이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다. 고대 바빌로니아 인들의 신에 대한 도전(?)으로 인한 바벨탑이 무너지게 되었고, 21세기는 수많은 사람들이 수많은 민족과 국가라는 프레임의 나뉘어 서로 다른 언어를 사용하고 있다. 이러한 소통의 문제는 생각보다 인류의 발전에 큰 걸림돌이 되고 있다. 만약 컴퓨터 소프트웨어를 이용해서 어떤 언어이든지 내가 이해할 수 있는 언어로 번역하여주는 완벽한 번역기를 개발한다면 인류의 발전에 크게 도모할 것으로 예상된다. 만약 스마트 글래스의 동적 문장 번역 기능을 추가한다고 하면 특정 문장을 보고 내가 해당하는 국가의 언어로 동적으로 번역하여 준다는 가정하에 문장을 번역하기전에 어떤 언어에서 어떤 언어로 번역할 것인지를 정해주어야 하는 데.. 더보기 머신러닝의 양분, 빅데이터(BigData)와 활용 이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다. 컴퓨터가 개발된 이래로 우리는 컴퓨터를 이용하여 무수히 많은 데이터를 양산해오고 있다. 1991년 2월 26일 팀 버너스리의 WWW(World Wide Web)의 개발이후로 더욱 가속화되었으며, 스마트폰 보급 및 개인 SNS의 확산은 폭발적인 데이터의 양산을 촉매시켰고 현재 이 포스팅을 작성하는 것도 하나의 데이터의 양산으로 볼수있다. 그렇다면 머신러닝에 있어서 무수히 많은 데이터들이 어떠한 역할을 할까 생각해볼 필요가 있다. 머신러닝이란 인간의 뇌가 자연스럽게 수행하는 "학습"이라는 능력을 컴퓨터로 구현하는 방법이다. 조금더 구체적으로 말하자면 "수많은 데이터를 학습시켜 거기에 있는 패턴(규칙성)을 찾아내는 것"이다. 패턴(규.. 더보기 인공지능, 머신러닝 그리고 딥러닝 2016년 3월 인류에게 있어서 잊지못할 하나의 사건이 발생했다. 알파고와 이세돌 9단과의 바둑 경기에서 이세돌 9단이 승리할 것이라는 모두의 예상과는 달리 알파고(AlphaGo)의 불계승으로 경기는 종료되었다. 과연 인공지능이라는 것이 무엇이기에, 사람의 지혜와 경험을 넘어서는 인류최고의 발명품이라고 불리는 것일까. 그동안의 바둑이라는 스포츠는 컴퓨터가 인간을 뛰어넘을 수 없는 창의적 사고활동이라는 말이 있었다. 이유를 구체적 살펴보면 컴퓨터는 전기 신호를 이용하기 때문에 계산이 엄청나게 빠르지만 그래도 바둑의 모든 경우의 수를 전수조사하기 위한 한계가 있다. 네덜란드의 컴퓨터 과학자 존 트럼프는 바둑판의 격자가 2x2인 경우부터 착수 경우의 수와 해당하는 착수 비를 계산하였다. 결과는 다음과 같았다... 더보기 python을 이용한 다중 채팅 구현하기 다음 프로젝트는 서적 '초보자를 위한 파이썬 200제'를 기반으로 한 포스팅입니다. 파이썬을 이용하여 TCP 소켓을 이용한 다중채팅을 구현하여 보겠다. 구현에 앞서 몇가지 고려해야할 사항이 있는 데, 이를 언급하고 직접 코드로 보이겠다. 다중채팅은 기본적으로 에코서버를 기반으로 한다. 대화에 참여한 모든 클라이언트에게 받은 메세지를 전송하여 주면된다. [사용자ID : ] + ["사용자가 보낸 문자열"] 두번 째로 고려해야 할 사항은, 다중 클라이언트 채팅과 같은 경우는 비동기(asynchronous handling)로 처리해야한다. 이 말인 즉슨, 만약 소스코드에서 반복문을 이용하여 순차적으로 사용자에게 메세지를 처리하는 코드를 작성한다면, (동기식으로) 하나의 클라이언트에 대한 요청을 모두처리하고 두 .. 더보기 python을 이용한 파일 송수신 프로그램 다음 프로젝트는 서적 '초보자를 위한 파이썬 200제'를 기반으로 한 포스팅입니다. 현재 21세기에서 우리는 네트워크를 통해 수많은 데이터를 주고받는다. 예를들어 우리가 아는 아프리카 TV는 UDP 이용한 동영상 스트리밍 서비스가 될 수 도있고, 즐겨하는 게임의 설치파일을 다운로드 하는 등의 다양한 파일이란 데이터도 주고 받을 수 있다. 이번 예제에서는 소켓을 이용한 파일의 송수신을 다뤄보겠다. 먼저 임의의 파일을 제공하기 위한 파일을 가지고 있는 서버가 필요하며, 실제로 파일을 요구하는 클라이언트가 필요하다. 이해를 돕기위한 모식도를 그려보면 다음과 같이 왼쪽의 3가지 컴퓨터(노트북, 스마트폰, 데스크톱)이 실제로 인터넷을 통해 서버에 파일을 요청하는 것을 알 수 있다. 그렇다면 우리는 파일을 제공하기.. 더보기 python을 이용한 간단한 슈팅게임 만들기 다음 프로젝트는 서적 '초보자를 위한 파이썬 200제'를 기반으로 한 포스팅입니다. C나 C++을 이용해서 일반적인 게임을 구현하기 위해서는 파이썬에 비해 상대적으로 고려해야 할 것이많다. 허나 파이썬에서는 pygame이란 SDL(Simple DirectMedia Layer)기반의 게임 제작을 위해 사용되는 파이썬 확장 라이브러리를 이용하여 보다 손쉽게 게임을 개발할 수 있다. SDL은 C언어로 구현된 크로스플랫폼 멀티미디어 라이브러리이며, 비디오, 오디오, 사용자 입력 등과 같은 관련된 처리를 편리하게 수행 할 수 있도록 해준다. 실제로 만들 게임은 비행기(플레이어)가 날아오는 적을 격추시키는 간단한 형태의 슈팅게임인데, 시간이 지날수록 적의 속도가 빨라진다. 일반적인 게임의 규칙은 적과 비행기(플레이.. 더보기 python을 이용한 웹서버 로그 처리하기 다음 프로젝트는 서적 '초보자를 위한 파이썬 200제'를 기반으로한 포스팅입니다. IT시대에서 많은 사람들은 인터넷 익스플로러나 크롬 등과 같은 인터넷 웹브라우저를 이용하여 웹서버에 접속하여 다양한 콘텐츠를 제공받습니다. 웹서버는 웹브라우저의 요청에 대해 필요한 작업을 수행하고 HTML 페이지를 구성한 후 웹브라우저로 응답합니다. 이때 웹서버는 웹브라우저의 요청에 대한 응답 내용을 요약하여 접근로그(access log)파일에 기록합니다. 아파치 웹서버에서는 접근로그의 파일을 다음과 같은 형식의 로그로 저장합니다. 127.0.0.1 - - [01/Oct/2016:13:55:36 +0900] "GET /apache_pb.gif HTTP/1.0" 200 2326 각 형식의 요소는 다음과 같이 분리됩니다. Ho.. 더보기 이전 1 2 3 4 다음