⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chunktest.java

📁 基于词库的中文分词组件
💻 JAVA
字号:
/**
 * 
 */
package org.solol.mmseg.test;

import org.solol.mmseg.core.IChunk;
import org.solol.mmseg.core.IWord;
import org.solol.mmseg.internal.Chunk;
import org.solol.mmseg.internal.Word;

import junit.framework.TestCase;

/**
 * @author solo L
 * 
 */
public class ChunkTest extends TestCase {

	/*
	 * (non-Javadoc)
	 * 
	 * @see junit.framework.TestCase#setUp()
	 */
	protected void setUp() throws Exception {

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see junit.framework.TestCase#tearDown()
	 */
	protected void tearDown() throws Exception {
	}

	/**
	 * Test method for
	 * {@link org.solol.mmseg.internal.Chunk#Chunk(org.solol.mmseg.core.IWord[])}.
	 */
	public final void testChunk() {

	}

	/**
	 * Test method for
	 * {@link org.solol.mmseg.internal.Chunk#getAverageLength()}.
	 */
	public final void testGetAverageLength() {
		IWord word1 = new Word("国际化",Word.CJK_WORD);
		IWord word2 = new Word("国际",Word.CJK_WORD);
		IWord word3 = new Word("国",Word.CJK_WORD);
		IWord word4 = new Word("际",Word.CJK_WORD);
		IWord word5 = new Word("化",Word.CJK_WORD);

		IChunk chunk1 = new Chunk(new IWord[] { word1 });
		IChunk chunk2 = new Chunk(new IWord[] { word2, word5 });
		IChunk chunk3 = new Chunk(new IWord[] { word3, word4, word5 });

		assertTrue(3D == chunk1.getAverageLength());
		assertTrue(1.5D == chunk2.getAverageLength());
		assertTrue(1D == chunk3.getAverageLength());
	}

	/**
	 * Test method for
	 * {@link org.solol.mmseg.internal.Chunk#getVariance()}.
	 */
	public final void testGetVariance() {
		IWord word1 = new Word("研究",Word.CJK_WORD);
		IWord word2 = new Word("生命",Word.CJK_WORD);
		IWord word3 = new Word("起源",Word.CJK_WORD);
		IWord word4 = new Word("研究生",Word.CJK_WORD);
		IWord word5 = new Word("命",Word.CJK_WORD);

		IChunk chunk1 = new Chunk(new IWord[] { word1, word2, word3 });
		IChunk chunk2 = new Chunk(new IWord[] { word4, word5, word3 });

		assertTrue(0D == chunk1.getVariance());
		assertTrue(Math.sqrt(2D/3) == chunk2.getVariance());
	}

	/**
	 * Test method for {@link org.solol.mmseg.internal.Chunk#getLength()}.
	 */
	public final void testGetLength() {
		IWord word1 = new Word("国际化",Word.CJK_WORD);
		IWord word2 = new Word("国际",Word.CJK_WORD);
		IWord word3 = new Word("国",Word.CJK_WORD);
		IWord word4 = new Word("际",Word.CJK_WORD);
		IWord word5 = new Word("化",Word.CJK_WORD);

		IChunk chunk1 = new Chunk(new IWord[] { word1 });
		IChunk chunk2 = new Chunk(new IWord[] { word2, word5 });
		IChunk chunk3 = new Chunk(new IWord[] { word3, word4, word5 });

		assertEquals(3, chunk1.getLength());
		assertEquals(3, chunk2.getLength());
		assertEquals(3, chunk3.getLength());
	}

	/**
	 * Test method for
	 * {@link org.solol.mmseg.internal.Chunk#getSumOfDegreeOfMorphemicFreedom()}.
	 */
	public final void testGetDegreeOfMorphemicFreedom() {
		IWord word1 = new Word("主要",Word.CJK_WORD);
		IWord word2 = new Word("是", 3200626,Word.CJK_WORD);
		IWord word3 = new Word("因为",Word.CJK_WORD);
		IWord word4 = new Word("主", 224073,Word.CJK_WORD);
		IWord word5 = new Word("要是",Word.CJK_WORD);

		IChunk chunk1 = new Chunk(new IWord[] { word1, word2, word3 });
		IChunk chunk2 = new Chunk(new IWord[] { word4, word5, word3 });
		
		assertTrue(Math.log((double) 3200626) == chunk1
				.getDegreeOfMorphemicFreedom());
		assertTrue(Math.log((double) 224073) == chunk2
				.getDegreeOfMorphemicFreedom());
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -