uniformboundarylmtest.java
来自「一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能」· Java 代码 · 共 97 行
JAVA
97 行
package com.aliasi.test.unit.lm;import com.aliasi.lm.LanguageModel;import com.aliasi.lm.UniformBoundaryLM;import com.aliasi.test.unit.BaseTestCase;import java.io.ByteArrayOutputStream;import java.io.ByteArrayInputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.IOException;public class UniformBoundaryLMTest extends BaseTestCase { public void testBoundary() { UniformBoundaryLM lm = new UniformBoundaryLM(31); assertEquals(-5.0, lm.log2Estimate(new char[0],0,0), 0.005); lm.train("foo"); assertEquals(-5.0, lm.log2Estimate(new char[0],0,0), 0.005); assertEquals(-10.0, lm.log2Estimate(new char[] { 'a' },0,1), 0.005); assertEquals(-15.0, lm.log2Estimate(new char[] { 'a', 'b' },0,2), 0.005); } public static Object compileRead(LanguageModel.Dynamic model) throws ClassNotFoundException, IOException { ByteArrayOutputStream bytesOut = new ByteArrayOutputStream(); ObjectOutputStream objOut = new ObjectOutputStream(bytesOut); model.compileTo(objOut); byte[] modelBytes = bytesOut.toByteArray(); ByteArrayInputStream bytesIn = new ByteArrayInputStream(modelBytes); ObjectInputStream objIn = new ObjectInputStream(bytesIn); return objIn.readObject(); } public void testSerializable() throws ClassNotFoundException, IOException { UniformBoundaryLM lm = new UniformBoundaryLM(31); Object serDeser = compileRead(lm); UniformBoundaryLM lmIO = (UniformBoundaryLM) serDeser; assertEquals(-5.0, lmIO.log2Estimate(new char[0],0,0), 0.005); assertEquals(-10.0, lmIO.log2Estimate(new char[] { 'a' },0,1), 0.005); assertEquals(-15.0, lmIO.log2Estimate(new char[] { 'a', 'b' },0,2), 0.005); } public void testExs() { try { new UniformBoundaryLM(-1); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } try { new UniformBoundaryLM(Integer.MAX_VALUE); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } try { new UniformBoundaryLM(-1); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } try { new UniformBoundaryLM(Integer.MAX_VALUE); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?