<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>내 마음을 알아주는 검색</title>
		<link>http://blog.sragent.pe.kr/</link>
		<description></description>
		<language>ko</language>
		<pubDate>Sat, 06 Feb 2010 04:20:41 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<item>
			<title>언론과 자본권력 그 중에서도 삼성</title>
			<link>http://blog.sragent.pe.kr/entry/%EC%9E%90%EB%B3%B8%EA%B6%8C%EB%A0%A5-%EA%B7%B8-%EC%A4%91%EC%97%90%EC%84%9C%EB%8F%84-%EC%82%BC%EC%84%B1</link>
			<description>&lt;P&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;노무현 대통령의 업적 중 하나는&amp;nbsp;대한민국에서 대통령이 최고 권력자가 아니라는 사실을 새삼 알려주었다는 것이다.&lt;br /&gt;
&lt;/SPAN&gt;아이러니컬하게도 노무현은 대통령이 되어서도 권력에 맞서 싸워야 했다.&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;좌파나 진보는 아니지만 개혁 진영이 10년이나 정치 권력을 잡았는데도 별로 변하지 않는 세상을 보면서, 그러면 대체 이 나라의 권력 구조는 어떻게 된건지 헷갈렸었었는데, 미디어 오늘 이정환 기자의 블로그에서 아래 글들을 읽어본 결과 나의 결론은&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;정치권력 &amp;lt; 언론권력 &amp;lt;&amp;lt;&amp;lt; 자본권력. 그 중에서도 삼성&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;FONT color=#5c7fb0&gt;첫번째 글 : &lt;/FONT&gt;&lt;A title=&quot;[http://www.leejeonghwan.com/media/archives/001671.html]로 이동합니다.&quot; href=&quot;http://www.leejeonghwan.com/media/archives/001671.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;FONT color=#5c7fb0&gt;정치권력은 비판하면서 자본권력은 비판하지 못하는 이유&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;
&lt;DIV class=txc-textbox style=&quot;BORDER-RIGHT: #dbe8fb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #dbe8fb 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #dbe8fb 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #dbe8fb 1px solid; BACKGROUND-COLOR: #dbe8fb&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;언론과 기업의 유착은 우리나라에만 있는 출입처 시스템의 영향이 크다. 경제부나 산업부 기자들은 아예 출입처 기자실로 출퇴근을 한다. 기업 기자실은 대부분 홍보실과 맞닿아 있는데 이곳에서 취재 지원과 통제가 동시에 이뤄진다. 기업 출입기자들은 기업이 제공해준 시설을 이용하면서 홍보 담당자들과 점심도 같이 먹고 저녁이면 술자리도 같이 하고 주말이면 함께 골프를 치면서 이를 취재의 연장으로 생각한다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;기자들은 스스로 부끄럽고, 갈등하고 그래서 언젠가는 바로 잡고야 말꺼야... 그런 생각을 할까?&amp;nbsp;글쎄&amp;nbsp;어디 그렇게 되겠나. 사회 생활이라는게 내 윗사람이 그러면 나도 그러고, 내 주위 사람들 다 그러면 그게 당연한 거지, 어찌 부끄럽겠나. 취재원이&amp;nbsp;기자들을 모아놓고 함께한 술자리에서 어쩌구하는 얘기가 기사에 떳떳하게 인용된 것도 한두번 본게 아니다. 게다가 기업과의 관계는 언론사이기 이전에 수익을 내서 직원들 월급을 줘야 하는 기업으로서 수익 모델이기도 하다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;br /&gt;
&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;
&lt;DIV class=txc-textbox style=&quot;BORDER-RIGHT: #dbe8fb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #dbe8fb 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #dbe8fb 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #dbe8fb 1px solid; BACKGROUND-COLOR: #dbe8fb&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&quot;산업부는 경제지의 꽃이면서도 매출에 가장 크게 기여하는 부서이기도 하다&quot;고 털어놓았다. 이 기자는 &quot;연차가 좀 되면 출입처에서 나오는 광고에 신경을 쓰지 않을 수 없는데 기자들끼리는 기획회의를 영업전략회의라고 부르며 자조적인 농담을 하기도 한다&quot;...(전체 매출에서 구독료, 광고료를 제외한)사업매출은 기업들 협찬과 후원이 포함된다. 일부 언론사는 이 비율이 40%에 육박한다는 이야기도 나온다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;산업부 기자는 광고를 따오는 영업맨이라는 얘기다.&amp;nbsp;그 영업맨이 고객의 이야기를 기사로 쓴다.&amp;nbsp;또, 기업의 협찬과 후원 이야기도 나오는데, 불법적인 촌지가 아니라, 합법적인 것이다. 기사의 편집 방향에 결정적인 영향을 미칠 것이라는 것을 쉽게 예측해 볼 수 있다.&amp;nbsp;삼성의 LED TV와 현대의 소나타에 대한 찬사 가득찬 리뷰나,&amp;nbsp;불법 파업으로 인한 손실액이 자그마치 얼마 하는 기사가,&amp;nbsp;몇년 동안 알고 지낸 홍보실 형님이 기자실&amp;nbsp;아우한테 브리핑 한&amp;nbsp;내용일 수도 있으니 좀 달리 생각해 봐야 하지 않을까?&lt;/SPAN&gt;&lt;br /&gt;
&lt;br /&gt;&lt;FONT color=#5c7fb0&gt;두번째 글 : &lt;/FONT&gt;&lt;A title=&quot;[http://www.leejeonghwan.com/media/archives/001685.html]로 이동합니다.&quot; href=&quot;http://www.leejeonghwan.com/media/archives/001685.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;FONT color=#5c7fb0&gt;언론이 삼성에게 쩔쩔맬 수밖에 없는 이유&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;br /&gt;
&lt;br /&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;이 포스트에서는 기업이 특정 신문사에 광고를 밀어 주는 행태가 특히 눈에 띈다&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;br /&gt;
&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;
&lt;DIV class=txc-textbox style=&quot;BORDER-RIGHT: #dbe8fb 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #dbe8fb 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #dbe8fb 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #dbe8fb 1px solid; BACKGROUND-COLOR: #dbe8fb&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;삼성전자는 조중동에 각각 81건과 82건, 88건의 광고를 집행했는데 한겨레에는 단 1건도 집행하지 않았다. 매경과 한경, 한국일보에는 66건과 62건, 59건이 집행됐다. 삼성의 한겨레 &#039;왕따&#039;는 계열사 전반에서 발견된다. 한겨레는 삼성 계열사를 통틀어 지난해 그룹 광고와 삼성물산 광고 각각 1건씩을 게재하는데 그쳤다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;/DIV&gt;&lt;/SPAN&gt;&lt;br /&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;이쯤되면 삼성은 신문에 광고를 이용해 홍보를 하는 게 아니라, 광고 개재에&amp;nbsp;당근과 채찍 전략을 적용해&amp;nbsp;신문사를&amp;nbsp;포섭하고 있는게 아닌가 하는 생각이 들 정도다.&lt;br /&gt;
&lt;br /&gt;난 언론에 뭘 기대하기는 힘들다고 본다. 언론이 우리 고정 관념에 아직도 남아있는 것처럼 뭘 바로잡고, 용기있게 알리고 (물론 극소수 일부는 그럴수도 있다. 그 극소수는 참&amp;nbsp;심신이&amp;nbsp;힘들겠지) 그런 시절은 갔다. 분명히 갔다. 그 보다는&amp;nbsp;뉴스 생산, 배급 통로의 일부를&amp;nbsp;점유하고,&amp;nbsp;뉴스 콘텐츠를 이렇게 저렇게 이용해서 수익을 올리는 기업으로 생각하는게 맞다고 본다.(결정적 증거는 네이버 뉴스 캐스트!) &lt;br /&gt;
우리 대중의 시각이 바뀌는 것이 현실적인 대안이 아닐까.&lt;br /&gt;
&lt;br /&gt;아 빼먹을 뻔했다. 신문사들이 자발적으로 광고를 거부한다는 &lt;A title=&quot;[http://www.yes24.com/24/goods/3684352?scode=032&amp;amp;srank=1]로 이동합니다.&quot; href=&quot;http://www.yes24.com/24/goods/3684352?scode=032&amp;amp;srank=1&quot; target=_blank&gt;김용철 변호사의 책&lt;/A&gt;&lt;br /&gt;
&lt;/SPAN&gt;&lt;/P&gt;</description>
			<category>else</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/42</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EC%9E%90%EB%B3%B8%EA%B6%8C%EB%A0%A5-%EA%B7%B8-%EC%A4%91%EC%97%90%EC%84%9C%EB%8F%84-%EC%82%BC%EC%84%B1#entry42comment</comments>
			<pubDate>Sat, 06 Feb 2010 02:27:47 +0900</pubDate>
		</item>
		<item>
			<title>windows C 프로그래밍에서 fopen, fwrite, fread 사용할 때 주의할 점</title>
			<link>http://blog.sragent.pe.kr/entry/windows-C-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%97%90%EC%84%9C-fopen-fwrite-fread-%EC%82%AC%EC%9A%A9%ED%95%A0-%EB%95%8C-%EC%A3%BC%EC%9D%98%ED%95%A0-%EC%A0%90</link>
			<description>&lt;span style=&quot;font-size: 10pt; &quot;&gt;리눅스에서 윈도우로 옮겼더니 돌지 않는 코드를 보고 알게 된 것이다.&lt;/span&gt;&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;아래와 같은 코드가 있다.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(219, 232, 251); border-right-color: rgb(219, 232, 251); border-bottom-color: rgb(219, 232, 251); border-left-color: rgb(219, 232, 251); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;int main() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; line-height: 19px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//1바이트 짜리 변수&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;char c;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FILE *fp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;// 하필. 이런 값을 한번 넣어본다.
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;c = 0x0a;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;fp = fopen(&quot;test.bin&quot;, &quot;w&quot;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// 1 바이트를 쓴다.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;fwrite(&amp;amp;c, 1, sizeof(char), fp);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;fclose(fp);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;위 코드를 windows에서 컴파일하고 실행하면 생성되는 test.bin 파일의 크기는?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;놀랍게도 2바이트 짜리 파일이 생긴다. 왜그럴까...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;해결은 fopen을 다음과 같이 수정하면 된다.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: rgb(219, 232, 251); border-right-color: rgb(219, 232, 251); border-bottom-color: rgb(219, 232, 251); border-left-color: rgb(219, 232, 251); background-color: rgb(219, 232, 251); padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; &quot;&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;fp = fopen(&quot;test.bin&quot;, &quot;wb&quot;);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;즉, 원래 코드는 ascii 모드로 open 한 거고, 수정된 코드는 binary 모드로 open 한 것이다.&amp;nbsp;ascii 모드로 열고 위 코드를 실행하면 0x0a 뒤에 0x0d 즉, carriage return이 붙고, 파일 크기가 2 byte가 된다. 이건 windows에서만 그런 거다. 파일을 읽기 위해 open 하고, fread를 사용할 때도 마찬가지로 주의를 해야 한다.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt; &quot;&gt;위 코드는 설명을 위해 간단히 만든 시나리오고, 실제로는 몇 메가짜리 바이너리 파일을 쓰는 코드였는데, 알고 나니 재밌지만 과정은 기억에 오래 남을 삽질이었다.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</description>
			<category>else if (개발)</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/41</guid>
			<comments>http://blog.sragent.pe.kr/entry/windows-C-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%97%90%EC%84%9C-fopen-fwrite-fread-%EC%82%AC%EC%9A%A9%ED%95%A0-%EB%95%8C-%EC%A3%BC%EC%9D%98%ED%95%A0-%EC%A0%90#entry41comment</comments>
			<pubDate>Wed, 30 Dec 2009 00:15:24 +0900</pubDate>
		</item>
		<item>
			<title>파이썬만 하다가 갑자기 자바를 했더니</title>
			<link>http://blog.sragent.pe.kr/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EB%A7%8C-%ED%95%98%EB%8B%A4%EA%B0%80-%EA%B0%91%EC%9E%90%EA%B8%B0-%EC%9E%90%EB%B0%94%EB%A5%BC-%ED%96%88%EB%8D%94%EB%8B%88</link>
			<description>&lt;span style=&quot;font-size: 10pt;&quot;&gt;요새 회사에서 하는 일은 주로 파이썬으로 데이터 주무르는 노가다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;오늘 오랜만에 자바로 알고리즘 퀴즈를 풀었는데, 몇 줄 되지도 않는 코드가 컴파일 에러가 주루룩난다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;public class RSABreaker {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // x &amp;lt; y&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public isSharePrime(int x, int y) {&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: rgb(48, 88, 210);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;----&amp;gt; return 타입을 빼먹었다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 2; i &amp;lt;= x; i++) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (x % i == 0 &amp;amp;&amp;amp; y % i == 0)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: rgb(48, 88, 210);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;----&amp;gt; 세미콜론을 빼먹었다&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int decrypt(int e, int n, int b) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int m = 1;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 2; i &amp;lt; n; i++) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if !isSharePrime(i, n)&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: rgb(48, 88, 210);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;----&amp;gt; if 문에 괄호를 빼먹었다&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m++;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d = 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: rgb(48, 88, 210);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;----&amp;gt; 자료형을 빼먹었다. 세미콜론을 또 안썼다&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while ((d*e) % m != 1)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; d++&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: rgb(48, 88, 210);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;---&amp;gt; 세미콜론을 자꾸 자꾸 빼먹는다&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int res = 1;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; d; i++) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; res = (res * b) % n;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return res;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;</description>
			<category>else if (개발)</category>
			<category>자바</category>
			<category>콘텍스트스위칭이안된다</category>
			<category>파이썬</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/40</guid>
			<comments>http://blog.sragent.pe.kr/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EB%A7%8C-%ED%95%98%EB%8B%A4%EA%B0%80-%EA%B0%91%EC%9E%90%EA%B8%B0-%EC%9E%90%EB%B0%94%EB%A5%BC-%ED%96%88%EB%8D%94%EB%8B%88#entry40comment</comments>
			<pubDate>Sat, 05 Dec 2009 16:47:07 +0900</pubDate>
		</item>
		<item>
			<title>남조선식 블랙코미디 하나</title>
			<link>http://blog.sragent.pe.kr/entry/%EB%82%A8%EC%A1%B0%EC%84%A0%EC%8B%9D-%EB%B8%94%EB%9E%99%EC%BD%94%EB%AF%B8%EB%94%94-%ED%95%98%EB%82%98</link>
			<description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: dotum; line-height: 16px;&quot;&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;아래는 한 대학강사가 모카페에 올린글이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 1px solid rgb(238, 238, 238); padding: 10px; background-color: rgb(238, 238, 238);&quot;&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;오랜만에 글을 보냄니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이곳 델리는 낯 기온이 40도 입니다. 15년 전에 내가 어떻게 이곳에서 공부했을까? 스스로 대견했구나 생각을 해 봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;우선 반가운 소식은 이곳 국책급 연구소(CRRID)와 우리 **대학교 정치학과 사이에 양해각서(MOU)를 채결하였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;인도에서의 지역연구를 위한 좋은 발판을 마련하게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;개인적으로 양해각서 체결을 근거로 이곳 연구소의 도움으로 10월 부터 12월까지 현지조사 연구를 할 수 있게 되었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;조사 지역은 인도의 서북쪽에 위치한 펀잡 주(state)입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;모두 28개 지역의 마을들을 30일간 다니면서 직접 대면 조사 방식으로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;주민자치제도에 대한 심층적인 연구입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;한국국적의 연구자가 인도의 현지 조사를 하는 것은 처음 있는 일 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;개인적으로 기대가 큼니다...&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이곳 델리에서 머무는 동안 잠시 한국의 정치 상황을 객관적으로 보면서 참 많은 생각을 갖게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;인도의 정치 상황을 보면서 우리 체제가 갖고 있는 장점과 극복해야 할 점에 대해서 생각해 보았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&quot;성찰과 모색&quot; 이 번 여행을 통해서 얻게 된 화두였습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;앞만 보고 맹목적으로 달려가는 것 보나는 큰 일이든 작은 일이든&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;기초부터 튼튼히 쌓으면서 진지하고 성실하게 좀 느리더라도 함께 나아갈 수 있는 방법을 찾을 때라고 생각합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;포스코가 인도에서 13조를 쏫아 부으면서 돈으로 인도를 자신의 통제권으로 둘려고 했지만&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;결국 실패하는 상황을 보면서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;돈으로 머든 하면 된다는 그 생각은 매우 잘못된 것이지요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;겸손하게 주변을 살피면서, 성찰과 모색의 시간이 필요한 것 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;그럼 우리 건강한 모습으로 수업시간에 만나요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;여러분들이 얼굴이 궁금해 지고 보고 싶어 짐니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;그럼 잘 지내요.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;인도 뉴델리,,&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&#039;글을 보냄니다&#039;, &#039;낯 기온 40도&#039;, &#039;보고 싶어 짐니다&#039; 등등 맞춤법이&lt;/span&gt;&lt;/font&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: dotum; line-height: 16px;&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt; 쩌는데&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;, copy-paste 한 것이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;자~ 그럼 이 글에 대한 조선일보의 보도를 한번 볼까?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 제목(anchor text) : &lt;b&gt;간첩 대학강사 과거글 인터넷 일파만파&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 클릭하면 나오는 기사 제목 : &lt;b&gt;17년간 간첩활동 벌인 대학강사.. &quot;돈보다 겸손하게 주변 살펴야&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;a href=&quot;http://news.chosun.com/site/data/html_dir/2009/11/01/2009110100506.html?Dep0=chosunmain&amp;amp;Dep1=news&amp;amp;Dep2=headline1&amp;amp;Dep3=h1_04&quot; target=&quot;_blank&quot; title=&quot;[http://news.chosun.com/site/data/html_dir/2009/11/01/2009110100506.html?Dep0=chosunmain&amp;amp;Dep1=news&amp;amp;Dep2=headline1&amp;amp;Dep3=h1_04]로 이동합니다.&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;기사 원문&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&quot;간첩... 주변 살펴야.&quot; 정말 액기스만 잘 뽑았네.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;17년간 공작금 6천만원 받은 대학강사 간첩이라. 비밀 아지트 전세값도 안되겠다. 간첩도 헝그리 정신이 필요한건가.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;심심한데 짤방이나 하나 올려본다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;출처는 간첩 미니홈피 보다 위험한 국방부 홈페이지 :&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;a href=&quot;http://www.mnd.go.kr/mndIntro_2009/map/index.jsp?topMenuNo=6&amp;amp;leftNum=15&quot; target=&quot;_blank&quot; title=&quot;[http://www.mnd.go.kr/mndIntro_2009/map/index.jsp?topMenuNo=6&amp;amp;leftNum=15]로 이동합니다.&quot;&gt;http://www.mnd.go.kr/mndIntro_2009/map/index.jsp?topMenuNo=6&amp;amp;leftNum=15&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile10.uf.tistory.com/image/145674244AED8E1AC957AC&quot; alt=&quot;&quot; filemime=&quot;image/gif&quot; filename=&quot;introduction_img_map_01.gif&quot; height=&quot;286&quot; width=&quot;470&quot;/&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0px; padding: 0px; list-style-type: none;&quot;&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/span&gt;</description>
			<category>else</category>
			<category>언론 조롱</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/39</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EB%82%A8%EC%A1%B0%EC%84%A0%EC%8B%9D-%EB%B8%94%EB%9E%99%EC%BD%94%EB%AF%B8%EB%94%94-%ED%95%98%EB%82%98#entry39comment</comments>
			<pubDate>Sun, 01 Nov 2009 22:50:15 +0900</pubDate>
		</item>
		<item>
			<title>이것이 야구다!</title>
			<link>http://blog.sragent.pe.kr/entry/%EC%9D%B4%EA%B2%83%EC%9D%B4-%EC%95%BC%EA%B5%AC%EB%8B%A4</link>
			<description>내가 공식적으로 응원하는 팀은 두산이지만, 이번 한국시리즈 승부에서는 기아를 응원했었다. 12년동안 약팀으로 살아온 서러움이 보상받기를 바라는 마음 같은 것.&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
한국시리즈 7차전 9회말 끝내기 홈런이라니. 내가 이 장면을 TV로나마 본 사실이 정말 행운으로 느껴진다.&lt;br /&gt;
100번도 넘게 치뤄진 메이저리그 월드시리즈에도 7차전 끝내기 홈런은 딱 한번! 있었던 일이라고 한다.&lt;br /&gt;
&lt;br /&gt;SK 구원투수들은 많이 지쳐있었지만, 그래도 무너지지 않고 리드를 지켜 나갔지만, 결국 추격과 역전까지 허용하고 말았다. 기아는 뒤지고 있었고, 될듯 될듯하면서도 결정을 짓지 못하고, 경기에 뒤진채 초조하게 종반을 맞이했지만, 끈질기게 따라붙어 100년에 한번 나올까 말까한 드라마 같은 명승부를 만들어냈다.&lt;br /&gt;
&lt;br /&gt;기아 선수들 좋아서 울고 불고, SK 선수들도 축늘어진 어깨로 퇴장하며 울고, 나도 눈물이 찔끔 나와버렸네.&lt;br /&gt;
&lt;br /&gt;</description>
			<category>else</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/38</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EC%9D%B4%EA%B2%83%EC%9D%B4-%EC%95%BC%EA%B5%AC%EB%8B%A4#entry38comment</comments>
			<pubDate>Mon, 26 Oct 2009 11:17:18 +0900</pubDate>
		</item>
		<item>
			<title>나 왜 이렇게 서툰거야</title>
			<link>http://blog.sragent.pe.kr/entry/%EB%82%98-%EC%99%9C-%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%84%9C%ED%88%B0%EA%B1%B0%EC%95%BC</link>
			<description>&lt;span style=&quot;font-size: 10pt;&quot;&gt;내 블로그 rss feed에서 몇 달전부터 올린 글이 포함 안되고 있다는 사실을 그저께서야&amp;nbsp; 발견 하고서는&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이건 무슨 버그야! 를 외치며 티스토리 고객 센터에 메일을 보냈는데. 오늘 답변이 왔다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;...환경 설정에서 발행 글만 rss로 공개하신다고 설정되어있습니다...&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
헉스!&lt;/span&gt;&lt;br /&gt;</description>
			<category>else</category>
			<category>RSS Feed</category>
			<category>실수담</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/34</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EB%82%98-%EC%99%9C-%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%84%9C%ED%88%B0%EA%B1%B0%EC%95%BC#entry34comment</comments>
			<pubDate>Fri, 18 Sep 2009 09:48:30 +0900</pubDate>
		</item>
		<item>
			<title>조건부 확률과 Naive Bayes Classifier</title>
			<link>http://blog.sragent.pe.kr/entry/%EC%A1%B0%EA%B1%B4%EB%B6%80-%ED%99%95%EB%A5%A0%EA%B3%BC-Naive-Bayes-Classifier-1</link>
			<description>&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;예를 들어,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;설문 조사 결과 모든 소비자를 놓고 봤을 때 냉면을 좋아할 확률이 70%라고 하는데,&amp;nbsp;전체가 아니라 남자가&amp;nbsp;냉면을 좋아할 확률이 궁금해 졌다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&quot;남자의 &lt;strong&gt;&lt;u&gt;경우&lt;/u&gt;&lt;/strong&gt; 냉면을 좋아할 확률은?&quot;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;비슷한 예로,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&quot;한국인의 &lt;u&gt;&lt;strong&gt;경우&lt;/strong&gt;&lt;/u&gt;&amp;nbsp;키가 180 이상일 확률은?&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&quot;두산 베어스가 9회에 지고 있는 &lt;u&gt;&lt;strong&gt;상황에서&lt;/strong&gt;&lt;/u&gt; 경기에 이길 확률은?&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;이렇게, 그냥 확률이 아니라, 어떤 조건하에서, 어떤 경우, 어떤 상황이 주어진(given이라고 읽는다) 상태에서의 확률이 조건부 확률(Conditional Probability)이다. 그리고, 식으로는&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;

&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(냉면이좋아 | 남자)&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;이렇게 쓴다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;통계 기반 언어처리에서 이 조건부 확률은 무수히 많이 쓰인다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;예를 들어, 문서 분류기(Document Classifier)에서는 다음과 같은 조건부 확률이 쓰인다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;문서에 구글, 야후라는 단어가&amp;nbsp;나타난 경우 그 문서의 카테고리가 IT일 확률은? &lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;식으로는&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(Category=IT | 구글, 야후)&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;자, 그럼 본격적으로 저 확률을 계산을 해보겠다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;조건부 확률의 정의에 의해서,&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(Category=IT | 구글, 야후) = P(Category=IT, 구글, 야후) / P(구글, 야후)&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;이다.&lt;br /&gt;
식에서 분자 부분을&amp;nbsp;읽어보면, &lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;Category=IT이고, 구글, 야후 라는 단어가 나올 확률&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;이다. 용어로는&amp;nbsp;Joint Probability라고&amp;nbsp;한다. 우리말로는 잘 모르겠다. -.-;;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;난 사실 이 부분을 맨 처음 들었을 때, 조건부 확률과 Joint 확률의 의미 차이가 정말 마음에 와 닿지 않았다.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-left: 4em; &quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;A가 주어진 경우, B이고 C일 확률(조건부 확률)&amp;nbsp;이랑,&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-left: 4em; &quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;A이고 B이고 C일 확률(Joint 확률)&amp;nbsp;이랑&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;뭐가 달라?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;그런데,&amp;nbsp;저 위의 조건부 확률의 정의, 즉, 계산 방법을 곱씹어 보면&amp;nbsp;의미 차이가 조금씩 와 닿는다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;만일 전체 샘플이 1000개라고 하면, 1000개중에서 카테고리가 IT이고,&amp;nbsp;구글이랑 야후라는 단어가&amp;nbsp;나타나는 문서가 5개가 있다면 P(Category=IT,&amp;nbsp;구글, 야후) = 5/1000 = 0.005&amp;nbsp;이다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;만일 전체 샘플이 1000개 인데 그중에 야후, 구글이라는 단어가 나타나는 문서가 10개이고,&amp;nbsp;10개중에 카테고리가 IT인 문서가 5개 라면, P(Category=IT | 구글, 야후) = 5 / 10 = 0.5 이다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;구글, 야후가 나온 문서로 한정 지으면 카테고리가 IT일 확률은 0.5라는 얘기다. 참 쉽다. 정말?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;br /&gt;
자자, 이제 진짜 문서 분류 얘기를 해보자. 진짜 문서에 구글, 야후 처럼 달랑 두 단어 있는 문서를 만나는 행운이 과연얼마나 있을까? 실상은 이렇다.&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(Category=IT | 구글, 야후, 네이버, 다음,&amp;nbsp;... 그외 수백 단어)&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;조건부 확률의 정의에 의해&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(Category=IT | 구글, 야후, 네이버, 다음, ... 그외 수백 단어) &lt;br /&gt;
=&amp;nbsp;&amp;nbsp;P(Category=IT, 구글, 야후, 네이버, 다음... 그외 수백 단어) / P(구글, 야후, 네이버, 다음, ... 그외 수백 단어)&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;말로 풀자면 이렇다. 우린 지금, &lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;문서에 구글, 야후, 네이버, 다음, ... 그외 수백 단어가 나타난 상황하에서 문서의 카테고리가 IT인 확률을 알고 싶다.&amp;nbsp; 정의에 의해서 샘플 중에서 구글, 야후, 네이버, 다음, ... 그외 수백단어가 똑같이 나온 문서들 중에서, 카테고리가 IT인 문서를 세보면 조건부 확률을 구할 수 있다.&lt;br /&gt;
그런데 과연, 샘플에 &lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;구글, 야후, 네이버, 다음, ... 그외 수백단어가 똑같이 나온 문서가 1개는 있을까? 있는게 이상하다. 결론!&amp;nbsp;조건부 확률&amp;nbsp;정의 식은 무용지물이다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;이 시점에서&amp;nbsp;어디서&amp;nbsp;주워들은 독립가정을 들이 미는 사람이 있을 법하다. 그러니까, 정의식의 분자에 독립가정을 적용하면, 즉, &#039;각 단어의 출현은 서로 아무&amp;nbsp;인과 관계가&amp;nbsp;없어&#039; 라고 가정하면,&amp;nbsp;각 단어 출현 확률의 곱으로 바꿀 수 있다 뭐 이런거 말이다. 그렇게 해볼까?&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(Category=IT | 구글, 야후, 네이버, 다음,&amp;nbsp;... 그외 수백 단어)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;=&amp;nbsp;&amp;nbsp;P(Category=IT, 구글, 야후, 네이버, 다음... 그외 수백 단어) / P(구글, 야후, 네이버, 다음, ... 그외 수백 단어)&lt;br /&gt;
= &amp;nbsp;P(Category = IT) x P(구글) x P(야후) x P(네이버) x P(다음) x P(... 그외 수백 단어) / P(구글) x P(야후) x P(네이버) x P(다음) x P(... 그외 수백 단어) &lt;br /&gt;
= 약분하면 --&amp;gt; P(Category = IT)&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;font class=&quot;Apple-style-span&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; line-height: 19px;&quot;&gt;결론 :&amp;nbsp;P(Category=IT | 구글, 야후, 네이버, 다음,&amp;nbsp;... 그외 수백 단어) =&amp;nbsp;P(Category = IT) --&amp;gt; 조건이 있으나 없으나 확률은 똑같다는 모순에 도달!&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;응? 결국 저 독립가정의 결론은 수백 단어가 나오든 수천 단어가 나오든 &#039;카테고리가 IT일 확률은 그냥 카테고리가 IT일 확률이다.&#039; 라는 가정을 해버렸다는 뜻이다. 이 가정은 옳지 않다. 문맥을 보고 카테고리를 결정하려고 하는게 애초의 목적이니까.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;그래서, 필요한게 Bayesian Rule이다. Bayesian Rule에 의하면&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(Category=IT | 구글, 야후, 네이버, 다음, ... 그외 수백 단어) &lt;br /&gt;
= P(Category=IT) x P(구글, 야후, 네이버, 다음, ..., 그외 수백 단어 | Category=IT) / P(구글) x P(야후) x P(네이버) x P(다음) x P(... 그외 수백 단어)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;로 쓸 수 있다. 여기서 두번째 확률&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(구글, 야후, 네이버, 다음, ..., 그외 수백 단어 | Category=IT) 은 구할 수 있나? 즉, 샘플에서 Category=IT인 문서들 중에서 구글, 야후, 네이버, 다음, ..., 그외 수백 단어가 똑같이 나오는 문서는 몇개? 역시나 샘플에는 수백개의 단어가 똑같이 나오는 문서는 없을 것이니 이거 역시 불가!&lt;br /&gt;
하지만, 여기서 저 위에서 처럼 어설프지 않은 제대로 된 독립가정을 할 수 있는데 이름하여 &#039;조건부 독립(Conditional Independence)&#039; 가정이다. 말로 풀어 쓰자면 이렇다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;Category가 IT인 조건 아래에서는 구글, 야후, 네이버, 다음, 그외 수백 단어의 출현은 독립적인 사건이라고 가정한다. 이걸 식으로 쓰면&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;MARGIN-LEFT: 4em&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;P(구글, 야후, 네이버, 다음, ..., 그외 수백 단어 | Category=IT) &lt;br /&gt;
= P(구글|Category=IT) x P(야후|Category=IT) x P(네이버|Category=IT) x P(다음|Category=IT) x ...&amp;nbsp;&amp;nbsp;x P(그외 수백 단어|Category=IT)&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;이다. P(구글|Category=IT) 는 샘플에서 (구글이란 단어가 있는 문서 수 / 카테고리가 IT인 문서 수)로 확률을 구하면 된다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;최종적으로 Naive Bayes Classifier는 이런 확률 계산을 모든 카테고리에 대해서 해본 다음 확률이 제일 높은 카테고리를 선택하게&amp;nbsp;된다. 마지막 정리는 뽀대나게 수식 편집기로.&lt;br /&gt;
세번째 줄에서 네번째 줄로 넘어 갈때 분모가 사라진 이유는&amp;nbsp;여기서는 argmax 카테고리 c를 구하는게 목적이므로, 모든 카테고리에서 같은 값인 분모는 생략해 버린 것이다.&lt;/span&gt;&lt;br /&gt;
&lt;table style=&quot;display: inline; border-collapse: collapse&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/175B671F4AABC0F1017466&quot; alt=&quot;&quot; filemime=&quot;image/gif&quot; filename=&quot;nb1.gif&quot; height=&quot;332&quot; width=&quot;502&quot;/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
			<category>if (IR or NLP)</category>
			<category>Naive Bayes Classifier</category>
			<category>조건부 확률</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/33</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EC%A1%B0%EA%B1%B4%EB%B6%80-%ED%99%95%EB%A5%A0%EA%B3%BC-Naive-Bayes-Classifier-1#entry33comment</comments>
			<pubDate>Sun, 13 Sep 2009 00:16:40 +0900</pubDate>
		</item>
		<item>
			<title>10할타자 인증샷</title>
			<link>http://blog.sragent.pe.kr/entry/10%ED%95%A0%ED%83%80%EC%9E%90-%EC%9D%B8%EC%A6%9D%EC%83%B7</link>
			<description>사회인 야구 리그에 참가중인데, 1주일간 10할에 수위 타자 자리에 오르게 되었다. 다시 볼 수 없는 장면이라 캡쳐.&lt;div&gt;
&lt;table style=&quot;display: inline; border-collapse: collapse&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/162F5A204AA4FA1D075256&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;number1.png&quot; height=&quot;656&quot; width=&quot;683&quot;/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;/div&gt;</description>
			<category>else</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/31</guid>
			<comments>http://blog.sragent.pe.kr/entry/10%ED%95%A0%ED%83%80%EC%9E%90-%EC%9D%B8%EC%A6%9D%EC%83%B7#entry31comment</comments>
			<pubDate>Mon, 07 Sep 2009 21:19:31 +0900</pubDate>
		</item>
		<item>
			<title>지율스님, 조선일보 상대 재판에서 승소</title>
			<link>http://blog.sragent.pe.kr/entry/%EC%A7%80%EC%9C%A8%EC%8A%A4%EB%8B%98-%EC%A1%B0%EC%84%A0%EC%9D%BC%EB%B3%B4-%EC%83%81%EB%8C%80-%EC%9E%AC%ED%8C%90%EC%97%90%EC%84%9C-%EC%8A%B9%EC%86%8C</link>
			<description>&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;지율스님이 조선일보가 왜곡 보도를 했다며 낸 소송에서 일부 승소 판결을 얻어냈다. 위자료를 지급하라는 판결이 나왔는데 지율스님이 청구한 위자료가 10원이라고 한다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;div style=&quot;BORDER-BOTTOM: #eeeeee 1px solid; BORDER-LEFT: #eeeeee 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #eeeeee 1px solid; BORDER-RIGHT: #eeeeee 1px solid; PADDING-TOP: 10px&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;... 재판부는 “당시 터널공사는 계획을 상회하는 공정률을 보였지만 &amp;lt;조선일보&amp;gt;는 공정률이 5%에 불과하다고 보도했으며, 공사 지연에 따른 직접 손해가 145억원 수준인데도 ‘2조5000억원의 피해가 예상된다’고 보도했다”며 “이는 관계기관을 통해 쉽게 확인할 수 있는 정보였다”고 밝혔다. 재판부는 지율 스님이 ‘생태와 환경을 무시한 경제 중심의 관념에 경종을 울린다’는 취지로 청구한 위자료 10원도 지급하라고 판결했다. ... &lt;a title=&quot;[http://www.hani.co.kr/arti/society/society_general/374568.html]로 이동합니다.&quot; href=&quot;http://www.hani.co.kr/arti/society/society_general/374568.html&quot; target=&quot;_blank&quot;&gt;기사 원문&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;br /&gt;
이 기사를 보니 조선일보의 왜곡&amp;nbsp;현장을 더 생생하게 보고 싶어졌다. 조선일보에 들어가 검색을 해보니 다음 기사들이 나왔다.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;BORDER-BOTTOM: #eeeeee 1px solid; BORDER-LEFT: #eeeeee 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #eeeeee 1px solid; BORDER-RIGHT: #eeeeee 1px solid; PADDING-TOP: 10px&quot; class=&quot;txc-textbox&quot;&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;strong&gt;[시론] ‘빚만 남긴 정부’ 4년 (2007. 3. 11)&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;... ‘도룡뇽 소송’으로도 유명한 경부고속철도 ‘천성산 구간 터널공사’ 중단도 기억할 만한 사건이다. 아무런 법적 근거도 없는 청와대의 세 차례 공사 중단 지시로 발생한 손실이 무려 2조5000억원이다. ... &lt;a title=&quot;[http://news.chosun.com/site/data/html_dir/2007/03/11/2007031100462.html]로 이동합니다.&quot; href=&quot;http://news.chosun.com/site/data/html_dir/2007/03/11/2007031100462.html&quot; target=&quot;_blank&quot;&gt;기사 원문&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;[사설] 세금 함부로 써서 세금 내기 싫다는 국민 (2007.3.4)&lt;/span&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;... 대통령 한마디에 천성산 터널 같은 國策국책사업이 1~2년씩 늦어지면서 수천억원을 허공에 날린 게 이 정부다.&amp;nbsp; ... &lt;a title=&quot;[http://news.chosun.com/site/data/html_dir/2007/03/04/2007030400631.html]로 이동합니다.&quot; href=&quot;http://news.chosun.com/site/data/html_dir/2007/03/04/2007030400631.html&quot; target=&quot;_blank&quot;&gt;기사 원문&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;strong&gt;&lt;br /&gt;
[시론] 핵 재앙에는 침묵하는 환경단체들 (2006.10.25)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;...&amp;nbsp; 특히 진행 중인 국책사업을 표류시켜 수조원의 국가 손실을 야기하였다. 천성산 터널공사 지연으로 2조5000억, 새만금 사업 7500억, 사패산 터널 5500억 등 각종 개발사업 논란으로 참여정부가 들어선 이후에만 4조1793억원의 손실을 본 것으로 나타나고 있다. ... &lt;a title=&quot;[http://news.chosun.com/site/data/html_dir/2006/10/25/2006102560548.html]로 이동합니다.&quot; href=&quot;http://news.chosun.com/site/data/html_dir/2006/10/25/2006102560548.html&quot; target=&quot;_blank&quot;&gt;기사 원문&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;br /&gt;
제목들을&amp;nbsp;보면 알 수 있겠지만, 왜곡된 숫자는 단순히 지율스님의 명예만 훼손한 것이 아니라 적극적으로 자신의 정치적 견해를 독자들에게 설파하는데 이용되고 있다. 기사 원문을&amp;nbsp;보면&amp;nbsp;2조 5000억 말고도 수많은 숫자들이 근거로 제시되고 있는데, 얼마나 신뢰할 수 있는 숫자들일지.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;FONT-SIZE: 10pt&quot;&gt;한마디만 더.&amp;nbsp;기사들은 2, 3년 전에 쓰여진 기사들이다. 그 때, 참여정부와 환경단체들을 공격하고 상처 입혔던 글들이고 이제 와서 상처를&amp;nbsp;되돌릴 수도 없는 노릇이다. 다만, 교훈 하나는 남겨야 할 터, 지금 생산되고 있는 기사들도 다를 거 하나 없다는 거.&lt;br /&gt;
결론은 언론을 불신하자! 그것도 아주 적극적으로!&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;</description>
			<category>else</category>
			<category>언론 조롱</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/30</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EC%A7%80%EC%9C%A8%EC%8A%A4%EB%8B%98-%EC%A1%B0%EC%84%A0%EC%9D%BC%EB%B3%B4-%EC%83%81%EB%8C%80-%EC%9E%AC%ED%8C%90%EC%97%90%EC%84%9C-%EC%8A%B9%EC%86%8C#entry30comment</comments>
			<pubDate>Thu, 03 Sep 2009 22:56:48 +0900</pubDate>
		</item>
		<item>
			<title>UTF-16 vs UCS-2</title>
			<link>http://blog.sragent.pe.kr/entry/UTF-16-vs-UCS-2</link>
			<description>&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;In computing, UTF-16 (16-bit Unicode Transformation Format) is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. The encoding form maps each character to a sequence of 16-bit words. Characters are known as code points and the 16-bit words are known as code units. For characters in the Basic Multilingual Plane (BMP) the resulting encoding is a single 16-bit word. For characters in the other planes, the encoding will result in a pair of 16-bit words, together called a surrogate pair.&lt;/span&gt;&lt;br /&gt;
&lt;em&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;UTF-16은 모든 영역의 유니코드를 표현할 수 있는 가변길이 유니코드 인코딩이다. (블라블라...) 기본언어판(BMP, U+0000~U+ffff) 영역은 한개의 16-bit 워드로 인코딩되고, 다른 언어판(U+10000 이상) 영역의 문자는 두개의 16-bit 대행 코드 쌍(surrogate pair)로 인코딩된다.&lt;/span&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;UCS-2 (2-byte Universal Character Set) is an obsolete character encoding which is a predecessor to UTF-16. The UCS-2 encoding form is identical to that of UTF-16, except that it does not support surrogate pairs and therefore can only encode characters in the BMP range U+0000 through U+FFFF. As a consequence it is a fixed-length encoding that always encodes characters into a single 16-bit value.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;em&gt;UCS-2는 UTF-16의 선배격인 인코딩 방식이다. UCS-2는 대행 코드쌍을 지원하지 않는 걸 빼고는 UTF-16과 똑같다. 따라서, 기본언어판(BMP,&amp;nbsp;&amp;nbsp;U+0000~U+ffff)만 인코딩 할 수 있다. 결론적으로 16-bit single word 고정길이 인코딩 방식이다.&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse;&quot; bgcolor=&quot;#ffffff&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; width=&quot;673&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;code point&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;문자&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;UTF-16&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;UCS-2&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;심볼&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;U+007A&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;z (BMP 영역)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;0X007A&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;0X007A&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;z&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;U+6C34&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;물수(BMP 영역)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;0x6C34&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;0x6C34&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;水&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;U+1D11E&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;높은음자리표&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;(SMP 영역)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;0XD834 0xDD1E&lt;br /&gt;
(대행코드 쌍)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;N/A&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(218, 218, 218);&quot; width=&quot;20%&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/1837381A4A92AFFC26365D&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;30px-GClef.svg.png&quot; height=&quot;82&quot; width=&quot;30&quot;/&gt;&lt;/div&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ko.wikipedia.org/wiki/UTF-16&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;http://ko.wikipedia.org/wiki/UTF-16&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/UTF-16/UCS-2&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;http://en.wikipedia.org/wiki/UTF-16/UCS-2&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;에서 발췌 / 정리&lt;/span&gt;</description>
			<category>else if (개발)</category>
			<category>UCS-2</category>
			<category>UTF-16</category>
			<category>유니코드</category>
			<category>인코딩</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/29</guid>
			<comments>http://blog.sragent.pe.kr/entry/UTF-16-vs-UCS-2#entry29comment</comments>
			<pubDate>Tue, 25 Aug 2009 00:22:05 +0900</pubDate>
		</item>
		<item>
			<title>Latent Semantic Analysis(LSA)</title>
			<link>http://blog.sragent.pe.kr/entry/Latent-Semantic-AnalysisLSA</link>
			<description>&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;1. 단어 매칭만으로는 뭔가 부족한 정보검색&lt;/SPAN&gt;&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;B&gt;&lt;/B&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;예부터 들이 밀고 이야기를 시작해보겠다. &lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/194BC5154A7B8617DD8BE0&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;lsa4.png&quot; height=&quot;131&quot; width=&quot;360&quot;/&gt;&lt;/div&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;이 예에서, 키워드 검색이라면 주어진 쿼리에 문서1만 매칭에 성공한다. 그런데, 문서의 의미를&amp;nbsp;가만히 살펴 보면, 문서2 역시 쿼리에 적당한 문서이다. Latent Semantic Analysis(이하 LSA)는 예에서 보듯이 키워드 매칭으로 찾을 수 없는, 의미가 가까운 단어-문서, 단어-단어, 문서-문서를 찾을 수 있게 해준다.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;FONT class=Apple-style-span size=3&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 23px; FONT-SIZE: 13px&quot; class=Apple-style-span&gt;&lt;br /&gt;
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;어떻게 &#039;중국집 메뉴&#039; 와 &#039;짜장면 짬뽕&#039;이 가깝다는 것을 찾아준다는 것일까? 이 때 이용하는 정보가 co-occurrence (공기, 共起)정보다. 문서1을 보면 &#039;중국집 메뉴&#039;와 &#039;짜장면 짬뽕&#039;은 같이 쓰였다. 바꿔 말해, co-occur한다.(共起한다.) 이 사실을 힌트 삼아 쿼리와 문서2 또한 가깝다고 유추할 수 있다.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;FONT class=Apple-style-span size=3&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 23px; FONT-SIZE: 13px&quot; class=Apple-style-span&gt;&lt;br /&gt;
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;LSA는 개념적으로 co-occurrence 정보를 이용한다. co-occurrence 정보를 이용한다는 것은 단어의 &#039;형태(morphology)가 아닌&amp;nbsp;의미(semantic)&#039;를 이용한다는 뜻이다. 예를 들어 &#039;배&#039;라는 단어는 같은 문장에&amp;nbsp;co-occur 하는 동사가 &#039;타다&#039; 인지 &#039;먹다&#039; 인지에 따라 의미가&amp;nbsp;갈라지게 된다. &amp;nbsp;또한, &#039;식당&#039;, &#039;맛있게&#039;, &#039;배부르게&#039; 라는 단어와 같은 문장에 co-occur하는 처음 보는 단어는 아마&amp;nbsp;&#039;음식&#039;일 것이다. LSA는 이론적으로는 선형대수학의 SVD(Sigular Value Decomposition)을 이용한다. SVD를 계산하는 방법에 대해서는 얘기하지 않을 것이다. 시간은 없고, 라이브러리는 많다. &lt;/SPAN&gt;&lt;br /&gt;
&lt;B&gt;&lt;br /&gt;
&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;2. LSA는 SVD를 이용한다.&lt;/SPAN&gt;&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;이제 부터가 진짜다. 다음과 같은&amp;nbsp;단어-by-문서 행렬 A가 있다.(Reference:이 예는 &lt;A title=&quot;[http://book.naver.com/bookdb/book_detail.php?bid=238799]로 이동합니다.&quot; href=&quot;http://book.naver.com/bookdb/book_detail.php?bid=238799&quot; target=_blank&gt;Foundations of Statistical Natural Language Processing&lt;/A&gt;에서 베꼈다.) &lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/14591B194A7B863BA48F06&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile4.uf@14591B194A7B863BA48F06.png&quot; height=&quot;136&quot; width=&quot;416&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;예제 : 단어-by-문서 원래 행렬&lt;/p&gt;&lt;/div&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;SVD는 원래의 단어-by-문서 행렬 A를 3개의 행렬로 분해(Decomposite, SVD의 D)한다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8; MARGIN-LEFT: 4em&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;BIG&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;A&lt;/SPAN&gt;&lt;/BIG&gt;&lt;SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;t×d&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt; = T&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;t×n&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;S&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;n×n&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;(D&lt;/SPAN&gt;&lt;SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;d×n&lt;/SPAN&gt;&lt;/SUB&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;)&lt;/SPAN&gt;&lt;SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;T&lt;/SPAN&gt;&lt;/SUP&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;/SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;여기서 아래첨자 txd는 t행 d열의 행렬이라는 뜻이고. 위첨자 T는 전치행렬(transposed matrix)인데, 원래 행렬의&amp;nbsp;행과 열을 뒤바꿔 놓은 행렬이다.&amp;nbsp;t 는 단어 개수, d는 문서 개수 n은 min(t,d)이다. 행렬 A의 SVD를 (각자 구한 라이브러리를 이용하여)구하면 다음과 같이 3개의 행렬이 얻어진다. &lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/201842164A7B867264B319&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile5.uf@201842164A7B867264B319.png&quot; height=&quot;161&quot; width=&quot;660&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;원래 행렬 A 의 SVD&lt;/p&gt;&lt;/div&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;T는 단어에, D는 문서에 대응되는 행렬이다. 각 단어와 문서는 5차원 공간의 한 점으로 표현되고 있다. 대각행렬 S는 오른쪽 아래로 갈 수록 작은 값을 가지는데 5개의 값은 1~5번째 차원의 Scale로 생각할 수 있다. 더 뒤쪽 차원으로 갈 수록 그 Scale이 낮아진다는 뜻이다.&amp;nbsp;위에서 얘기했듯이 n의 값 5는 t와 d중 작은 값이다. 그런데, SVD는 여기서 n보다 훨씬 작은 k 값을 설정해서 그 이상의 차원은 날려버리는 방법으로 차원 축소를 해버린다. &lt;/SPAN&gt;&lt;br /&gt;
&lt;B&gt;&lt;br /&gt;
&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;3. LSA는 co-occurrence + 차원 축소&lt;/SPAN&gt;&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;B&gt;&lt;/B&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;SVD에 대한 자세한 얘기는 대부분&amp;nbsp;생략했지만, 개념적인 이야기로 한번만 더&amp;nbsp;정리하고 넘어가겠다. 위&amp;nbsp;예 처럼 조그만 예가 아니라 실제 상황에서는 t(단어 개수), d(문서 개수)의 값은 수*만에 이를 것이다. min(t, d)인 n 역시 수*만에 이를 것이다. 만일 t = 100만, d= 500만 이었다면, 원래 행렬 A는 100만 차원 공간에 있는 500만개의 점을 표현하는 행렬이다. SVD를 구하는데 k = 100으로 정한다면, 행렬 A는 다음과 같은 3개의 행렬로 분해된다. &lt;/SPAN&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: rgb(219,232,251) 1px solid; BORDER-LEFT: rgb(219,232,251) 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(219,232,251); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(219,232,251) 1px solid; BORDER-RIGHT: rgb(219,232,251) 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;T : 100차원 공간에 100만개의 단어에 대응되는 점으로 표현&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;D : 100차원 공간에&amp;nbsp;500만개의 문서에 대응되는&amp;nbsp;점으로 표현&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;S : 1 ~ 100번째 차원의 중요도를 나타내는 대각행렬 &lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;위 표현에서 &#039;대응되는 점&#039;이라는 간접적인 표현을 쓴 것은 직접적으로 값을 사용하는 게 아니기 때문에 그렇게 쓴 것이다. 용도에 맞게 행렬을 사용하는 방법은 잠시 후에 얘기하겠다.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;FONT class=Apple-style-span size=3&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 23px; FONT-SIZE: 13px&quot; class=Apple-style-span&gt;&lt;br /&gt;
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;일단, 여기서 D 행렬만 놓고 생각을 해보자. 원래의 공간에서는 500만개의 문서는 100만 차원 공간의 한 점으로 표현되었다. 그런데, 행렬 D에서는 500만개의 문서가 100차원으로 차원 축소된 공간의 한 점으로 &#039;투영된다(projection)&#039;. 축소된 공간으로 투영되는 와중에 비슷한 co-occurrence 패턴을 가지는 문서나 단어는 가까운 위치로 접근을 하게 된다. (무슨 마술 처럼 이야기를 하네-.-;;;) 그래서 LSA의 핵심 개념을 두 가지로 요약하면, &lt;/SPAN&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: rgb(219,232,251) 1px solid; BORDER-LEFT: rgb(219,232,251) 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(219,232,251); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(219,232,251) 1px solid; BORDER-RIGHT: rgb(219,232,251) 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;1.&amp;nbsp;co-occurrence 정보 이용&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;2. 차원 축소 &lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;가 되겠다. &lt;/SPAN&gt;&lt;br /&gt;
&lt;B&gt;&lt;br /&gt;
&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;B&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;4. 활용 - 분해된 행렬의 사용방법&lt;/SPAN&gt;&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;B&gt;&lt;/B&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;그럼, 잠시 미뤄 놓았던 3개의&amp;nbsp;행렬을 사용하는 방법을 말할 차례이다. 위의 예(5 x 6짜리 A행렬)에서 구했던 3개의 행렬을 k = 2로 차원 축소를 하면 3 ~ 5차원은 버려지고, 아래와 같은 차원 축소된&amp;nbsp;조합이 된다. &lt;br /&gt;
&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/204BA9154A7B846DE29CCD&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile22.uf@204BA9154A7B846DE29CCD.png&quot; height=&quot;140&quot; width=&quot;599&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;2차원으로 차원 축소한 SVD&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;3가지 시나리오에서의 이용방법은 다음과 같다. &lt;/SPAN&gt;
&lt;DIV style=&quot;BORDER-BOTTOM: rgb(219,232,251) 1px solid; BORDER-LEFT: rgb(219,232,251) 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: rgb(219,232,251); PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: rgb(219,232,251) 1px solid; BORDER-RIGHT: rgb(219,232,251) 1px solid; PADDING-TOP: 10px&quot; class=txc-textbox&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;1. 단어 - 단어간의 유사도 T X S 행렬의 row 간의 유사도로 계산한다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;2. 문서 - 문서 S X D&lt;/SPAN&gt;&lt;SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;T&lt;/SPAN&gt;&lt;/SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt; 행렬의 colum 간의 유사도로 계산한다.&lt;/SPAN&gt;&lt;br /&gt;
&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;3. 단어 - 문서 TSD&lt;/SPAN&gt;&lt;SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;T&lt;/SPAN&gt;&lt;/SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;의 각 요소가 단어와 문서간의 유사도이다. &lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;제일 만만한 2번 시나리오, 문서-문서간의 유사도를 어떻게 계산하는지만 예를 들어 보겠다. 위 그림에서 S X D&lt;/SPAN&gt;&lt;SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;T&lt;/SPAN&gt;&lt;/SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt; 행렬을 구해보면 다음과 같다. &lt;br /&gt;
&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/13711A174A7B86B4A194A0&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile25.uf@13711A174A7B86B4A194A0.png&quot; height=&quot;89&quot; width=&quot;363&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;S X DT 행렬&lt;/p&gt;&lt;/div&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;결과적으로&amp;nbsp;D&lt;/SPAN&gt;&lt;SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;T&lt;/SPAN&gt;&lt;/SUP&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt; 행렬을 S행렬에 의해 re-scaling한 행렬이다. 암튼 문서1과 문서2의 유사도는 위 행렬의 1번째 컬럼과 2번째 컬럼의 cosine 유사도를 구하면 된다. 그렇다면, 모든 문서 쌍에 대해서 문서-by-문서간의 coine 유사도를 계산할 수 있다. 그 결과를 표로 그리면 다음과 같다. &lt;br /&gt;
&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile1.uf.tistory.com/image/1911F7174A7B870C01F2EB&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;cfile1.uf@1911F7174A7B870C01F2EB.png&quot; height=&quot;171&quot; width=&quot;407&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;문서-문서 간의 유사도&lt;/p&gt;&lt;/div&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;1.00은 자기 자신과 비교한 것이니까 빼고, 문서4-문서5가 가장 가까운 문서로, 문서3-문서6이 가장 먼 문서로 판명되었다. 맨위에 나온 행렬 A 그림에서 원래 문서를 찾아보면 이해가 될 것이다. 그런데, 여기서 문서2-문서3의 비교 결과가 흥미롭다. 원래 행렬 A에서 보면 두 문서는 공유하는 단어가 하나도 없다. 하지만 이 표에서는 유사도가 0.88로 매우 높게 나온다. 이게 다 co-occurrence와 차원 축소를 이용한 LSA의 결과이다.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;LINE-HEIGHT: 1.8&quot;&gt;&lt;FONT class=Apple-style-span size=3&gt;&lt;SPAN style=&quot;LINE-HEIGHT: 23px; FONT-SIZE: 13px&quot; class=Apple-style-span&gt;&lt;br /&gt;
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;휴~ 여기까지. 누군가는 처음부터 끝까지 읽었으면 하는 마음에 내용을 줄이다 줄이다 보니 너무 많은 부분이 빠졌다. 특히, SVD에 의한 차원 축소에 대한 부분은 거의 한강을 건너 뛰는 수준이다.&amp;nbsp;이 부분에 대한 설명은 위 예제를 베껴온 &lt;A title=&quot;[http://book.naver.com/bookdb/book_detail.php?bid=238799]로 이동합니다.&quot; href=&quot;http://book.naver.com/bookdb/book_detail.php?bid=238799&quot; target=_blank&gt;Foundataions of Statistical Natural Language Processing&lt;/A&gt; 책에 정말 잘 나와있다. 아... 이런 말로 마무리를 하게 되다니. 아뭏든 여기까지 읽어준 분이 있다면, 감사합니다.&lt;br /&gt;
&lt;/SPAN&gt;&lt;/DIV&gt;</description>
			<category>if (IR or NLP)</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/28</guid>
			<comments>http://blog.sragent.pe.kr/entry/Latent-Semantic-AnalysisLSA#entry28comment</comments>
			<pubDate>Wed, 05 Aug 2009 19:20:11 +0900</pubDate>
		</item>
		<item>
			<title>c++로 라이브러리를 개발할 때 전방선언(forward declaration) 사용하기</title>
			<link>http://blog.sragent.pe.kr/entry/c-%EB%A1%9C-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EB%A5%BC-%EA%B0%9C%EB%B0%9C%ED%95%A0-%EB%95%8C-%EC%A0%84%EB%B0%A9%EC%84%A0%EC%96%B8forward-declaration-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0</link>
			<description>&lt;span style=&quot;font-size: 10pt;&quot;&gt;c++로 라이브러리를 개발하다가 다음과 같은 소스가 나오게 되었다.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(219, 232, 251); padding: 10px; background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;//apis.h&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt; color: rgb(227, 22, 0);&quot;&gt;#include &quot;A.h&quot;&lt;/span&gt;&lt;br style=&quot;color: rgb(227, 22, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(227, 22, 0);&quot;&gt;#include &quot;B.h&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;class Apis {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;public:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void publicMethod1();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void publicMethod2();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;private:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void privateMethod1(&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;A a&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void privateMethod2(&lt;span style=&quot;color: rgb(227, 22, 0);&quot;&gt;B b&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;};&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;//apis.h 끝&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;//라이브러리 사용하는 코드&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;#include &quot;apis.h&quot;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Apis apis;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;apis.publicMethod1();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;apis.publicMethod2();&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;
라이브러리는 개발이 다 끝나고 사용자에게는 컴파일된 라이브러리 파일 하나와 API 정의를 담고 있는 헤더파일만 전달되는 것이 정상이다. 위 소스에서 말하고 있듯이 라이브러리 내부적으로 무슨 로직을 지지고 볶든지 간에 라이브러리를 사용자가 선언하는 클래스는 Apis라는 클래스 한개이고, 호출하는 메소드는 publicMethod1, publicMethod2 딱 두개 뿐이다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;그런데, apis.h를 include하기 위해서는 반갑지 않은 떨거지들이 따라오게 되는데, A.h와 B.h가 그것들이다.&lt;br /&gt;
&lt;br /&gt;결국 헤더 파일 두개가 추가로 라이브러리에 포함되어야만 하는 사태다. 근데, 어디 그뿐인가. 만약 A.h와 B.h가 다른 헤더파일을 include하고 있다면? 그것도 같이 들어가야 하네? 그러다가 결국 모든 헤더파일을 다같이 실어 올려야 하는 볼썽 사나운 일이 생기게 된다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이럴 때는 전방선언(forward declaration)을 사용해야 한다.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(254, 222, 199); padding: 10px; background-color: rgb(254, 222, 199);&quot; class=&quot;txc-textbox&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;//apis.h&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;//이제 A.h와 B.h를 include할 필요없다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;//전방 선언(forward declaration)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt; color: rgb(227, 22, 0);&quot;&gt;class A;&lt;/span&gt;&lt;br style=&quot;color: rgb(227, 22, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(227, 22, 0);&quot;&gt;class B;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;class Apis {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;public:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void publicMethod1();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void publicMethod2();&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;private:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void privateMethod1(A a);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void privateMethod2(B b);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;};&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;//apis.h 끝&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;//apis.cpp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;//대신 cpp에서 include해야 한다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;#include &quot;A.h&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;#include &quot;B.h&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;...&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;A.h와 B.h를 apis.h가 아닌 apis.cpp에 include함으로써, 공개되는 라이브러리에는 빠져도 상관이 없게 된다.&lt;/span&gt;&lt;br /&gt;</description>
			<category>else if (개발)</category>
			<category>C++</category>
			<category>forward declaration</category>
			<category>전방선언</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/27</guid>
			<comments>http://blog.sragent.pe.kr/entry/c-%EB%A1%9C-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EB%A5%BC-%EA%B0%9C%EB%B0%9C%ED%95%A0-%EB%95%8C-%EC%A0%84%EB%B0%A9%EC%84%A0%EC%96%B8forward-declaration-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0#entry27comment</comments>
			<pubDate>Mon, 11 May 2009 00:37:29 +0900</pubDate>
		</item>
		<item>
			<title>k-means++ : k-means에서 초기 center를 잘 선정하는 방법</title>
			<link>http://blog.sragent.pe.kr/entry/k-means-%EC%86%8C%EA%B0%9C-k-means%EC%97%90%EC%84%9C-%EC%B4%88%EA%B8%B0-center%EB%A5%BC-%EC%9E%98-%EC%84%A0%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95</link>
			<description>&lt;a title=&quot;[http://blog.sragent.pe.kr/entry/k-means-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%98%81%ED%99%94-%EB%B0%B0%EC%9A%B0-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81#k-means]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://blog.sragent.pe.kr/entry/k-means-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%98%81%ED%99%94-%EB%B0%B0%EC%9A%B0-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81#k-means&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;k-means알고리즘&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;은 맨 처음 k개의 center를 잘못 정하면 엉뚱한 결과가 생길 수 있다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
예를 들면, 다음 그림과 같은 경우이다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/2058310C49F3205A03ED68&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;kmeanspp1.png&quot; height=&quot;86&quot; width=&quot;292&quot;/&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;k=3 일때, 파란색 세개의 클러스터로 묶이는 것이 올바른 결과다. 하지만, 잘못 해서(또는 재수가 없어서) 두번째 열의 인스턴스 세개를 초기 center로 잡고 k-means 알고리즘을 돌리면 엉뚱하게도 빨간색 묶음으로 클러스터링되는 난감한 결과가 생기고 만다. 이게 2차원으로 시각화 되어서 그렇지, 실제 상황에서는 눈에도 잘 안뜨일 듯.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
그래서, 이제 갖가지 초기 center 정하는 방법들이 등장하게 된다. 창시자들이 저렇게 빈틈을 남겨주어야 후배 연구자들이 먹구 살 거리가 생기게 된다. 암튼, 개선안 중에 하나가 그럼 되도록 center간의 간격을 멀게 멀게 만들자는 것이다. 위의 예를 계속 이용하면 아마 이렇게 될 것이다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/1456BF0C49F324A5E8974A&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;kmeanspp2.png&quot; height=&quot;92&quot; width=&quot;289&quot;/&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
1 ~ 3이 초기 center로 선정된 instance들이다. 1번은 랜덤으로 선정된 것이고, 2번은 1번으로 부터 제일 먼 것, 3번은 1번, 2번으로 부터 가장 먼 것으로 선정된다. 이렇게 선정한 세개의 center를 가지고 클러스터링을 하면 창시자의 부족함을 매꾸며 성공적인 클러스터링을 달성함과 동시에 후배들에게 또다시 TODO list를 남겨준다. 즉, 이 방법 또한 큰 약점을 가지고 있는데, Outlier라는 넘을 만나면 여지 없이 무너지는 수가 있다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/197BDD0B49F32746CEDBE2&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;kmeanspp3.png&quot; height=&quot;53&quot; width=&quot;256&quot;/&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이 번에는 k=2인 경우인데 되도록 먼 인스턴스를 선택 하다보니 맨 오른쪽 독도 같은 outlier가 초기 center로 선정되었다. 이러고 k-means를 돌리면, 7:1의 클러스터링이 탄생할 것이다.&lt;/span&gt; outlier말고, 가운데 3개 중에 하나가 선택되면 좋을 텐데 말이다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이래서 등장한 것이 k-means++. k-means++는 다음 순서대로 하나씩 하나씩 1번 부터 k번째 center까지 정한다. 이게 개념은 참 간단한데, 글로 표현하는 것이 쉽지가 않다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&lt;/span&gt;&lt;div style=&quot;border: 1px solid rgb(219, 232, 251); padding: 10px; background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;1. 1 번째 center는 랜덤으로 정한다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
2. for i = 2 ~ k&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 모든 인스턴스 x마다 아래의 확률을 부여한다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; p(x) = D(x)&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;/&lt;/span&gt;&lt;big&gt;&lt;big&gt;Σ&lt;/big&gt;&lt;/big&gt;&lt;sub&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;x&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&#039;&lt;/span&gt;&lt;/sup&gt;&lt;/sub&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D(x&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&#039;&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;)&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [x&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&#039;&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;는 인스턴스집합 X의 원소들]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 여기서 D(x)는 x에서 지금까지의 center중 제일 가까운 center와의 거리를 뜻한다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 그러면, 모든 인스턴스에 확률이 부여된 이 상태에서 i 번째 center를 &#039;random으로 찍는다&#039;.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 높은 확률이 부여되어 있다는 것은 i번째 center로 선정될 가능성이 높다는 뜻이다.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D(x)의 뜻이 핵심이다. center를 한개 한개 만들어 가는데, 지금까지 만들어진 center중에 제일 가까운 center와의 거리.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
위 식의 분모는 모든 인스턴스 x의 D(x)&lt;sup&gt;2&lt;/sup&gt;의 합이니까. 모든 x에 대해서 같고, 결국 분자인 D(x)&lt;sup&gt;2&lt;/sup&gt;이 큰 게 확률이 높다. 그러면 결국 D(x)가 클수록 확률이 높다. 이 얘기는 지금까지 만들어진 center들과 멀 수록 확률이 높다는 건데, 그럼 결국 먼거를 찍는다는 얘기?? 그럼, 저 위에 거랑 똑같다? 그럴리가.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
중요한 건, 확률을 저렇게 정해놓고, 랜덤으로 찍는다는 것이다. 그러니까, 거리가 먼 outlier는 물론 확률은 높다. 하지만, 거리가 가장 먼 놈을 무조건 선정하지는 않는다는 것이다. 무조건 먼거로 결정할 거면 그냥 D(x)만 구하지, 굳이 D(x)&lt;sup&gt;2&lt;/sup&gt; 나누기 D(x&lt;sup&gt;&#039;&lt;/sup&gt;)&lt;sup&gt;2&lt;/sup&gt;의 합을 굳이 구하지는 않았겠지. 그림을 보면,&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/2073FD1C49F3F593C3C91D&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;kmeanspp4.png&quot; height=&quot;106&quot; width=&quot;243&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;파란색이 1번째 center이고, 이제 2번째 center를 선정하려고 한다. 숫자는 인스턴스 마다 지금까지 center 중(지금은 파란 인스턴스 하나뿐) 제일 가까운 것과의 거리인 D(x)이다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이제 인스턴스마다 확률을 부여해야 하는데, 분모 먼저 구하면 모든 D(x)&lt;sup&gt;2&lt;/sup&gt;의 합이니까 1&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;+5&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;+5&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;+5&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;+8&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;=140 이다. 그러면, 제일 가까운 인스턴스의 확률은 1/140, 빨간색 애들은 각각 25/140, 제일 먼 애는 64/140 의 확률을 받는다. 이런 확률를 놓고 랜덤으로 찍는다. 제일 먼 인스턴스의 확률(64/140)이 가장 높지만, 세개의 빨간 인스턴스 중의 하나가 될 확률(3 * 25/140)이 더 높다. 먼 것도 유리하지만, 몰려있는 것중 하나가 될 확률도 높다. 2제곱이라는 숫자는 거리를 확률에 반영하는 정도를 결정하는 factor라고 생각하면 되겠다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
요약 정리 : k-means++는 확률 기반으로, &lt;br /&gt;
1. center가 밀집되지 않게&lt;br /&gt;
2. outlier는 되도록 피하면서&lt;br /&gt;
k개의 초기 center를 선정하는 방법이다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
참고 :&lt;/span&gt;&lt;br /&gt;
&lt;a title=&quot;[http://www.stanford.edu/~darthur/kMeansPlusPlus.pdf]로 이동합니다.&quot; target=&quot;_self&quot; href=&quot;http://www.stanford.edu/%7Edarthur/kMeansPlusPlus.pdf&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;k-means++: The Advantages of Careful Seeding(David Arthur et al. 2007)&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a title=&quot;[http://theory.stanford.edu/~sergei/slides/BATS-Means.pdf]로 이동합니다.&quot; target=&quot;_self&quot; href=&quot;http://theory.stanford.edu/%7Esergei/slides/BATS-Means.pdf&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;slides&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;</description>
			<category>if (IR or NLP)</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/26</guid>
			<comments>http://blog.sragent.pe.kr/entry/k-means-%EC%86%8C%EA%B0%9C-k-means%EC%97%90%EC%84%9C-%EC%B4%88%EA%B8%B0-center%EB%A5%BC-%EC%9E%98-%EC%84%A0%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95#entry26comment</comments>
			<pubDate>Sun, 26 Apr 2009 01:26:47 +0900</pubDate>
		</item>
		<item>
			<title>한자어가 우리말을 얼마나 애매 모호하게 만드는지 알아봤습니다.</title>
			<link>http://blog.sragent.pe.kr/entry/%ED%95%9C%EC%9E%90%EC%96%B4%EA%B0%80-%ED%95%9C%EA%B5%AD%EC%96%B4%EC%97%90%EC%84%9C-%EC%B0%A8%EC%A7%80%ED%95%98%EB%8A%94-%EB%B9%84%EC%A4%91</link>
			<description>&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;한국어 언어 처리나 검색 엔진 튜닝을 하다 보면 &#039;한자어&#039; 때문에 발생하는 중의성이 정말 많습니다.&lt;/SPAN&gt; 
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;문제의 시작은 이렇습니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class=txc-textbox style=&quot;BORDER-RIGHT: rgb(219,232,251) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(219,232,251) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: rgb(219,232,251) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(219,232,251) 1px solid; BACKGROUND-COLOR: rgb(219,232,251)&quot;&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;家 : 집 가&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;價 : 값 가&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;可 : 옳을 가&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;加 : 더할 가&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;假 : 거짓 가&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;... (이하 24개 생략)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;-----&amp;gt; 한글로 쓰면 모두 &#039;가&#039;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&#039;가&#039;가 너무 극단적인가 하면 그렇지도 않습니다. &#039;사&#039;는 60개 입니다. 키보드로 &#039;사&#039; 치고 한자키 눌러 보면 알 수 있습니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;상황이 이러하니, 어떤 단어가 &#039;***가***&#039; 이렇게 생겼다면 &#039;가&#039; 부분에서 29개의 의미적 중의성이 발생합니다.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;좀더 자세히 알아보려고 간단한 프로그램을 만들어 돌려봤습니다. 얘기 더 나가기 전에 용어 정리 한번 하는게 좋을 듯 합니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class=txc-textbox style=&quot;BORDER-RIGHT: rgb(219,232,251) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(219,232,251) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: rgb(219,232,251) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(219,232,251) 1px solid; BACKGROUND-COLOR: rgb(219,232,251)&quot;&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;한자 : &#039;家&#039;, &#039;羅&#039; 이런 것들&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;한자 독음 : 한자를 한글로 읽은 것. &#039;가&#039;, &#039;나&#039;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;한자어 : &#039;한국&#039;, &#039;남자&#039;, &#039;여자&#039; 처럼 한자 단어를 한글로 쓴것&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style=&quot;FONT-SIZE: 13px; LINE-HEIGHT: 19px&quot;&gt;이게 표준 용어 인지는 잘 모르고 제가 이렇게 쓰겠다는 겁니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;먼저, 우리가 자주 쓰이는 한자를 어떻게 모을까... 궁리하다가 &lt;/SPAN&gt;&lt;A title=&quot;[http://deungdae.hihome.com/chunjamun.htm]로 이동합니다.&quot; href=&quot;http://deungdae.hihome.com/chunjamun.htm&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&#039;천자문&#039;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;을 긁었습니다. 그리고, 1000개의 한자에 대해서 한자 독음으로 치환해 보아봤습니다. 한자 독음 변환은&amp;nbsp;&lt;/SPAN&gt;&lt;A title=&quot;[http://www.kristalinfo.com/K-Lab/unicode/Hanja2Hangul-kr.html]로 이동합니다.&quot; href=&quot;http://www.kristalinfo.com/K-Lab/unicode/Hanja2Hangul-kr.html&quot; target=_blank&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;여기&lt;/SPAN&gt;&lt;/A&gt;를 참고하면 됩니다.&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;천자문 한자를 독음한 결과는&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class=txc-textbox style=&quot;BORDER-RIGHT: rgb(219,232,251) 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: rgb(219,232,251) 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: rgb(219,232,251) 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: rgb(219,232,251) 1px solid; BACKGROUND-COLOR: rgb(219,232,251)&quot;&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;사 : 20개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;조 : 16개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;상 : 15개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;수 : 15개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;기 : 14개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;이 : 12개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;경 : 12개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;...(생략)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;체 : 1개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;첨 : 1개 한자&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;농 : 1개 한자&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN class=Apple-style-span style=&quot;FONT-SIZE: 13px; LINE-HEIGHT: 19px&quot;&gt;이렇게 321개의 한글 음절로 읽히고 있었습니다. 그러니까, 321개의 한글 음절은 평균적으로 3.12개(=1000/321)의 중의성을 가지고 있습니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;그런데, 더욱 난감한 것은 이런 한자어 음절이 차지하는 비율입니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;약 85,000개의 블로그 포스트에 대해서 프로그램을 돌려봤더니 한글 음절이&amp;nbsp;38,137,237번 출현했고 글자 개수는 3,019개 였고,&amp;nbsp;이 중에 천자문 한글 독음 321글자는&amp;nbsp;25,513,041번 출현으로 전체의 67%에 이르렀습니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;그러니까, 11%(321/3019)의 한자 독음 음절이 전체 음절의 67%를 차지하고 있다는 말입니다. 헉스!&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;한글로 된 문장을 읽으면서 3분의 2의 글자 글자 마다 3~4개의 한자중 어떤 의미에 해당하는지, 우리는 갈등하고 있다 이것이죠.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;3~4개 뿐만이 아닙니다. &#039;가&#039;, &#039;이&#039;, &#039;을&#039; 이런 글자는 한자어 외에 순우리말 조사로도 쓰이니까, 중의성은 더 늘어납니다. 게다가, &#039;사&#039;, &#039;조&#039;, &#039;상&#039; 이렇게 뜻이 여러개인 글자는 문장에 더 많이 나오겠죠.&lt;br /&gt;
&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;br /&gt;
한글자 짜리 한자 독음이 그렇다는 것이고, 단어로 가면 좀더 중의성을 체감할 수가 있습니다. 우리나라의 지역 이름은 거의 대부분 두글자짜리 한자어인데요. 중의성을 띄는 지역 이름이 부지기수입니다.&lt;br /&gt;
서울, 대전, 대구, 부산 부터 봐도, 서울 빼고는 모두 다른 뜻이 있는 단어들입니다. 수도권을&amp;nbsp;둘러 보면, 양주, 구리, 오산, 이천(숫자 이천말입니다.) 등등이 있구요. 강남역에 가면 택시 기사 아저씨들이 이렇게 외칩니다.&lt;br /&gt;
&quot;분당 만원!&quot;&lt;br /&gt;
10분만&amp;nbsp;가도 10만원입니다.&lt;br /&gt;
&lt;br /&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;이렇게 된 이유는, 한자를 한글로 표기하는 과정에서 발음이 특정 음절로 수렴되는 현상이 일어난 것입니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;중국어에는 한국어에는 없는 발음들이 존재합니다. 그 반대의 경우도 물론 있겠지요. 없는 발음도 한글로 표기를 해야 하니 수렴이 현상이 일어나게 됩니다. 영어 &#039;r&#039;발음과 &#039;l&#039;발음이 모두 &#039;ㄹ&#039;로 표기되는 것과 마찬가집니다.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;그리고, 중국어에는 성조도 있습니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;또, 훈민정음 이래로, 아니 그 이전부터 한자 1개에 독음 1음절이 지켜지고 있는데, 원래 중국어는 안 그렇거든요. 예를 들어, &#039;愛&#039;라는 글자의 한글 독음은 &#039;애&#039;입니다. 그런데 중국어로는 &#039;아이&#039;라고 읽습니다. 두 음절로 읽히는 글자들까지 한 음절로 읽으려고 하니까 독음에 수렴현상이 일어나게 됩니다.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;이런 문제의 맥락에서 한자, 한글 병기를 주장하는 사람들이 있었던 것이겠죠. 모든 일간지에서 한글 전용이 채택된 지가 얼마 안되었구요, 중의성이 절대 허락 안되는 법전에서는 아직도 한자가 병기되고 있습니다. 저는 한자, 한글 병기로 돌아가자는 쪽은 절대 아닙니다. 그 보다는 될 수 있으면, 한자어 대신 순우리말을 쓰자는 쪽입니다. 그러니까,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt&quot;&gt;&#039;출입문개방요망&#039; 이렇게 쓰지 말고, &#039;문을 열어놔 주세요&#039; 이렇게 쓰자는 말입니다. 사용하지 말고 쓰자는 말입니다.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
			<category>if (IR or NLP)</category>
			<category>한자어</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/25</guid>
			<comments>http://blog.sragent.pe.kr/entry/%ED%95%9C%EC%9E%90%EC%96%B4%EA%B0%80-%ED%95%9C%EA%B5%AD%EC%96%B4%EC%97%90%EC%84%9C-%EC%B0%A8%EC%A7%80%ED%95%98%EB%8A%94-%EB%B9%84%EC%A4%91#entry25comment</comments>
			<pubDate>Fri, 03 Apr 2009 16:54:27 +0900</pubDate>
		</item>
		<item>
			<title>K-means 알고리즘을 이용한 영화 배우 클러스터링</title>
			<link>http://blog.sragent.pe.kr/entry/k-means-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%98%81%ED%99%94-%EB%B0%B0%EC%9A%B0-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81</link>
			<description>&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;k-means 알고리즘을 이용해서 영화 배우 이름을 클러스터링 하는 실험을 해보았습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;단어가 문서에 출현하는 횟수를 다음과 같은 테이블로 표현할 수 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;table style=&quot;display: inline; border-collapse: collapse&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/13114F0B49B7FB72012024&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;1.png&quot; height=&quot;99&quot; width=&quot;486&quot;/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;각각의 열을 하나의 문서 벡터로 표현할 수 있는 것과 마찬가지로, 각각의 행은 하나의 &#039;단어(텀) 벡터&#039;로 표현할 수 있습니다. 즉,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; 아래와 같은 모습입니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style=&quot;border: 1px solid rgb(238, 238, 238); padding: 10px; background-color: rgb(238, 238, 238);&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;A &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;= &amp;lt;1, 3, 0, 0, 0&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;B&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; = &amp;lt;0, 0, 0, 1, 2&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;C = &amp;lt;2, 1, 0, 0, 3&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;D = &amp;lt;0, 0, 3, 0, 0&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이처럼 각각의 단어를 벡터로 표현할 수 있습니다.&lt;br /&gt;
또한, 이렇게 구한 벡터끼리 유사도(Similarity)를 구하면 두 단어가 얼마나 가까운 단어인지 계산할 수 있습니다. 위의 예를 보면 A와 B는 멀고, C는 A, B 양쪽에 모두 가깝다는 것을 알 수가 있습니다. 이런 벡터 표현을 이용하면, 문서를 클러스터링 하는 것과 똑같은 방법으로 단어를 클러스터링 할 수도 있습니다. 단어 클러스터링은 관련 검색어나, 토픽맵, 관련 문서 찾기 등 다양한 의미 기반 응용프로그램에 이용될 수 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&quot;k-means&quot; id=&quot;k-means&quot;&gt;&lt;/a&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;K-means 알고리즘&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
저는 K-means 알고리즘을 이용해서 단어 클러스터링을 테스트해 보았습니다. 아래는 K-means 알고리즘에 대한 간략한 소개입니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;div style=&quot;border: 1px solid rgb(238, 238, 238); padding: 10px; background-color: rgb(238, 238, 238);&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;1. 적당한 클러스터 개수 K를 선정한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2. 각 클러스터 마다 초기 중심 벡터(centroid)를 선택한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;3. 각 instance를 각 클러스터의 중심벡터와 비교하여 가장 가까운 클러스터로 할당한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;4. 각 클러스터에 할당된 instance들의 평균을 계산하여 클러스터마다 새로운 중심벡터를 구한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;5. 3, 4를 반복하면 클러스터링이 진행된다. 인스턴스가 새로운 클러스터로 이동하는 일이 없어지면 iteration을 중단한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
이 알고리즘에는 &lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;K&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;의 선택, 초기 centroid의 선정, iteration 중단 조건, 유사도 계산 방법 등 몇가지 이슈가 있지만, 이 포스팅에서는 다루지 않겠습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;클러스터링 실행&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
85,771개의 최근 블로그 포스트에 등장한 영화배우 이름 1005개를 이용해서 클러스터링을 실행해 보았습니다. 영화배우 이름 목록은 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a title=&quot;[http://dir.naver.com/People/Actor/Korean_Actor/]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://dir.naver.com/People/Actor/Korean_Actor/&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;여기&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;서 구했습니다. 영화 배우 벡터는 다음과 같이 표현됩니다. 0인 부분은 생략하고, 대신 &amp;lt;문서번호:출현횟수&amp;gt; 방식으로 표현했습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;div style=&quot;border: 1px solid rgb(238, 238, 238); padding: 10px; background-color: rgb(238, 238, 238);&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;박주미&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; = &amp;lt;8746:1, 55731:1&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;문근영&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; = &amp;lt;220:1, 803:3, 3016:1, 3954:1, 6033:3, 8124:1, 8837:5, 9184:1, 9770:1, 13362:1, 15403:1, 16514:2, 16517:1, 18811:1, 20047:1, 29290:1, 33458:1, 36278:1, 36694:1, 41038:1, 41066:2, 42945:5, 42946:1, 42949:4, 43094:1, 44280:1, 49120:3, 53376:1, 53377:4, 580&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21:2, 58027:2, 60246:4, 60431:7, 61896:1, 63994:2, 64110:2, 65770:5, 68207:3, 72367:2, 74112:3, 74474:5, 76494:6, 76495:10, 76496:8, 76497:10, 81073:10&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;배두나&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; = &amp;lt;8320:1, 13707:1, 55315:1, 63738:1.0&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이연희&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; = &amp;lt;707:2, 2155:1, 7680:2, 10572:2, 18510:1, 18806:1, 22324:1, 22329:1, 22331:1, 30836:1, 33760:2, 38076:2, 39504:4, 45111:3, 46030:1, 53222:1, 55306:1, 55731:1, 65607:2, 66649:1, 68665:2, 70244:1, 70251:1, 75375:1, 80136:1, 84844:1&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;
클러스터 개수 K는 그냥 별다른 고민없이 50으로 정했고, cosine 유사도를 이용했습니다. 실행결과 흥미있는 클러스터를 몇개 골라봤습니다. &amp;lt;center&amp;gt; 표시는 클러스터의 중심벡터와 가장 가까운 배우 이름입니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(238, 238, 238); padding: 10px; background-color: rgb(238, 238, 238);&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;CLUSTER-9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; : [강성연, 김민선, 김영호, 김정태, 김태연, 문성근, 박지영, 유지태, 전세홍, 최규환, 추자현&amp;lt;center&amp;gt;, 현정은]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이 클러스터는 &#039;미인도&#039;와 3월말 개봉 예정인 &#039;실종&#039;이라는 영화의 배우들이 몰려있습니다. 김민선, 김영호, 추자현, 최규환 등이 &#039;미인도&#039; 출연진이고 문성근, 추자현, 전세홍은 &#039;실종&#039; 출연 배우들입니다. 추자현 덕분에 문성근과 김영호가 같은 클러스터에 묶이게 되었습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;CLUSTER-12&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; : [강병규, 김수미, 김태진, 김흥기, 배도환, 유인촌, 이계인, 이순재, 이준기&amp;lt;center&amp;gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이 클러스터의 주류는 &#039;전원일기&#039; 출연진입니다. 김수미, 김태진, 유인촌, 이계인이 전원일기 출연진입니다. 이계인이 노마아빠고, 김태진이 노마라고 합니다. 그런데, 이런. 최불암 회장님이 빠졌네요. 이준기가 이계인과 일지매에 출연한 인연으로 묶였고, 강병규는 유인촌하고 베이징 올림픽 응원하러 간 인연으로 엮였습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;CLUSTER-41&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; : [김래원, 박진희, 백도빈&amp;lt;center&amp;gt;, 백윤식, 엄정화, 엄태웅, 유건, 정시아]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
정시아가 백윤식의 아들 백도빈하고 결혼을 했는데, 유건이 사회를 봤다고 합니다. 김래원은 엄태웅의 누나 엄정화하고 인사동 스캔들을 찍고 있다고 합니다. 두 그룹은 별 관계가 없는데, 연애 소식 관련 모둠 글에서 하나로 엮였습니다. 문서수가 작으니 이런 문제가 생기는군요.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;CLUSTER-42&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; : [구혜선&amp;lt;center&amp;gt;, 김소은, 김현주, 김형준, 김혜성, 민지, 윤지후, 이민정, 이민호, 이시영, 장태성, 정의철]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
꽃남 클러스터가 나왔습니다. 배우 윤지후가 등장인물 윤지후로 묶여 버렸습니다. F4가 다 들어갔는지는 제가 드라마를 안봐서 잘 모르겠습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;아무래도 클러스터링을 하기에는 문서수가 적었습니다. 문서수가 적은 이유는 성능 후진 단일 머신에서 돌렸기 때문입니다. 그러다 보니, 최불암, 김혜자 회장님이 내외분이 전원일기 클러스터에 안 묶이고, 부부인데 떨어진 경우도 많았습니다. 아, 물론 옥소리와 박철은 같은 클러스터에 묶이더군요. 전체 결과를 파일로 첨부해 놓았습니다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://sragent.tistory.com/attachment/cfile1.uf@14682E1749B92572C08C3D.txt&quot;&gt;&lt;img src=&quot;http://cfs.tistory.com/blog/image/extension/txt.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; clusters.txt&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&amp;nbsp;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;</description>
			<category>if (IR or NLP)</category>
			<category>k-means</category>
			<category>클러스터링</category>
			<category>텀클러스터링</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/24</guid>
			<comments>http://blog.sragent.pe.kr/entry/k-means-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%98%81%ED%99%94-%EB%B0%B0%EC%9A%B0-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81#entry24comment</comments>
			<pubDate>Wed, 11 Mar 2009 22:45:52 +0900</pubDate>
		</item>
		<item>
			<title>중앙일보의 네이밍 센스</title>
			<link>http://blog.sragent.pe.kr/entry/%EC%A4%91%EC%95%99%EC%9D%BC%EB%B3%B4%EC%9D%98-%EB%84%A4%EC%9D%B4%EB%B0%8D-%EC%84%BC%EC%8A%A4</link>
			<description>&lt;table style=&quot;display: inline; border-collapse: collapse&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://cfile22.uf.tistory.com/image/1406960E49B71AF636AABF&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;1.png&quot; height=&quot;174&quot; width=&quot;465&quot;/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
어디서 2등인지는 중요하지 않은 중앙일보의 네이밍 센스 짱이네요.&lt;br /&gt;</description>
			<category>else</category>
			<category>네이밍</category>
			<category>언론 조롱</category>
			<category>중앙일보</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/23</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EC%A4%91%EC%95%99%EC%9D%BC%EB%B3%B4%EC%9D%98-%EB%84%A4%EC%9D%B4%EB%B0%8D-%EC%84%BC%EC%8A%A4#entry23comment</comments>
			<pubDate>Wed, 11 Mar 2009 11:00:24 +0900</pubDate>
		</item>
		<item>
			<title>한나라당이 사형집행을 공식촉구 했다고 하네요.</title>
			<link>http://blog.sragent.pe.kr/entry/%ED%95%9C%EB%82%98%EB%9D%BC%EB%8B%B9%EC%9D%B4-%EC%82%AC%ED%98%95%EC%A7%91%ED%96%89%EC%9D%84-%EA%B3%B5%EC%8B%9D%EC%B4%89%EA%B5%AC-%ED%96%88%EB%8B%A4%EA%B3%A0-%ED%95%98%EB%84%A4%EC%9A%94</link>
			<description>&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;어쩌면 58명의 사형수가 한꺼번에 교수형에 처해지는 뉴스를 보게될 수도 있겠군요.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
무섭습니다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
뉴스쯤이야 시간이 지나면 잊혀지겠지만 저 뉴스를 보면서&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&#039;속 시원하다! 거참 잘 죽였다!&#039;고 생각하는&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; 사람들과 함께 살아야 한다는 사실이 정말 무섭습니다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
내 아이들도 그 사람들과 함께 살아가고, 아니 어쩌면 그 사람들처럼 되어져 갈 것이라는 것도 정말 정말 무섭습니다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;
p.s. 무기징역은 안 무섭고 사형은 무서워서 연쇄 살인이 줄어든다는 거 아무리 생각해도 말이 안됩니다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description>
			<category>else</category>
			<category>사형제</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/20</guid>
			<comments>http://blog.sragent.pe.kr/entry/%ED%95%9C%EB%82%98%EB%9D%BC%EB%8B%B9%EC%9D%B4-%EC%82%AC%ED%98%95%EC%A7%91%ED%96%89%EC%9D%84-%EA%B3%B5%EC%8B%9D%EC%B4%89%EA%B5%AC-%ED%96%88%EB%8B%A4%EA%B3%A0-%ED%95%98%EB%84%A4%EC%9A%94#entry20comment</comments>
			<pubDate>Thu, 12 Feb 2009 23:06:17 +0900</pubDate>
		</item>
		<item>
			<title>지하철 실수담</title>
			<link>http://blog.sragent.pe.kr/entry/%EC%A7%80%ED%95%98%EC%B2%A0-%EC%8B%A4%EC%88%98%EB%8B%B4</link>
			<description>&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;그저께 제가 실제로 겪은, 아니 저지른 실화입니다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;﻿&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;이날 탄 지하철이 사람이 저어엉말로 많았습니다. 지하철 승차 개인 역사상 손에 꼽힐 만큼 사람이 많았습니다. 이건 뭐 자포 자기가 되어 상체와 하체가 따로 놀아버리는 그런 상황 있잖습니까.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;내리실 문이 오른쪽과 왼쪽이 번갈아 반복되면서 열차안이 심하게 요동치고, 출입문 주변을 간신히 피해 이리 저리 부유하다가&amp;nbsp; 안쪽 좌석 앞에 자리를 잡고 서있게 되었습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;이 때 자세가 이랬습니다. 뒤쪽에서 압박이 너무 심해 제 다리는 앞자리에 앉은 젊은 남자의 무릎과 무릎 사이에 심하게 밀착이 되었고, 상체 역시 뒤에서 밀려서... 왜 상체가 밀리면 위에 달린 손잡이를 잡지 못하고 상체가 앞으로 구부러지면서 선반의 가로 막대를 잡게 되잖습니까. 그렇게 앞자리에 앉은 남자와 밀착이 심하고 거리가 가까웠지만 열차안의 모든 이들이 주먹밥처럼 똘똘 뭉쳐 있는 상황이니 뭐 이상할 것도 없었습니다. 어쩔 수 없는 것이니까요.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;저는 2호선을 타고 신촌역에서부터 삼성역까지 출근을 합니다. 갈길이 멀죠. 비록 내 처지는 주먹밥 밥알 신세지만, 선반에 얹혀있는 무가지 메트로를 펼치고, 가방에서 이어폰을 꺼내 음악 감상까지 시작했습니다. 그러고서는 메트로의 퍼즐과 이어폰에서 흘러나오는 (그날 따라 몹시 빠른 템포의) 음악 속으로 집중 집중하며 빠져들어 갔습니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;중간에 앞에 앉아 있던 남자와 눈이 한번 마주친 것도 같습니다. 이런 생각이 스쳤습니다. &#039;짜증이 얼굴에 박혀있는 인상이군. 인생이 피곤해 보여&#039;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;그렇게 뭐 평범한 출근 있었습니다.... 강변역까지는.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;그 때. 앞의 남자가 저를 올려다 보고는 뭐라고 입술이 움직입니다. 이어폰을 끼고 있어 뭐라 그러는지 잘 못들었습니다.&lt;/span&gt; &lt;span style=&quot;font-size: 10pt;&quot;&gt;이어폰을 빼고 물었습니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;나 : 에?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;그 남자 : 뒤로 좀 물러나 주시라구요...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;나 : 에.. 에?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;그 남자 : 지금 너무 붙어 계시잖아요.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;앗. 흠칫... 태연한척 하며 뒤를 슬며시 돌아봤는데. 아아아 이럴수가 내가 뭘 하고 있었던 거야.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;다시 한번 말을 하자면 저는 신촌역에서 삼성역까지 출근을 합니다. 신촌역에서 저는 사상 초유의 지하철을 탔구요. 그런데, 이 출근 코스는 을지로3가, 동대문운동장 등등의 갈아타는 역을 거치면 사람들이 썰물처럼 빠져나갑니다. 그러니까,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;한가하고 사람 좀 드문드문 서있는 지하철에서, 저는 그 남자의 무릎팍 사이에 제 다리를 밀착하고 그러고 계속 가고 있었던 것이지요. 그 남자는 참다 참다 못해 저에게 말을 꺼낸 것이구요. 문 열리면 정말 뛰쳐 내리고 싶었습니다. 아까 신나게 들었던 댄스 뮤직에 도취되어 몸을 살짝 살짝 흔들었던 기억까지 스칩니다. ToT&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;잠실역인가에서 그 남자 내리더군요. 설마 일부러 먼저 내린것은 아니겠지요. 그 남자가 일어난 자리에 제가 앉게 되었습니다. 앉고 보니 그 남자 입장이 실감나게 상상이 되더군요. 그리고, 주변 시점에서 바라본 우리의 부비 부비도 떠오르더군요.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;여기까지. 아는 사람이 봤을까 무서웠던 지하철에서 사고 친 얘기였습니다. 여자였으면 어쩔뻔했을까...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</description>
			<category>else</category>
			<category>실수담</category>
			<category>지하철</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/19</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EC%A7%80%ED%95%98%EC%B2%A0-%EC%8B%A4%EC%88%98%EB%8B%B4#entry19comment</comments>
			<pubDate>Wed, 04 Feb 2009 23:43:01 +0900</pubDate>
		</item>
		<item>
			<title>정규분포 이론을 이용한 검색엔진의 정확도 평가</title>
			<link>http://blog.sragent.pe.kr/entry/%EC%A0%95%EB%8B%B5%EC%85%8B%EC%9C%BC%EB%A1%9C-%EC%B8%A1%EC%A0%95%ED%95%9C-%EA%B2%80%EC%83%89%EC%97%94%EC%A7%84%EC%9D%98-%EC%A0%95%ED%99%95%EB%8F%84%EB%8A%94-%EC%96%BC%EB%A7%88%EB%82%98-%EB%AF%BF%EC%9D%84%EB%A7%8C%ED%95%A0%EA%B9%8C</link>
			<description>&lt;span style=&quot;font-size: 10pt;&quot;&gt;떨어진 미션이 있어서 통계 공부를 좀 하고, 공부한 내용을 정리해 봤습니다. 내용을 요약하자면, 검색엔진의 정확도를 평가했을 때, 그 평가가 얼마나 신뢰할만한지 통계학의 정규분포 이론을 이용해서 계산하고, 설명하는 내용입니다. 이 포스트를 이해하면 팀장과 이런 대화를 나눌 수 있습니다.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(219, 232, 251); padding: 10px; background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;A: 우리 검색엔진의 정확도는 85~90%입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
팀장: 그 말 몇 %나 신뢰할 수 있지?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
A: 믿어주세요. 95% 확실합니다.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;일의 출발은 이렇습니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
우리가 개발한 검색엔진의 정확도를 측정하려고 합니다. 정확도는 재현율일 수도 있고, 정확률일 수도 있고, F-measure일 수도 있습니다. 그냥 통칭해서 정확도라고 하겠습니다. 정확도를 측정하기 위해서 수작업을 통해서 정답셋을 만들기로 했습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
어떤 질의 Q에 대한 정답셋은 아래와 같이 만듭니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
1. 검색엔진이 색인하는 모든 문서에서 n개의 문서를 샘플링합니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
2. n개의 샘플 문서를 사람이 하나씩 하나씩 읽어가며 질의 Q에 대해서 검색결과로 올바른지 아닌지 체크를 합니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
3. 체크된 n개의 샘플 문서를 질의 Q에 대한 정답셋이라고 합니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
정답셋을 이용해서 질의 Q에 대해 검색엔진의 정확도는 다음과 같이 측정합니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
1. 검색엔진에 질의 Q를 실행하면 검색 결과가 주루룩 나올 것입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
2. n개의 샘플 문서를 하나씩 하나씩 검토합니다.(검색 결과를 하나씩 살피는게 아닙니다.)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&amp;nbsp;- 각각의 문서에 대해 정답셋에서 체크한 내용과 검색엔진의 판단이 같으면 검색엔진이 정답을 맞춘것입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&amp;nbsp;- 반대로 판단이 다르면, 즉, 정답셋에는 이 문서는 이 질의에 나와야 된다 그러는데 검색엔진이 이 문서를 안찍었다든가, 아니면 정답셋에는 이 문서가 이 질의에 안 맞다고 그랬는데 검색엔진 결과에 포함되었을 때 검색엔진이 틀린 답을 낸 것입니다. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
3. 여기까지 하면, 질의 Q에 대해서 검색엔진이 n개의 문제를 풀어서 맞춘게 몇개, 틀린게 몇개 그래서 점수는 몇점 이렇게 성적표를 받게 됩니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
여기서 질문이 하나 생깁니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;몇개의 문서를 샘플링해야 위에서 계산한 검색엔진의 성적이 믿을만 할까?&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;검색엔진한테 10개의 문제를 풀게하는 것보다는 당연히 100개의 문제를 풀게 하는게 실력을 파악하는데 더 정확할 것입니다. 엔진은 지치지 않으니까 당연히 다다익선! 더 많은 문제를 풀게 할 수록 우리가 얻는 점수는 더 신뢰할 수 있는 점수 일 것입니다. 그런데 문제는 엔진이 지치는게 아니라, 사람이 지친다는 것입니다. 정답셋을 만드는 과정은 만일 100만개의 문서를 샘플링했다면 100만개의 문서를 하나씩 읽어가며 질의에 적합한 문서인지 아닌지 체크를 해야 합니다. 그러니까, &#039;많을 수록 좋은건 알아, 하지만, 적어도 몇개의 문서를 샘플링하면 믿을만 한거야?&#039; 이것이 문제입니다.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
결론부터 얘기하자면 통계학을 이용하면 위의 질문에 대해서 직접적인 답은 못주지만, 다음과 같이 결론을 이야기할 수는 있습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;1만개의 문서를 샘플링해서 측정한 이 검색엔진의 정확도는 0.7 ~ 0.9일 확률이 95% 입니다.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;음... 뭐랄까 신중하지만 정확한 설명입니다. 샘플의 개수를 좀더 늘리면서 똑같이 95%의 신뢰도로 정확도가 얼만지 측정하면, 이번에는 구간이 좁아질 것입니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2만개로 샘플을 늘려서 측정한 이 검색엔진의 정확도는 0.75~0.85일 확률이 95% 입니다.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;바로, 지체 없이, 공식과 예제 들어가도록 하겠습니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
샘플 문서의 개수가 n개, 검색엔진 돌려서 채점한 결과 r개가 맞았을 때, 이 검색엔진의 정확도를 N% 만큼 신뢰도로 구하면 다음과 같은 구간을 구할 수 있습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs14.tistory.com/image/33/tistory/2009/02/01/14/33/49853433c7607&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;1.gif&quot; height=&quot;103&quot; width=&quot;334&quot;/&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
여기서 Z(N)은 신뢰도에 따라 값이 달라지는데 95% 신뢰도로 구하고 싶으면, 1.96이라는 값을 사용하면 되고, 90% 신뢰도로 구하고 싶으면 1.64라는 작은 값을 사용하게 됩니다. 좀 낮은 신뢰도로 말하면 더 좁은 구간을 제시할 수 있다 이런 얘기입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
위 식을 사용하는 예제 들어갑니다.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;border: 1px solid rgb(219, 232, 251); padding: 10px; background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;예제&amp;gt; 1000개의 문서를 샘플링 해서 검색엔진이 800개를 맞췄다. 95% 신뢰구간으로 검색엔진의 정확도를 설명하라.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
풀이&amp;gt; x=800/1000 = 0.8 이고, Z(N) 루트 어쩌구 하는 식은 1.96X루트(0.8X0.2/1000)=0.02479 이므로&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&quot;이 검색엔진의 정확도는 0.77521 ~ 0.82479 일 확률이 95% 입니다.&quot; 라고 얘기할 수 있습니다.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
샘플링 하는 문서 개수를 10000개로 늘려보고, 같은 비율인 8000개를 맞췄다면 이번에는 Z(N) 루트 어쩌구 하는 식이 1.96X루트(0.8X0.2/10000)=0.00784 이므로&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&quot;이 검색엔진의 정확도는 0.79216 ~ 0.80784 일 확률이 95% 입니다.&quot; 라고 더 정확하게 얘기할 수 있게됩니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
얘기가 이정도 진행되면, 지금 정규분포(Normal Distribution)를 얘기하려 한다는 것을 알만한 사람은 다 알 수 있을 것입니다. Z(N) = 1.96 이 숫자도 통계책 부록 표준 정규분포표에서 따온 숫자입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
그렇다면, 도대체 뭐가 정규분포를 따른다는 얘기일까요? 이 질문이 가장 핵심적인 부분입니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;우리가 만든 검색엔진의 정확도의 확률분포는 정규분포이다.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;&#039;의&#039;를 중첩해서 대단히 죄송합니다만, 이 포스트를 이해하고 싶으신 분은 이 문장이 가슴에 와닿을 때까지 반복해서 읽으셔야만 합니다. 도저히 와닿지 않으면, 아래 그림의 x축과 y축을 곱씹고 다시 저 문장이 와닿을 때까지 읽어보십시오. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
즉, 다음과 같은 정규분포입니다.&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs14.tistory.com/image/31/tistory/2009/02/01/19/20/49857772c7678&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;2.gif&quot; height=&quot;219&quot; width=&quot;321&quot;/&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이 그래프의 경우 검색엔진의 정확도가 60%일 확률이 가장 높습니다. 검색엔진의 정확도가 50%일 확률과 70%일 확률은 같습니다. 즉, 대칭입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
우리가 저 위의 식을 사용하겠다는 것은 검색엔진의 정확도가 이 그래프처럼 생긴 정규분포라고 가정하겠다는 뜻입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
그런데, 무슨 근거로 검색엔진의 정확도가 정규분포라고 함부로 가정을 할 수가 있는 것일까요? 여기서 통계 이론 하나가 더 필요합니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이항분포(Binomial Distribution)에서 샘플의 개수 n이 충분히 크다면 그 이항분포는 정규분포이다.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;검색엔진이 정답을 맞춘 횟수의 분포는 이항분포(이항분포가 뭔지는 잠깐만 홀딩)입니다. 이항분포는 샘플의 개수가 충분히 크다면 정규분포가 됩니다. 정답을 맞춘 횟수를 샘플의 개수 n으로 나눈 정확도의 분포 또한 정규분포가 됩니다. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
정리하자면, 검색엔진의 정답 맞추기의 확률분포는 이항분포입니다. 이항분포에서 샘플 개수가 충분히 크면 정규분포입니다.&amp;nbsp; 정규분포라면 저 위의 공식에다가 샘플의 개수와 샘플에서 측정한 정확도를 대입하여, 검색엔진의 진짜 정확도를 추정(Estimation)할 수가 있습니다. 그럼 마지막으로 이항분포가 뭔지, 검색엔진의 정답 맞추기가 왜 이항분포인지를 설명하고 마치도록 하겠습니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
통계학에서 성공-실패 두 가지 경우의 수가 존재하는 독립적인 실행을 n번 반복하는 것을 베르누이 시행(Bernoulli Trial)이라고 합니다. 베르누이 시행에서 성공 횟수의 확률 분포를 이항분포라고 합니다. 베르누이 시행의 대표적인 예로 찌그러진 동전 던지기를 들 수 있습니다. 이 실험의 목적은 찌그러진 동전이 앞면 몇% 짜리 동전인지 알아보는 것입니다. 이 것을 알아보기 위해 100번을 던져봤더니 앞면이 70번 나왔습니다. 이게 한번의 n=100짜리 베르누이 시행입니다. 첫번째 베르누이 시행의 결과는 이 동전은 앞면 70% 짜리 동전입니다. 두번째 베르누이 시행을 하면 아마 70번 언저리의 어떤 숫자가 또 나올 것입니다. 베르누이 시행을 여러번 하면 이 동전에 대해서 다음과 같이 얘기할 수 있을 것입니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&quot;이 동전은 n=100짜리 베르누이 시행을 했을 때 앞면이 70번 나올 확률이 30%, 69번 나올 확률이 10%, 68번 나올 확률이 7%...&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이 내용을 그래프로 그리면 이 동전의 이항분포가 되는 것입니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
우리 검색엔진의 정확도 평가 또한 이항분포를 따릅니다. n=100 이라면 100개의 문서 각각에 대해 결과를 맞추는지 못맞추는지 판단합니다. 즉, 동전을 100번 던집니다.  통계학 정리에 따르면 n이 충분히 큰 이항 분포는 정규분포로 가정할 수 있다고 합니다. 일반적으로(Rule of Thumb) n&amp;gt;=30 정도면 정규분포로 볼 수 있고, np(1-p) &amp;gt; 5 라는 식으로도 최소한의 n을 산정할 수가 있습니다. 여기서 p는 검색엔진의 진짜(궁극적인, 실제의)정확도인데, 그건 우리가 구하고자 하는 그 자체이므로, 실험에서 구해지는 추정치(즉, 맞춘개수/n)를 대입하면 될 것입니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
마지막으로 정리 한번 더 하겠습니다. 반복 또 반복...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
검색엔진의 정답 맞추기는 동전 던지기처럼 베르누이 시행이고, 확률분포는 이항분포입니다. 이항분포이므로 샘플개수가 충분히 크면 정규분포 가정을 이용할 수 있습니다. 정규분포 가정을 이용하면 저 위의 식을 이용하여 검색엔진의 정확도를 계산하고 그 결과를 다음과 같이 얘기할 수 있습니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
&quot;이 검색엔진의 정확도는 0.85~0.95일 확률이 95%이다.&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
이 말을 통계학적인 용어로 바꿔말하면 &quot;95% 신뢰구간에서 +- 0.05의 오차를 가진다&quot; 라고 얘기합니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
만일 더 많은 샘플을 사용한다면 같은 신뢰구간에서 더 작은 오차를 가지게 될 것입니다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
-----------------------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
제가 정규분포에 대해 스터디를 하게 된 것은 두가지 질문에 답을 얻기 위한 것이었습니다.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
첫째, 우리가 할 검색엔진 평가 작업에 대해서 정규분포 가정을 적용할 수 있을까?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
둘째, 신뢰도를 95%로 고정하면 몇개의 문서를 샘플링을 해야 하나?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 10pt;&quot;&gt;
첫번째 질문에 대해서는 검색엔진 평가가 베르누이 시행이라는 설명으로 해결했다고 할 수 있습니다만, 둘째 질문에 대해서는 정규분포 이론에 대해서 무지했었다는 것을 알게 되었습니다. 샘플링은 다다익선이고 샘플이 적으면 오차 범위가 넓어지는 것이 공식이 설명하는 바였습니다. 아 물론, 이항분포가 정규분포가 되기 위해서 샘플이 30개는 넘어야 한다는 사실은 알게 되었습니다. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description>
			<category>if (IR or NLP)</category>
			<category>검색엔진평가</category>
			<category>이항분포</category>
			<category>정규분포</category>
			<category>정답셋</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/18</guid>
			<comments>http://blog.sragent.pe.kr/entry/%EC%A0%95%EB%8B%B5%EC%85%8B%EC%9C%BC%EB%A1%9C-%EC%B8%A1%EC%A0%95%ED%95%9C-%EA%B2%80%EC%83%89%EC%97%94%EC%A7%84%EC%9D%98-%EC%A0%95%ED%99%95%EB%8F%84%EB%8A%94-%EC%96%BC%EB%A7%88%EB%82%98-%EB%AF%BF%EC%9D%84%EB%A7%8C%ED%95%A0%EA%B9%8C#entry18comment</comments>
			<pubDate>Sun, 01 Feb 2009 14:37:18 +0900</pubDate>
		</item>
		<item>
			<title>테레비에 관한 주저리</title>
			<link>http://blog.sragent.pe.kr/entry/%ED%85%8C%EB%A0%88%EB%B9%84%EC%97%90-%EA%B4%80%ED%95%9C-%EC%A3%BC%EC%A0%80%EB%A6%AC</link>
			<description>우리 집에는 테레비가 없습니다. 이 얘기를 하면 대부분 사람들은 &#039;아이들 때문에&#039; 테레비를 치웠을 거라 생각하고 그 쪽 방향으로 대화가 이어지게 됩니다. 아이들에게 유해한 테레비 프로나 뭐 이런 얘기들 말입니다. 제가 테레비를 치우자(아니 치워버리자)고 얘기했을 때, 와이프도 아이들 이유 때문에 찬성을 했습니다. 그런데, 제 진짜 본심은 아이들이 아니라, 어른들, 그 중에서도 제 자신이 더 큰 이유였습니다.&lt;br&gt;&lt;br&gt;저로 말할 것 같으면 남들 못지 않은 테레비 중독자였습니다. 특히, 집에 혼자 있는 시간이나 가족들이 모두 잠든 시간에는 습관적으로 테레비를 틀어 놓고 시간을 죽이거나 그대로 잠들어 버리는 그런 꽈였습니다. 그런데, 테레비를 사랑하거나 예찬하는 류는 또 아닙니다. 짝짓기 오락 프로 이런 거는 보면서 신나게 웃다가 이거 뭐 내가 제내들 노는 걸 보고 앉아 있네 뭐 그러면서 딴데 돌려버립니다. 뉴스를 보다가 아이씨 이거 뭐 좋은 소식은 하나도 없고 기분만 드러워지는 이걸 꼭 봐야해 이런 생각이 들다가, 그래도 이거 끝나야 스포츠 뉴스 나오니까... 뭐 이런 식입니다.&lt;br&gt;&lt;br&gt;말이 나와서 하는 말인데, 티비 프로중에서 가장 유해한 프로가 뉴스입니다. 현실에 라이브 중인 전쟁과 살인 등등을 아주 구체적으로 반복해서 전달해 주고 있으니 말입니다. 같은 내용을 다루지만 현실이 아닌 영화보다 차원이 다르게 유해한 물질입니다. 마이클 무어 감독이 만든 다큐 영화 &#039;볼링 포 컬럼바인&#039;에서는 미국에서 심심찮게 일어나는 총기 난사 사건의 원인에 대해서 폭력성이 있는 영화나 게임, 메릴린 맨슨 같은 Rock 음악 보다 미국이 전세계에서 &#039;항상&#039; 저지르고 있는 실제 살인-전쟁-과 그 전쟁 소식을 끊임없이 보도하는 뉴스들을 원인으로 암시하는 내용이 있습니다. 얘기가 좀 샜는데요. 이 포스트는 주저리입니다. 제목을 보세요.&lt;br&gt;&lt;br&gt;아무튼 이런식으로 욕을 하면서도 &#039;나도 모르게&#039; 리모콘을 돌리고 앉아 있는 그런 평범한 테레비와의 관계를 가지고 있었습니다. 스포츠나 영화가 그래도 깔끔한데, 항상 보고 싶은 게 나오는 것도 아니고, &amp;nbsp;또 식구들과 채널 다툼을 하는데 제 욕심을 관철시키는 그런 류의 아빠는 제가 또 아닙니다. 아무튼, 테레비 없이 살아본 적은 제 인생에서 없었습니다. 군대에도 테레비는 있습니다. 심지어 오대수가 15년동안 같혀 있던 사설 감옥에도 테레비는 있었잖습니까.&lt;br&gt;그리고, 어느 순간 이게 좀 지긋 지긋해졌습니다. 그리고, 와이프에게 얘기를 했습니다.&lt;br&gt;&lt;br&gt;나 : (나는 욕을 하면서도, 기분이 별로 좋지 않으면서도 테레비를 보고 앉아 있는 이 이상한 시츄에이션이 싫어. 정말 볼만할 가치가 있는 일주일에 한번쯤 있는 두시간 짜리 프로 때문에 매일 두세시간씩 습관적으로 보고 앉아있는 네 자신이 싫어...... 라는 말은 생략한 채로) 우리 테레비 치워버리자!!!&lt;br&gt;마누라 : 그래. 아이들은 테레비가 없으면 책을 볼거야!!!&lt;br&gt;이렇게 성사가 되었고, 결행했습니다.&lt;br&gt;&lt;br&gt;테레비를 끊는다는 것이 담배와 비슷합니다. 손으로 드르륵 드르륵 돌리던 채널.(채널을 바꾸기 위해 돌리던 손잡이를 우리는 그냥 채널이라고 불렀습니다.) 그 채널이 빠져서 뺀찌로 채널을 돌리던 14인치 흑백 테레비로 부터 시작해서.... 아 갑자기 우리 옆집에 가서 처음으로 칼라 테레비를 봤을 때의 그 부러움과 감동이 기억납니다. 길을 가면서 칼라 테레비가 있는 집과 없는 집을 헤아려 보던 기억도 나구요. 어떻게 아냐구요? 지붕 위에 안테나를 보면 알 수 있습니다. 흑백용과 칼라용이 달랐거든요. 또 샜다. 주저리니까요.&lt;br&gt;&lt;br&gt;아무튼 테레비 끊기는 담배 끊기와 비슷합니다. 삼십년 넘게 몸에 밴 습관을 인생에서 도려내는 것입니다. 그래서 결행이 두렵습니다. 이런 식으로 살아 본적이 없는 인생의 새로운 국면이랄까. 근데 아예 테레비를 버려 버리면 다시 사는데 돈이 너무 많이 드니까 담배보다는 성공률이 높겠죠. 우리 집의 경우는 뭐 버리지는 않았고, 창고 깊숙히 집어 넣었습니다. (그나마 얼마전 닌텐도 wii를 사서 다시 나왔습니다. 케이블만 창고 깊숙히 쳐박혀 있어서 시청불가 상태입니다. 그러고 보니 &#039;우리집에는 테레비가 없다&#039;는 첫문장은 정확한 표현이 아니군요. 새겨 들으시면 됩니다.)&lt;br&gt;아무튼 그렇게 테레비를 치워 버리니까요... 테레비의 빈자리 이거 정말 큽니다. 테레비가 집안에서 차지하는 물리적, 심리적 위치를 보면 테레비가 얼마나 신성한 대접을 받고 있는지 알 수 있습니다. 한 집안 거실의 가장 널직하고 전망 좋은 벽면을 등지고, 고급스러운 재단위에 신주 단지 처럼 올려져 있는 테레비. 먼 훗날 고고학자들이 &amp;nbsp;집집마다 같은 위치에 놓여있는 테레비를 발견하고 종교적 의미를 부여할지도 모르겠다는 상상도 스칩니다.&lt;br&gt;&lt;br&gt;테레비의 빈자리 벽면에는 전원 콘센트 단자에, 케이블 연결 단자, 지금 보니 랜선 단자도 있네요. 테레비를 치우면 이런 단자들이 흉터처럼 드러납니다. &amp;nbsp;그리고, 참 난감할때가 손님들이 왔을 때입니다. 손님들을 초대하고 식사가 준비되기 전 테레비가 없으면 정말 뻘쭘해질 때가 많이 있습니다. 테레비가 발명되고서부터 집안에서 사람들은 마주 보지 않는 것이 관례가 되었습니다. 나란히 테레비를 향해 앉아서 고개를 옆으로 돌리며 대화를 나누는 것이 테레비 출현 이후의 관례입니다. 재밌는 것이 손님들을 초대해 보면 대부분의 사람들이 테레비가 없는데도 테레비가 있어야 할 벽면을 향해서 앉아있습니다. 그런데, 그 자리에 있어야 할 테레비는 없고, 흉터처럼 드러난 단자들만 있는 것이죠. 그래서 뻘쭘한 분위기가 연출될 때가 많이 있습니다.&lt;br&gt;&lt;br&gt;근데, 새삼 이런 테레비에 대한 얘기를 꺼내게 된것은.... 음, 다시 테레비를 놓을까. 뭐 정확히 말하면 케이블만 연결하면 됩니다. 그런 생각이 요새 좀 쎄게 듭니다. 마누라님 방송국 홈페이지에 들어가서 그지 같은 화질로 드라마 보는 것도 안스럽고, 아들 녀석이 야구를 좋아하는데 좀 있으면 하게될 WBC 중계도 인터넷 아프리카 TV로 보게 될 거 같아 좀 미안하고 그렇습니다. 문제는 테레비를 켜면 불쾌하고, 한심하고, 좋지도 않은 별책 부록들이 같이 딸려 나온다는게 그게 문제라서 말입니다. 그게 좀 그렇습니다. 주저리 주저리 이상 마치겠습니다.</description>
			<category>else</category>
			<category>테레비</category>
			<author>심보준</author>
			<guid>http://blog.sragent.pe.kr/16</guid>
			<comments>http://blog.sragent.pe.kr/entry/%ED%85%8C%EB%A0%88%EB%B9%84%EC%97%90-%EA%B4%80%ED%95%9C-%EC%A3%BC%EC%A0%80%EB%A6%AC#entry16comment</comments>
			<pubDate>Sat, 03 Jan 2009 11:40:31 +0900</pubDate>
		</item>
	</channel>
</rss>
