资源简介
JAVA版本的比C版本功能更加强大全面!建议大家下载使用,注意请配置WIN32环境下的java
代码片段和文件信息
package autoVerse;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import ICTCLAS.I3S.AC.ICTCLAS50;
public class CollectionVerseSystem {
/**
* M: 给定诗句分词后的个数
* N:高频候选词的个数
*/
int partipleNum = 7candiNum = 10;
String verse = “枫叶芦花并客舟“;
String[][] candidates = new String[partipleNum][candiNum];
//已经生成诗句已经出现过的频率
Set usedWord = new HashSet();
//词
String[] str ;
//给定诗句,分词;每个分词下面不同候选词的概率
HashMap weight = new HashMap();
public String getVerse() {
return verse;
}
public void setVerse(String verse) {
this.verse = verse;
}
public void setCandiNum(int candiNum) {
this.candiNum = candiNum;
}
//利用中科院分词系统进行分词
public String[] partiple(String verse) throws Exception{
ICTCLAS50 ictc = new ICTCLAS50();
String argu = “.“;
if (ictc.ICTCLAS_Init(argu.getBytes(“GB2312“)) == false) {
System.out.println(“Init Fail“);
}
// 第一个参数就是待处理文本,注意要将String转换为bytes数组,第二个参数是字符集类型,第三个参数0:无标注,1:有标注
byte verseByte[] = ictc.ICTCLAS_ParagraphProcess(verse.getBytes(“GB2312“) 0 0);
String verseStr = new String(verseByte0verseByte.length“GB2312“);
return verseStr.split(“ “);
}
//避免一句诗里面高频候选词重复而选中
public int differ(String[] str1 String[] str2){
Set set1 = new HashSet();
for(String ss : str1){
set1.add(ss);
// System.out.print(ss+“ “);
}
// System.out.println(“\r\n“+str1.length+“\t“+set1.size());
int dif1 = str1.length - set1.size();
Set set2 = new HashSet();
for(String ss : str2){
set2.add(ss);
}
int dif2 = str2.length - set2.size();
// System.out.println(dif1-dif2);
return (dif1-dif2);
}
//先对HashMap排序,在打印出整个HashMap
//最后等到MAX高频候选词
public HashMap sortPrint(HashMap map int order){
//重写sort方法
List> arr = new ArrayList>(map.entrySet());
Collections.sort(arr new Comparator>(){
@Override
public int compare(Map.Entry o1Map.Entry o2){
int v1 = o1.getValue()v2 = o2.getValue();
//逆序
return v1 - v2 > 0 ? -1 :(v1-v2==0 ? 0 : 1);
}
});
// /**
//确保候选词最多输出candiNum个(两者取min)
int len = candiNum > arr.size() ? arr.size() : candiNum;
// candidates[order] = new String[len];
HashMap candidate = new HashMap();
// /**
double sum = 0.0;
fo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 397 2013-12-26 12:58 CollectionVerseSystem\.project
文件 301 2013-12-15 20:09 CollectionVerseSystem\.classpath
文件 598 2013-12-15 20:09 CollectionVerseSystem\.settings\org.eclipse.jdt.core.prefs
文件 1287 2013-12-26 13:04 CollectionVerseSystem\bin\autoVerse\Test.class
文件 1537 2013-12-26 13:04 CollectionVerseSystem\bin\autoVerse\CollectionVerseSystem$1.class
文件 10271 2013-12-26 13:04 CollectionVerseSystem\bin\autoVerse\CollectionVerseSystem.class
文件 1060 2013-12-26 13:08 CollectionVerseSystem\bin\ICTCLAS\I3S\AC\ICTCLAS50.class
文件 1042 2013-12-20 23:46 CollectionVerseSystem\Configure.xm
文件 3520144 2013-12-20 23:46 CollectionVerseSystem\Data\BiWord.big
文件 524280 2013-12-20 23:46 CollectionVerseSystem\Data\character.idx
文件 65540 2013-12-20 23:46 CollectionVerseSystem\Data\character.type
文件 1696620 2013-12-20 23:46 CollectionVerseSystem\Data\CoreDict.pdat
文件 1786424 2013-12-20 23:46 CollectionVerseSystem\Data\CoreDict.pos
文件 478168 2013-12-20 23:46 CollectionVerseSystem\Data\CoreDict.unig
文件 262236 2013-12-20 23:46 CollectionVerseSystem\Data\FieldDict.pdat
文件 72 2013-12-20 23:46 CollectionVerseSystem\Data\FieldDict.pos
文件 1978128 2013-12-20 23:46 CollectionVerseSystem\Data\GranDict.pdat
文件 1778776 2013-12-20 23:46 CollectionVerseSystem\Data\GranDict.pos
文件 37253 2013-12-20 23:46 CollectionVerseSystem\Data\ICTCLAS30.ctx
文件 288 2013-12-20 23:46 CollectionVerseSystem\Data\ICTCLAS_First.map
文件 406 2013-12-20 23:46 CollectionVerseSystem\Data\ICTPOS.map
文件 2213 2013-12-20 23:46 CollectionVerseSystem\Data\nr.ctx
文件 3008 2013-12-20 23:46 CollectionVerseSystem\Data\nr.fsa
文件 1757200 2013-12-20 23:46 CollectionVerseSystem\Data\nr.role
文件 307 2013-12-20 23:46 CollectionVerseSystem\Data\PKU.map
文件 288 2013-12-20 23:46 CollectionVerseSystem\Data\PKU_First.map
文件 217 2013-12-26 13:10 CollectionVerseSystem\ICTCLAS.log
文件 69632 2013-12-20 23:46 CollectionVerseSystem\ICTCLAS50.dll
文件 9898 2013-12-20 23:46 CollectionVerseSystem\ICTCLAS50.h
文件 7472 2013-12-20 23:46 CollectionVerseSystem\ICTCLAS50.lib
............此处省略27个文件信息
- 上一篇:接苹果Android小游戏源码
- 下一篇:android在线订餐项目源码
评论
共有 条评论