资源简介
采用机器学习的方法进行自然语言处理,对中文进行分词和词性标注。分词采用crf模型,词性标注用hmm模型,解码算法为Vertibi算法。本系统使用java语言编写
代码片段和文件信息
#include
#include “crfpp.h“
// c++ -O3 example.cpp -lcrfpp
int main(int argc char **argv) {
// -v 3: access deep information like alphabetaprob
// -nN: enable nbest output. N should be >= 2
CRFPP::Tagger *tagger =
CRFPP::createTagger(“-m model -v 3 -n2“);
if (!tagger) {
std::cerr << CRFPP::getTaggerError() << std::endl;
return -1;
}
// clear internal context
tagger->clear();
// add context
tagger->add(“Confidence NN“);
tagger->add(“in IN“);
tagger->add(“the DT“);
tagger->add(“pound NN“);
tagger->add(“is VBZ“);
tagger->add(“widely RB“);
tagger->add(“expected VBN“);
tagger->add(“to TO“);
tagger->add(“take VB“);
tagger->add(“another DT“);
tagger->add(“sharp JJ“);
tagger->add(“dive NN“);
tagger->add(“if IN“);
tagger->add(“trade NN“);
tagger->add(“figures NNS“);
tagger->add(“for IN“);
tagger->add(“September NNP“);
std::cout << “column size: “ << tagger->xsize() << std::endl;
std::cout << “token size: “ << tagger->size() << std::endl;
std::cout << “tag size: “ << tagger->ysize() << std::endl;
std::cout << “tagset information:“ << std::endl;
for (size_t i = 0; i < tagger->ysize(); ++i) {
std::cout << “tag “ << i << “ “ << tagger->yname(i) << std::endl;
}
// parse and change internal stated as ‘parsed‘
if (! tagger->parse()) return -1;
std::cout << “conditional prob=“ << tagger->prob()
<< “ log(Z)=“ << tagger->Z() << std::endl;
for (size_t i = 0; i < tagger->size(); ++i) {
for (size_t j = 0; j < tagger->xsize(); ++j) {
std::cout << tagger->x(i j) << ‘\t‘;
}
std::cout << tagger->y2(i) << ‘\t‘;
std::cout << std::endl;
std::cout << “Details“;
for (size_t j = 0; j < tagger->ysize(); ++j) {
std::cout << ‘\t‘ << tagger->yname(j) << “/prob=“ << tagger->prob(ij)
<< “/alpha=“ << tagger->alpha(i j)
<< “/beta=“ << tagger->beta(i j);
}
std::cout << std::endl;
}
// when -n20 is specified you can access nbest outputs
std::cout << “nbest outputs:“ << std::endl;
for (size_t n = 0; n < 10; ++n) {
if (! tagger->next()) break;
std::cout << “nbest n=“ << n << “\tconditional prob=“ << tagger->prob() << std::endl;
// you can access any information using tagger->y()...
}
std::cout << “Done“ << std::endl;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2010-11-12 12:48 nlu_project\.classpath
文件 387 2010-11-12 12:48 nlu_project\.project
文件 629 2010-11-12 12:48 nlu_project\.settings\org.eclipse.jdt.core.prefs
文件 4637 2010-12-14 16:52 nlu_project\bin\convertor\InputConvertor.class
文件 3810 2010-12-14 16:52 nlu_project\bin\convertor\OutputConvertor.class
文件 2731 2010-12-14 16:52 nlu_project\bin\convertor\TestFileConvertor.class
文件 2230 2010-12-14 16:52 nlu_project\bin\execute\execute.class
文件 3467 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\cli\Evaluate$EvalHandler.class
文件 4122 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\cli\Evaluate.class
文件 4743 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\cli\Tag.class
文件 4013 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\cli\Train$TrainHandler.class
文件 5347 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\cli\Train.class
文件 3989 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\corpus\BrownCorpusReader.class
文件 1885 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\corpus\CorpusReader.class
文件 1346 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\corpus\CorpusReaderException$CorpusReadError.class
文件 928 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\corpus\CorpusReaderException.class
文件 308 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\corpus\CorpusSentenceHandler.class
文件 623 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\corpus\TaggedWord.class
文件 1343 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\data\BiGram.class
文件 1897 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\data\Model$NGrams.class
文件 6306 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\data\Model.class
文件 1517 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\data\TriGram.class
文件 954 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\data\UniGram.class
文件 1500 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\data\util\ProbEntryComparator.class
文件 201 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\languagemodel\LanguageModel.class
文件 4622 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\languagemodel\LinearInterpolationLM.class
文件 1880 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\tagger\HMMTagger$Sequence.class
文件 857 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\tagger\HMMTagger$TagMatrixEntry.class
文件 5748 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\tagger\HMMTagger.class
文件 3820 2010-12-14 16:52 nlu_project\bin\org\langkit\tagger\wordhandler\KnownWordHandler.class
............此处省略139个文件信息
- 上一篇:java_poi导入excel通用工具类
- 下一篇:运动会管理系统设计+java界面
相关资源
- 基于CRF++的中文分词 数据+CRF++工具+
- EM算法(附实验报告文档java实现)
- IKAnalyzer2012_u6中文分词器jar包
- 通用复杂图片验证码识别程序深度机
- IKAnalyzer中文分词器jar包
- 中文分词库 IKAnalyzer For Lucene 5.2.1适用
- IK分词器完整资源包 有配置文件和j
- 中文分词与关键词提取NLPIR java版
- java 实现的中文分词算法代码
- 数据挖掘机器学习课程报告及weka源码
- weka 稳定版3-6-13 (包括32位和64位)
- Java中文分词
- 机器学习工具weka
- 人工智能大作业.zip
- 机器学习
- Android-TensorFlow超时所需资源
- lucene检索代码,自己总结的非常详细
- Machine Learning in Java.PDF+代码
- Java中文分词生成词云GUI
- 贝叶斯分类实现垃圾信息分类支持中
- solr4的IK中文分词器IKAnalyzer2012FF_u1.j
- java实现的中文词性标注算法
- 代价敏感决策树代码
- java实现KMeans算法代码
- FMM前向最大分词技术
- 基于Spark的机器学习-智能客户系统项
- Spark大数据中文分词统计Java工程源码
- KNN人工智能机器学习算法JAVA实现
- 决策树ID3算法Java实现
- IK_CAnalyzer.jar
评论
共有 条评论