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

📄 weightededitdistancetest.java

📁 一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能
💻 JAVA
字号:
package com.aliasi.test.unit.spell;import com.aliasi.spell.WeightedEditDistance;import com.aliasi.test.unit.BaseTestCase;public class WeightedEditDistanceTest extends BaseTestCase {    public void testOne() {        assertDistance(0,"","",true);        assertDistance(0,"","",false);        assertDistance(1,"a","",true);        assertDistance(1,"","a",true);        assertDistance(1,"a","",false);        assertDistance(1,"","a",false);        assertDistance(1,"a","ab",true);        assertDistance(1,"ab","a",true);        assertDistance(1,"a","ab",false);        assertDistance(1,"ab","a",false);            assertDistance(1,"ab","ba",true);        assertDistance(2,"ab","ba",false);            assertDistance(1,"abc","bac",true);        assertDistance(1,"abc","acb",true);        assertDistance(2,"abc","bac",false);        assertDistance(2,"abc","acb",false);        assertDistance(1,"abcd","bacd",true);        assertDistance(1,"abcd","acbd",true);        assertDistance(1,"abcd","abdc",true);        assertDistance(2,"dabc","dbac",false);        assertDistance(2,"pwnag","ownage",true);        assertDistance(2,"pwnag","ownage",false);        assertDistance(2,"abxy","bayx",true);        assertDistance(3,"abxy","bayx",false);    }    private static void assertDistance(double expectedDistance,                                       CharSequence cs1,                                       CharSequence cs2,                                       boolean allowTransposition) {        WeightedEditDistance distanceMeasure            = allowTransposition             ? TRANSPOSING_EDIT             : NON_TRANSPOSING_EDIT;        assertDistance(expectedDistance,                       cs1,cs2,distanceMeasure,false);    }    private static void assertDistance(double expectedDistance,                                       CharSequence cs1,                                       CharSequence cs2,                                       WeightedEditDistance editDistance,                                       boolean isSimilarity) {        if (isSimilarity)             assertEquals(expectedDistance,                         editDistance.proximity(cs1,cs2),                         0.0001);        else            assertEquals(expectedDistance,                         editDistance.distance(cs1,cs2),                         0.0001);    }    private static class Transposing extends WeightedEditDistance {        public double matchWeight(char c) { return 0.0; }        public double deleteWeight(char c) { return  -1.0; }        public double insertWeight(char c) { return  -1.0; }        public double substituteWeight(char c1, char c2) { return  -1.0; }        public double transposeWeight(char c1, char c2) { return  -1.0; }    }    private static class NonTransposing extends WeightedEditDistance {            public double matchWeight(char c) { return 0.0; }        public double deleteWeight(char c) { return -1.0; }        public double insertWeight(char c) { return -1.0; }        public double substituteWeight(char c1, char c2) { return -1.0; }        public double transposeWeight(char c1, char c2) {             return Double.NEGATIVE_INFINITY;         }    }    private static WeightedEditDistance TRANSPOSING_EDIT = new Transposing();    private static WeightedEditDistance NON_TRANSPOSING_EDIT = new NonTransposing();}

⌨️ 快捷键说明

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