资源描述:
《实验算法部分》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息处理模块要求:(1)利用自然语言处理、数据挖掘技术对爬去的网站、论坛、博客、微博等进行文本挖掘,从各种网络信息中准确提取出用户关心事件的时间、地点、主体、行为和客体等要素;(2)分析用户对事件要素的态度,构成特定的用户关注及态度模型。对大量不同类型网络信息的挖掘将形成具有差异性的模型库,同时也可以通过用户问卷调查的方式,获取更多具有差异性的关注模型作为补充。1.自然语言处理工具包:fudanNLPfudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。本工具包及其包含数据集使用LGPL3.0许可证。开发语言为Java。主要功能有:1.文本
2、分类新闻聚类;2.中文分词词性标注实体名识别关键词抽取依存句法分析时间短语识别;3.结构化学习在线学习层次分类聚类精确推理。InputStr1="甬温线特别重大铁路交通事故车辆经过近24小时的清理工作,26日深夜已经全部移出事故现场,之前埋下的D301次动车车头被挖出运走";InputStr2="甬温线
3、特别
4、重大
5、铁路交通事故车辆经过近24小时的清理工作,26日深夜已经全部移出事故现场,之前埋下的D301次动车车头被挖出运走";抽取top10:Output1={甬温线=100,运走=100,事故=52,工作=41,深夜=36,清理=36,全部=33,小时=30,移出=30,车辆=26
6、};importjava.util.ArrayList;Importjava.util.Map;importorg.fnlp.app.keyword.AbstractExtractor;importorg.fnlp.app.keyword.WordExtract;importedu.fudan.nlp.cn.tag.CWSTagger;importedu.fudan.nlp.corpus.StopWords;publicclassGetKeywords{publicArrayListGetKeyword(StringNews,intkeywordsNumber)thro
7、wsException{ArrayListkeywords=newArrayList();StopWordssw=newStopWords("models/stopwords");CWSTaggerseg=newCWSTagger("models/seg.m");AbstractExtractorkey=newWordExtract(seg,sw);Mapans=key.extract(News,keywordsNumber);for(Map.Entryentry:ans.entrySet(
8、)){Stringkeymap=entry.getKey().toString();Stringvalue=entry.getValue().toString();keywords.add(keymap);System.out.println("key"+keymap+"value"+value);}returnkeywords;}}输出结果是这样:2.关键字提取后对文本进行分类第一步,对文档进行预处理过程。按照文本文档数据集(一般分目录放置文本文档)路径对所有训练文档扫描,分析出不同的单词。第二步,建立词频矩阵。预处理之后,将文章变为一个词集,单词也称为特征项或属性。把文档看成是一个
9、词向量(word vector ),它的维数是所有不同的单词个数,词集中可以有数万个不同的单词。第三步,构造文本分类器。词频统计矩阵是算法建模的基础。在词频统计矩阵的基础上根据特定的算法构造分类器。主要任务是根据不同分类算法,计算词向量的权值。目前较为著名的文本分类算法包括支持向量机(Support Vector Machine,SVM), K 近邻法(K- Nearest Neighbour,KNN), 朴素贝叶斯法(NaiveBayes,NB), 神经网络法(Neural Network,NNet), 线性最小二乘法( Linear Least Squares Fit,LLSF)
10、等在本次实验中我组将打算用神经网络法。其代码如下。ackage com.mfsoft.ai.algorithm.imp; public class RbfNet extends Object {int inNum; //输入接点数int hideNum;//隐含接点数 int outNum; //输出接点数 double c[][];//重心 double d[];//距离(歪) int epochs; double x[]; //输入向量