首页 > 编程知识 正文

Python自然语言处理,nlp自然语言处理视频

时间:2023-05-05 00:32:57 阅读:142237 作者:1094

自然语言处理

1.Java自然语言处理链接pipe

LingPipe是用于自然语言处理的Java开放源代码工具包。 LingPipe现在有丰富的功能。 主题分类(Top Classification )、命名实体识别(Named Entity Recognition )、词性标记(Part-of Speech Tagging )、句子检测(Sentence Detection ) 拼写检查)兴趣短语检测(Interseting Phrase Detection )、聚类(Clustering )、字符语言建模(Character Language Modeling )、医学文献下载Parsing and Indexing (,数据库文本挖掘(Database Text Mining ),中文分词(Chinese Word Segmentation ),情感分析),Sentiment Analysis

2 .中文自然语言处理工具包FudanNLP

FudanNLP是一个主要为中文自然语言处理开发的工具包,它还包括用于实现这些任务的机器学习算法和数据集。

FudanNLP目前实现的内容如下。

中文处理工具中文分词

词性标注

实体名称识别

语法分析

时间公式识别

信息检索

机器学习Average Perceptron

Passive-aggressive Algorithm

k均值

Exact Inference

3 .自然语言处理工具Apache OpenNLP

OpenNLP是一个用于处理自然语言文本的机器学习工具包。 它支持许多常见的NLP任务,包括标识、语句划分、子词性标记、名称提取、分块和分析。

下载链接: http://opennlp.apache.org/

4 .自然语言处理工具CRF

CRF是著名的条件随机场开源工具,也是目前综合性能最好的CRF工具。 CRF本身已经是一个古老的工具,但由于其性能好,仍然是自然语言处理的重要工具。

NlpBamboo中文分词库使用此工具。

非常有叉子的库

下载地址http://search.maven.org/# browse|11864822

我学习了自然语言,听说了很多开源的自然语言处理工具。 在这里总结一下,方便自己学习。 其中有些人自己用过,有些人不是。 对于不熟悉的工具,稍后学习习惯后更新。

分词组件

1.IKAnalyzer

IK Analyzer是一个开源、基于Java语言开发的轻量级中文分词工具包。 从2006.12版本1.0开始,IK Analyzer已经发布了多个版本。 当前的最新版本是2012 u6,最初基于Luence,从3.0开始成为面向Java的通用分词组件。 独立于Luence,下载地址为http://git.Oschina.net/wltea的IK支持细粒度和智能分词两种分词模式,支持英文、数字、中文词汇等分词处理,与韩语、日语字符兼容可以支持和实现用户定义的词典IKAnalyzer.cfg.xml文件,以配置定制的扩展词典或禁用词典。 字典必须以UTF-8的BOM自由格式编码,每个单词占一行。 配置文件如下。

IKAnalyzer扩展配置

ext.dic;

stopword.dic; chinese_stopword.dic

部署IK很简单,只需将IKAnalyzer2012_u6.jar部署到项目的lib中,同时将IKAnalyzer.cfg.xml和词典文件放在src中,就可以在API中进行开发调用。

示例代码:

//*

*IK分词功能的实现

*@return

*/

publicstringspiltwords (string srcstring ) {

stringbufferwordsbuffer=new string buffer (' );

try{

iksegmenterik=newiksegmenter (new string reader ) srcstring ),true );

Lexemelex=null;

wile () ) lex=ik.next )!=null ) {

//system.out.print (lex.getlexemetext () )、)、)、)、);

words buffer.append (lex.getlexemetext () ) ).append ) ');

}

(}catch

(Exception e){

logger.error(e.getMessage());

}

return wordsBuffer.toString();

}

IK简单、易于扩展,分词结果较好并且采用Java编写,因为我平时的项目以Java居多,所以是我平时处理分词的首选工具。

2.中科院ICTCLAS

ICTCLAS是由中科院计算所历经数年开发的分词工具,采用C++编写。最新版本命名为ICTCLAS2013,又名为NLPIR汉语分词系统,官网为:http://ictclas.nlpir.org/。主要功能包括中文分词、词性标注、命名实体识别、用户词典功能,同时支持GBK编码、UTF8编码、BIG5编码,新增微博分词、新词发现与关键词提取。可以可视化界面操作和API方式调用。

3.FudanNLP

FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。FudanNLP及其包含数据集使用LGPL3.0许可证。

主要功能包括:

信息检索:文本分类,新闻聚类。

中文处理:中文分词,词性标注,实体名识别,关键词抽取,依存句法分析,时间短语识别。

结构化学习:在线学习,层次分类,聚类,精确推理。

工具采用Java编写,提供了API的访问调用方式。最新版本为FudanNLP-1.6.1,下载地址为:http://code.google.com/p/fudannlp/。

在使用时将fudannlp.jar以及lib中的jar部署于项目中的lib里面。models文件夹中存放的模型文件,主要用于分词、词性标注和命名实体识别以及分词所需的词典;文件夹example中主要是使用的示例代码,可以帮助快速入门和使用;java-docs是API帮助文档;src中存放着源码;PDF文档中有着比较详细的介绍和自然语言处理基础知识的讲解。

初始运行程序时初始化时间有点长,并且加载模型时占用内存较大。在进行语法分析时感觉分析的结果不是很准确。

4.The Stanford Natural LanguageProcessing Group

Stanford NLP Group是斯坦福大学自然语言处理的团队,开发了多个NLP工具,官网网址为:http://nlp.stanford.edu/software/index.shtml。其开发的工具包括以下内容:

4.1 Stanford CoreNLP

采用Java编写的面向英文的处理工具,下载网址为:http://nlp.stanford.edu/software/corenlp.shtml。主要功能包括分词、词性标注、命名实体识别、语法分析等。

我曾经采用它进行英语单词的词性还原,具体应用详见文章《采用Stanford CoreNLP实现英文单词词形还原》。

4.2 Stanford Word Segmenter

采用CRF(条件随机场)算法进行分词,也是基于Java开发的,同时可以支持中文和Arabic,官方要求Java版本1.6以上,推荐内存至少1G。下载地址为http://nlp.stanford.edu/software/segmenter.shtml。

简单的示例程序:

//设置分词器属性。

Properties props = new Properties();

//字典文件地址,可以用绝对路径,如d:/data

props.setProperty("sighanCorporaDict", "data");

//字典压缩包地址,可以用绝对路径

props.setProperty("serDictionary","data/dict-壮观的帽子6.ser.gz");

//输入文字的编码;

props.setProperty("inputEncoding", "UTF-8");

props.setProperty("sighanPostProcessing", "true");

//初始化分词器,

CRFClassifier classifier = new CRFClassifier(props);

//从持久化文件中加载分词器设置;

classifier.loadClassifierNoExceptions("data/ctb.gz", props);

// flags must be re-set after data is loaded

classifier.flags.setProperties(props);

//分词

List words = classifier.segmentString("语句内容");

4.3 Stanford POS Tagger

采用Java编写的面向英文、中文、法语、阿拉伯语、德语的命名实体识别工具,下载地址为:http://nlp.stanford.edu/software/tagger.shtml。还没有接触过,需要以后学习研究。

4.4 Stanford Named Entity Recognizer

4.5 Stanford Parser

4.6 Stanford Classifier

5.jcseg

Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同时提供了最新版本的lucene, solr, elasticsearch的分词接口!Jcseg自带了一个 jcseg.properties文件用于快速配置而得到适合不同场合的分词应用,例如:最大匹配词长,是否开启中文人名识别,是否追加拼音,是否追加同义词等!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。