본문 바로가기

전체 글227

[자연어처리] 간단하게 만든 긍정, 부정, 중립 분류 using naive bayes classifier 1. 설명 Naive Bayes classification 사용해서 간단하게 댓글을 긍정, 부정, 중립으로 분류하도록 구현해보겠습니다. 보통 P(A|B)라고 할 수 있는데 B가 나왔을 때 A일 확률을 구하는 것입니다. 조건부 확률이라고 하고 있습니다. 베이지슷 정리를 수학적으로 보면 아래 식(1)과 같습니다. 아래 식에서 x는 분류될 문장이고, c는 분류할 class 라고 생각했습니다. x의 확률은 계산하기 어렵기 때문에 베이즈 룰을 통해 아래와 같이 바꿀 수 있습니다. (1) 클래스가 여러 개고 입력되는 문장의 확률은 다 같은 조건이기 때문에 날려버릴 수 있습니다. 각 클래스에서 가장 높은 값을 가지는 class에 x가 속하기 때문에 가장 큰 값을 얻습니다. 입력 문장이 여러 개의 단어로 이루어져 있기.. 2014. 12. 19.
[자연어처리] a little spell-checker using string edit distance edit distance 를 사용한 간단한 spell-checker를 만들어 보겠다. 단어를 입력한 후 edit distance(거리)를 비교해서 작은 수의 단어를 찾아 대체해준다. 먼저 기본적으로 String Edit Distance란 두개의 단어가 주어졌을 때 단어 사잉의 "distance(거리)"를 구해서 비교하는 것이다. 쉬운 아이디어 이다. 예를 들어s1 = apple, s2 = applas 가 있다면 두 단어의 차이는 1. substitute(대체) s2의 a->e, 2. delete(지우기) s2의 s하면 s1과 s2가 같아진다. 두 단어를 바꾸거나 교체하는 연산은: delete, insert, substitute, copy 가 있다. 연산에서 드는 cost값을 넣을 수 있는데, delete.. 2014. 12. 19.
파일을 만들기 전에 파일 존재 확인하는 코드 파일을 쓰기 전에 파일이 있는지 확인하는 방법 import osif not os.path.exists('filename'): with open('filename', 'wt') as f: f.write('This is a test')else: print('File exists') 실수로 파일을 덮어쓰는 경우를 방지하기 위해서 한다. 2014. 12. 19.
python beautifulsoap - table parsing 친구의 노가다를 조금 덜어주기 위해 파이썬으로 웹에 있는 테이블을 파싱해서 엑셀로 만들어주는 소스를 짜봤다. 아래의 사이트에서 테이블에 있는 데이터를 엑셀로 저장하는 것이다. 노가다로 하나씩 복사 붙여넣기 할 수 없으니까... python으로 웹파싱이 쉬운 것을 생각했다. Beautiful Soup 를 사용했다. beautifulsoup는 웹파싱하기에 쉽고 간단하다. 아래 사이트에서 다운 받는다. http://www.crummy.com/software/BeautifulSoup/ 이용할 라이브러리 - BeautifulSoup, csv, urllib2 # -*- coding: utf-8 -*-import csvimport urllib2import BeautifulSoup url = 'http://해당 웹사이.. 2014. 12. 19.
반응형