반응형
안녕하세요. @anpigon 입니다. 이번에는 유사한 게시물을 찾아내는 방법을 공부하였습니다. 게시물을 벡터로 계산하고, 벡터 간의 거리를 구하는 방법으로 유사도를 분석합니다. 이 기술을 이용하면 인터레스팀 서비스처럼 관련 글을 찾아낼 수도 있습니다. 저는 이 기술을 사용해서 불펌러(어뷰징 계정)들을 찾아내고 싶네요. 이번 예제는 "Building Machine Learning Systems with Python - Second Edition" 서적을 참고하였습니다. 이 책의 54 페이지에 있는 내용입니다. scikit-learn scikit-learn는 데이터 마이닝 및 데이터 분석을 위한 파이썬 라이브러리이다. NumPy, SciPy 및 matplotlib를 기반으로 제작되었다. 그리고 상업적으로 사..
안녕하세요. @anpigon 입니다. 이번에는 간단한 텍스트 감정 분류기를 만들어 보겠습니다. 참고로 구글 검색하면 파이썬 머신러닝 관련 자료가 넘치도록 많습니다. 구글에서 마음에 드는 예제를 하나 가져왔습니다. 아래 예제는 https://stevenloria.com/simple-text-classification/를 참고 했습니다. TextBlob 라이브러리 설치 Textblob는 텍스트 정보를 처리하는 파이썬 라이브러리다. 품사 태깅, 명사구 추출, 감정 분석 및 분류, 번역 등과 같은 일반적인 자연 언어 처리(Natural Language Processing, NLP)를 위한 간단한 API를 제공한다. 설치하기 $ pip install -U textblob nltk TextBlob 라이브러리가 제공..
안녕하세요. @anpigon 입니다. 이전에 "파이썬 형태소 분석"이란 제목으로 시리즈를 시작했는데, 시리즈 제목을 머신러닝으로 변경했습니다. 형태소 분석은 스팀잇에 작성한 글로 "단어구름"를 만들어보고 싶어서 시작했습니다. 하지만, 형태소 분석만 하고 끝내기엔 아쉬워 머신러닝을 공부해서 재미난 걸 만들어 보려고 합니다. 이번에는 머신러닝을 사용하여 스팀잇 아이디의 성별을 예측해보겠습니다. 참고로, 단어구름 만들기 포스팅에 댓글을 남기시면 여러분이 스팀잇에 작성한 글을 분석하여 단어구름를 만들어 드립니다. 현재 봇이 돌고 있습니다. 하지만, 노트북에서 봇을 돌리고 있어서 분석 시간은 조금 걸립니다. 나이브 베이즈 분류 나이브 베이즈 분류(Naïve Bayes Classification)는 텍스트 분류에 ..
안녕하세요. @anpigon 입니다. 이전 글에 이어서 이번에는 스팀잇에 작성한 글에서 단어를 추출하여 단어구름을 만들어 보겠습니다. 이전글 파이썬으로 스팀잇 형태소 분석하기 #1 워드클라우드 모듈 설치 워드클라우드(wordcloud) 모듈을 설치한다. pip install wordcloud 워드클라우드 깃허브에서 사용방법 또는 예제 소스를 참고할 수 있다. https://github.com/amueller/word_cloud 스팀잇에 작성한 글 가져오기 스팀잇에서 내가 작성한 글을 가져온다. 작성한 글을 모두 가져오려면 오래 걸리니 우선 1건만 가져와서 테스트해본다. from steem import Steem from steem.blog import Blog username = 'anpigon' # 사..
안녕하세요. @anpigon 입니다. 구글 Keynote (Google I/O '18) 발표 영상을 이제서야 봤습니다. 발표 내용은 구글 어시스턴트의 새로운 기능에 관한 내용입니다. 여기서 주목할 기능은 인공지능(AI)이 미용실이나 레스토랑에 전화를 걸어 예약을 해주는 기능입니다. 인공지능이 미용실에 직접 전화를 걸어 대화하면서 예약하는 장면은 소름 돋을 정도였습니다. 사람인지 인공지능인지 구분할 수 없을 정도입니다. 심지어 대화 중간에 망설이는 듯이 "음..."하는 소리까지 냅니다. 아래 유튜브 링크에서 해당 발표 영상을 볼 수 있습니다. 35분부터 해당 내용이 나옵니다. 한글 자막으로 설정하고 보세요. (라이센스 관련 내용을 찾지 못하여 영상을 포스트 내용에 포함시키지 않았습니다. 클릭해서 유튜브에서..
안녕하세요. @anpigon입니다. 마스터 이더리움(Mastering Ethereum) 책을 보면서 정리한 글입니다. 아직 전체 내용을 다 보지는 못하였습니다. 하지만 궁금한 사항을 댓글로 문의하면, 최대한 답변해드리도록 노력하겠습니다. 책 전체 내용은 깃허브에서 볼 수 있습니다. https://github.com/ethereumbook/ethereumbook 자바스크립트에서는 web3.js를 사용하여 이더리움 네트워크와 연동한다. 아래와 같이 설치하여 사용한다. $ npm install web3 또는, 브라우저에서 동작하는 경우에는 CDN를 사용한다. 트랜잭션(Transactions) 트랜잭션(Transactions)은 외부 소유 계정(EOA)에서 생성되어 이더리움 블록체인에 기록된 서명된 메시지다. ..
안녕하세요. @anpigon입니다. 마스터 이더리움(Mastering Ethereum) 책을 보면서 정리한 글입니다. 아직 전체 내용을 다 보지는 못하였습니다. 하지만 궁금한 사항을 댓글로 문의하면, 최대한 답변해드리도록 노력하겠습니다. 책 전체 내용은 깃허브에서 볼 수 있습니다. https://github.com/ethereumbook/ethereumbook 이더리움 지갑에는 이더(ether)나 토큰(token)이 들어있지 않다. 지갑에는 한 쌍의 공개키와 개인키만 있을 뿐이다. 이더나 토큰은 이더리움 블록체인에 기록되어 있다. 지갑의 유형은 크게 비결정적 지갑(Nondeterministic Wallet)과 결정적 지갑(Deterministic Wallets)으로 구분된다. 결정적 지갑 중에서 가장 많..
안녕하세요. @anpigon입니다. 마스터 이더리움(Mastering Ethereum) 책을 보면서 정리한 글입니다. 아직 전체 내용을 다 보지는 못하였습니다. 하지만 궁금한 사항을 댓글로 문의하면, 최대한 답변해드리도록 노력하겠습니다. 책 전체 내용은 깃허브에서 볼 수 있습니다. https://github.com/ethereumbook/ethereumbook 이더리움은 주소, 개인키, 디지털 서명 등을 통해 이더(ether)를 소유하고 통제한다. 그리고 키와 주소는 지갑 또는 웰렛이라고 부르는 소프트웨어에 의해 생성되고 관리된다. 이더리움에는 2가지 유형의 계정이 있다. 외부 소유 계정(EOA)과 컨트랙트 계정(CA)이다. EOA는 지갑에서 개인키로 생성한 계정이고, CA는 컨트랙트에서 생성된 계정이다..