'2008/05'에 해당되는 글 2건

  1. 2008.05.13 Latent Semantic Analysis 2 1
  2. 2008.05.06 fopen(fclose) vs open(close) 속도 측정

LSA에 관한 여러 문서를 살펴본 결과 LSA를 WSD( Word Sense Disambiguation )에 사용할수 있을 것 같아서
테스트를 해보았다.

첨부한 input.txt파일을 입력으로 테스트를 진행하였고
input.txt파일의  내용은 '다음검색'에서 검색을 통해 구축했다.
검색어는 '피지'로 하였고
남태평양의 섬 '피지'에 대한 것과 피부 분비물 '피지' 각각 눈으로 선별하여 6개 4개로 총 10개의 문서로 구성되었다.


사용자 삽입 이미지

결과물 screen shot


결과를 살펴보면
DOC1과 가장 관련이 깊은 문서는 DOC4이고
DOC2와 가장 관련이 깊은 문서는 DOC3이다.
input.txt 파일을 열어 보시면 알겠지만 테스트 결과를 확인하기 쉽게 하기 위해
문서 번호 1,2,3,4,5는 남태평양의 섬 '피지'에 관한 문서이고, 6,7,8.9,10은 피부 분비물 '피지'에 관한 것이다.
문서 6번부터 문서 10번까지 붉게 표신된 것들을 살펴보면 유사한 문서들이 모두 6번에서 10번 문서 사이에 존재하는 것을 알수 있다.
이결과만 놓고 판단할때는 LSA를 WSD에 사용해도 의미 있는 결과를 얻을수 있을것 같다.


'언어처리' 카테고리의 다른 글

조건부 확률  (1) 2008.07.25
Maximum Likelihood Estimation  (0) 2008.07.23
Latent Semantic Analysis  (2) 2008.04.30
띄어쓰기의 어려움 bigram 2-1  (1) 2008.02.03
Aho-Corasick 구현  (0) 2007.11.01
Posted by 고요한하늘
,

보통의 경우 파일을 처리할때

open보다는 fopen을 사용한다.


O_CREAT니 O_RDWR과 같은 옵션을 외우느니 그런 옵션이 내장되어 있어서

사용하기 편한 fopen을 사용한다.

습관의 차이일수도 있다.(보통은 open보다는 fopen을 먼저 접한다 )


그런데 가끔은 open을 사용해야하는 경우도 있다.


파일을 빈번히 열고 닫을 경우 fopen보다는 open이 속도가 빠르기 때문이다.


정말로 그런지 테스트를 한번 해보았다.


첫번째 파일은 test_open.c로

open, close만 10,000,000번 한다.

두번째 파일은 test_fopen.c는

fopen, fclose만 10,000,000번 한다.



테스트는 test_open한번 실행하고 test_fopen실행하는 식으로 총 5번 시간을 측정했다.

test_open  : avg 24.6/sec

test_fopen : avg 37.6/sec


open, close 함수가 fopen(fclose)함수에 비해 1.5배 정도 빠른것으로 보인다.



물론 open을 파일을 열었을 경우에는 read,write함수를 사용해야 하고 read, write함수를 효율적으로 사용하기 위해서는 한번에 읽어오는  page size를 알아야 하는 번거로움이 있다.

이 테스트에서는 이런 것들을 모두 배제하고 파일을 열고 닫는데 어느 정도 속도차이가 있는지에만 초점을 맞추어 테스트를 진행했다.





보너스 : open, close를 1억번 해도 결과는 같을까?

test_open : 3m54.256s

test_fopen :  5m35.421s



Posted by 고요한하늘
,