用python处理自然语言,精通python自然语言处理 pdf

  用python处理自然语言,精通python自然语言处理 pdf

  自然语言处理

  1.Java自然语言处理链接管道

  用于自然语言处理的Java开源工具包。Pipe现在有了丰富的功能。顶级分类、命名实体识别、词性标注、句子检测和拼写检查)短语检测、聚类、字符语言建模、医学文献下载解析和索引、数据库文本挖掘、中文分词、情感分析、情感分析

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

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

  dannlp的当前实现如下。

  中文处理工具中文分词

  词性标注

  实体名称识别

  语法分析

  时间公式识别

  红外的

  机器学习平均感知器

  被动-主动算法

  k平均值

  精确推理

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

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

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

  4.自然语言处理工具CRF

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

  NlpBamboo中文分词库用的就是这个工具。

  有叉子的图书馆。

  下载地址http://search.maven.org/#浏览 11864822

  学习了自然语言,听说了很多开源的自然语言处理工具。下面总结一下,供大家自己学习。他们有的自己用过,有的没用过。对于不熟悉的工具,以后学习习惯后再更新。

  分词组件

  1.分词器

  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中文_停用词. dic

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

  示例代码:

  //*

  *实现IK分词功能

  * @返回

  */

  publicstringspiltwords(string srcstring){

  stringbufferwordsbuffer=新字符串缓冲区();

  尝试{

  iksegmenterik=newiksegmenter(新字符串读取器)srcstring),true);

  Lexemelex=null

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

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

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

  }

  (}接住

  (例外){

  logger . error(e . getmessage());

  }

  returnwordsbuffer . 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。存储在models文件夹中的模型文件主要用于分词、词性标注、命名实体识别以及分词所需的词典;示例文件夹主要包含使用的示例代码,可以帮助你快速入门和使用;Java-docs是一个API帮助文档;源代码存储在src中;PDF里有自然语言处理基础知识的详细介绍和讲解。

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

  4.斯坦福自然语言处理小组

  斯坦福大学的自然语言处理团队——斯坦福自然语言处理小组开发了许多自然语言处理工具。官方网站的网址是:http://nlp.stanford.edu/software/index.shtml.开发的工具包括以下内容:

  4.1斯坦福CoreNLP

  一个用Java写的面向英语的处理工具,从http://nlp.stanford.edu/software/corenlp.shtml.下载的功能主要有分词、词性标注、命名实体识别、语法分析等。

  我用它恢复过英语单词的词性。详情见文章《采用Stanford CoreNLP实现英文单词词形还原》。

  4.2斯坦福分词器

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

  简单的示例程序,用于:

  //设置分词系统属性。

  properties props=new properties();

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

  props . set property( sighanCorporaDict , data );

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

  Props.set属性( ser dictionary , data/dict-specular hat 6 . ser . gz );

  //输入文本的代码;

  props . set property( input encoding , UTF-8 );

  props . set property( sighan后处理, true );

  //初始化分词系统,

  crfclassiferclassifier=newCRFClassifier(props);

  //从持久性文件中加载分词系统设置;

  classifier . loadclassifiernoexceptions( data/CTB . gz ,props);

  //flagsmustbere-setafterdataisloaded

  classifier . flags . set properties(props);

  //分词

  list words=classifier . segment string(语句内容);

  4.3斯坦福POS标签

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

  4.4斯坦福命名实体识别器

  4.5斯坦福解析器

  4.6斯坦福分类器

  5.jcseg

  Jcseg是一款基于mmseg算法的轻量级中文分词机器,集关键词抽取、关键短语抽取、关键句子抽取、文章自动摘要等功能于一体。还提供了基于Jetty的web服务器,方便各大语言直接http调用,提供了lucene,solr,elasticsearch最新的分词接口!Jcseg自带一个jcseg.properties文件,可以快速配置得到适合不同场合的分词应用,比如:最大匹配单词长度、是否开启中文姓名识别、是否添加拼音、是否添加同义词等!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: