๐ ํ์ด์ง ๋ญํฌ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ์ฌ ํ ์คํธ ๋ณธ๋ฌธ์ ํน์ ๋น์จ๋ก ์์ฝํด์ฃผ๋ ํ๋ก๊ทธ๋จ ์ ๋๋ค.
์๋๋ Summarizer ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ํ ์คํธ ์ฝ๋ ์ ๋๋ค.
AppTest.java
package us.narin.summarizer;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
/**
* Unit test for simple Summarizer.
*/
public class AppTest
extends TestCase {
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest(String testName) {
super(testName);
try {
Summarizer summarizer = new Summarizer(new Scanner(new File("./test.txt")).useDelimiter("\\Z").next());
System.out.println(summarizer.summarize());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
/**
* @return the suite of tests being tested
*/
public static Test suite() {
return new TestSuite(AppTest.class);
}
/**
* Rigourous Test :-)
*/
public void testApp() {
assertTrue(true);
}
}
test.txt
๋ฐฐ์ฐ ๊น์ฐ๋น์ด ๋น์ธ๋์ ํฌ๋ณ ์ค์ธ ๊ฐ์ด๋ฐ 1์ฐจ ํญ์์น๋ฃ๋ฅผ ๋ง์น ๊ฒ์ผ๋ก ์๋ ค์ก๋ค. ๊น์ฐ๋น์ ์์์ฌ ์ธ์ด๋์คHQ ์ธก์ "๊น์ฐ๋น์ด ์ต๊ทผ 1์ฐจ ํญ์์น๋ฃ๋ฅผ ๋ง์ณค๋ค. ์์ง ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์์ ๋ญ๋ผ ๋ฐํ๊ธฐ๊ฐ ์กฐ์ฌ์ค๋ฌ์ด ์ํฉ์ด๋ค. ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ค์ด๋ค"๋ผ๊ณ ๋ฐํ๋ค. ์์ ๊น์ฐ๋น์ ์ง๋ 5์ ๋ชธ์ ์ด์์ ๋๊ปด ์ฐพ์๋ ๋ณ์์์ ๋น์ธ๋์ ์ง๋จ์ ๋ฐ๊ณ ํฌ๋ณ ์ค์ด๋ค. ๊ฐ์์ค๋ฐ ๊น์ฐ๋น์ ๋น์ธ๋์ ํฌ๋ณ ์์์ด ์ ํด์ง์ ํฌ๋ค์ ๋นํน๊ฐ์ ๊ฐ์ถ์ง ๋ชปํ๋ค. ํนํ ๊น์ฐ๋น์ด ๋น์ธ๋์ ์ง๋จ ๋ฐ๊ธฐ ์ KBS 2TV ๋๋ผ๋ง 'ํจ๋ถ๋ก ์ ํํ๊ฒ'์์ ์ํ๋ถ ์ ์ค์ ์ญ์ ๋งก์ ๋ฐ ์๋ค. ์ ์ค์ ์ญ์ ๊น์ฐ๋น์ ๊ทน ์ค "์๊ฐ์ ์ ํํจ์ ์๋ค๋ ๊ฑด ์ฌํ๊ณ ๊ดด๋ก์ด ์ผ์ด ์๋๋ผ ์จ๊ฒจ์๋ ์ง์ฌ์ ๋๋ฌ๋ด๊ณ ์ฉ๊ธฐ๋ฅผ ๋ผ ์ ์๊ฒ ํ๋, ๋ด๊ฒ ์ฃผ์ด์ง ๋ง์ง๋ง ์ถ๋ณต์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค"๋ผ๋ ๋ ๋ฐฑ์ ํ๊ธฐ๋ ํ๋ค. ํด๋น ๋์ฌ๋ ๊น์ฐ๋น์ ๋น์ธ๋์ ์ง๋จ๊ณผ ๋ง๋ฌผ๋ฆฌ๋ฉฐ ๋ง์ ์ด๋ค์๊ฒ ๊ณต๊ฐ๊ณผ ์๋ก๋ฅผ ์๊ฒผ๋ค.
์ถ๋ ฅ ๊ฒฐ๊ณผ
[๋ฐฐ์ฐ ๊น์ฐ๋น์ด ๋น์ธ๋์ ํฌ๋ณ ์ค์ธ ๊ฐ์ด๋ฐ 1์ฐจ ํญ์์น๋ฃ๋ฅผ ๋ง์น ๊ฒ์ผ๋ก ์๋ ค์ก๋ค ., ์์ ๊น์ฐ๋น์ ์ง๋ 5์ ๋ชธ์ ์ด์์ ๋๊ปด ์ฐพ์๋ ๋ณ์์์ ๋น์ธ๋์ ์ง๋จ์ ๋ฐ๊ณ ํฌ๋ณ ์ค์ด๋ค ., ๊ฐ์์ค๋ฐ ๊น์ฐ๋น์ ๋น์ธ๋์ ํฌ๋ณ ์์์ด ์ ํด์ง์ ํฌ๋ค์ ๋นํน๊ฐ์ ๊ฐ์ถ์ง ๋ชปํ๋ค .]
๋ํ๋ฏผ๊ตญ์์ ํ์กดํ๋ ๋๋ถ๋ถ์ ํํ์ ๋ถ์๊ธฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด KoalaNLP ๋ฅผ ์ฌ์ฉํ์๊ณ , ๊ทธ๋ํ ๊ตฌํ์ ์ํด jgrpaht ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํํ์ ๋ถ์๊ธฐ๋ ํ๋๋ ํ๊ตญ์ด ํํ์ ๋ถ์๊ธฐ ์ ๋๋ค.
pom.xml
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-hannanum_2.12</artifactId>
<classifier>assembly</classifier>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-twitter_2.12</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-komoran_2.11</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-eunjeon_2.12</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-kkma_2.12</artifactId>
<classifier>assembly</classifier>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-komoran_2.12</artifactId>
<classifier>assembly</classifier>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-core_2.12</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-kryo_2.12</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>net.sf.jung</groupId>
<artifactId>jung-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>net.sf.jung</groupId>
<artifactId>jung-graph-impl</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.jgrapht</groupId>
<artifactId>jgrapht-core</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>jgraph</groupId>
<artifactId>jgraph</artifactId>
<version>5.13.0.0</version>
</dependency>
์์ ๊ธฐ์ฌ๋ ์์กด์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฉ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์ค์นํด์ฃผ์ธ์.