전체 글 46

잘 되던 파일 처리 프로그램에서 한글이 물음표로 표시 될 때

자바로 만든 형태소 분석기를 리눅스에서 잘 사용하다가, 어느날 갑자기 한글이 물음표로 표시되는 상황을 겪게 되었습니다. 이유인 즉슨 LC_ALL에 대한 환경 설정을 변경한적이 있는데 이를 다시 unset 해주니 원래대로 잘 실행되었습니다. 요약!! 증상 및 환경프로그램 실행 시 한글이 깨진다. 그러나 인코딩은 잘 세팅이 되어 있다. 해결 방법echo $LC_ALL 을 실행.만약 현재 인코딩과 다른 결과가 출력 된다면 (ex : C) 아래 명령어 실행.unset LC_ALL

Legacy/Linux 2013.04.25

KOMORAN ver 0.6 (자바 한글 형태소 분석기)

한글 형태소 분석기 KOMORAN 0.6 버전을 공개합니다. 네이밍과 관련하여 몇몇 분의 문의를 주셨는데, KOMORAN은 KOrean MORphological ANalyzer의 약자입니다. 버전업 주요 히스토리 ver 0.6 - 기존 0.5 버전 ( 링크 )에 기분석 사전을 추가하였습니다.- 기분석 사전 추가로 인해 분석 속도가 2배 가량 빨라졌습니다. (sec 당 200kb 분석)- VM는 최소 512mb를 필요로 합니다. ( -Xms512m -Xmx512m ) 형태소 분석 Core 라이브러리 파일 형태소 분석 라이브러리 내 사용되는 유틸성 라이브러리필요 라이브러리 파일 사용법은 ver 0.5와 같습니다. ( 링크 ) 본 형태소 분석기는 상업적 용도의 사용을 금지합니다. (안정성 검증 필요, 별도 연..

Legacy/Library 2013.04.02 (6)

KOMORAN ver 0.5 (자바 한글 형태소 분석기)

자바로 만든 한글 형태소 분석기를 공개합니다. 이름은 KOMORAN입니다. 현재 자체 테스트는 완료하였습니다. 기본적인 어절 단위 형태소 분석기를 따르고 있습니다. (sec 당 약 100kb 분석) 사용 중 발생하는 에러는 댓글로 부탁드립니다. 필요한 라이브러리 파일은 아래와 같습니다.형태소 분석 core 라이브러리 형태소 분석 라이브러리 내 사용된 유틸성 라이브러리 분석에 필요한 모델 파일들은 아래와 같습니다. 사용법은 아래와 같습니다. public static void main(String[] args) { MorphologyAnalyzer analyzer = new MorphologyAnalyzer("형태소 분석용 파일들이 저장된 루트 폴더"); Listreslut = analyzer.analyze..

Legacy/Library 2013.03.19 (13)

리눅스 shell로 파일 전송하기

저 같은 경우에는 윈도우에서 개발을 하고 리눅스에서 프로토타입을 테스트하는 경우가 잦습니다. 이걸 모를때는 ftp를 번거롭게 켜고 끄고 했었는데, 더 쉬운 방법이 있었습니다. 바로 lrzsz를 이용하는 방법입니다. 그냥 간단하게 파일을 드래그해서 리눅스 쉘프로그램(xshell이나 putty 등)에 던져 넣으면 파일이 전송됩니다. 주의하셔야 될 점은 시간초과(?)가 있으니 비교적 용량이 짧은 파일을 이동하는데 자주 사용하고 있습니다. lrzsz는 리눅스에 따라서 기본적으로 설치되어있는 놈들이 있고 그렇기 않은 놈들이 있습니다. 적어도 현재 제가 사용중인 cent 6.0에서는 기본적으로 설치되어 있지 않네요~ 이 방법을 사용하기 위해서는 먼저 lrzsz를 인스톨 해줘야 합니다. root 계정으로 로그인 한뒤..

Legacy/Linux 2013.01.07 (2)

감정분류 연구를 하면서..

나는 지난 5년동안 한글의 감정 분류와 관련된 연구를 계속해오고 있다. 최근에 이와 관련된 연구에 대한 평가(?)를 객관적으로 볼 수 있는 기회가 생겼다. 그.런.데.... 내가 지난 5년간 해온 연구이고 다른 연구들과 비교실험해가면서 열심히 고민하고 진지한 연구로 객관성까지 부여한 연구였는데.. 쉽게 인정해주지 않는것 같았다. 감정 분류는 자연어처리 기술들을 사용하는데 왜 당신은 그 기술들을 사용하지 않았습니까? 와 같은 의도였다. 자연어처리 기술이 들어가는건 당연한 것이지만, 최고의 퍼포먼스를 내기 위해서 최고의 자연어처리 기술을 도입해야 하는 것은 아니라도 생각한다. 나에게는 문서 100개라도 최고의 검색엔진을 만들어야하지 않겠느냐? 라는 질문으로 받아들여졌고, 그에 대한 나의 답변은 굳이 100개..

Life 2012.11.22 (6)

루씬 기본적인 검색 엔진

먼저 루씬은 참 쓰기 편하면서도 커스터마이징하기는 참 불편한 특징을 갖고 있습니다. (물론 제 수준상으로...) 그래서 루씬을 이용해서 쓰기 편하게(?) 나름대로 만들어봤습니다. 지금부터 루씬을 이용해서 기본적인 검색기를 뚝딱 만들어보겠습니다. 먼저 색인할 데이터를 다운 받습니다. [트윗 데이터] 위 파일은 JSON 형태의 트윗을 모아둔 파일로 압축을 풀면 약 45M 정도가 됩니다. 먼저 이 데이터를 원하시는 경로에 풀어둡니다. 저는 D:/tweet/ 에 압축을 풀겠습니다. 트윗을 담기 위한 객체를 만들어 둡니다. 객체 이름은 당연히 Tweet으로 하고 소스 내용은 아래와 같습니다. package kr.peopleware.lucene.model; import java.util.List; import or..

Legacy/Lucene 2012.11.06 (7)

티스토리에 소스코드 집어넣기

소스코드를 그냥 copy & paste를 해버리면 소스 자체를 읽기가 힘들다. 그래서 오픈소스로 SyntaxHighlighter 라는 라이브러리(?)가 있다. 이것을 설치해주면 티스토리에서도 소스코드 하이라이터를 사용할 수 있다. 먼저 다운로드를 한다. (다운로드) 먼저 admin에서 좌측 꾸미기에서 스킨을 클릭후 아래 화면과 같이 파일 업로드를 클릭한다. 이어 나오는 화면에서 하단에 있는 "추가" 버튼을 누른 뒤 아까 받아둔 SyntaxHighlighter 폴더의 styles와 scripts에 있는 파일들을 업로드 시킨다. 상단에 있는 HTML/CSS 버튼을 누른 후 skin.html에 있는 head 부분에 아래 내용을 집어 넣는다. 최종으로 "저장" 버튼을 누른다. 이제 소스코드 하이라이터를 사용할 ..

Legacy/Blog 2012.11.06

[FileUtil] 자바 파일 읽기

위치 kr.peopleware.util.common.file 소스 /** * 입력된 파일의 내용을 라인별 List 형태로 반환 * @param filename 읽어들일 파일 이름 * @param encoding 읽어들일 파일의 인코딩 * @return 파일의 한라인씩 순차적으로 저장된 리스트 */ public static List load2List(String filename,String encoding){ BufferedReader br; List resultList = new ArrayList(); try { br = new BufferedReader(new InputStreamReader(new FileInputStream(filename), encoding)); String line; while ..

Legacy/Shineware 2012.11.06 (2)

자바 인코딩에 따른 파일입출력

요즘은 대부분 이클립스나 STS를 사용하여 자바를 개발하는 일이 잦습니다. (거의 필수 요소?) 개발을 하다보면 현재 개발환경과 인코딩이 다른 파일을 읽고 써야하는 경우가 매우 빈번하게 발생하는데 자바에서 인코딩이 다른 파일의 내용을 읽는 방법에 대해서 포스팅하겠습니다. 저는 이클립스 개발 환경에서 인코딩을 UTF-8로 세팅하였습니다. 이클립스에서 EUC-KR로 된 파일을 읽고자 합니다. 아래 소스를 붙여넣으면 됩니다. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStreamReader; publi..

Legacy/Java 2012.11.06