自然语言处理工具调研1、中文自然语言处理工具包FudanNLPFudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。开发语言:Java;操作系统:跨平台FudanNLP目前实现的内容如下:1、中文处理工具:中文分词、词性标注、实体名识别、句法分析、时间表达式识别;2、信息检索:文本分类、新闻聚类、Lucene中文分词;3、机器学习:AveragePerceptron(感知器)Passive-aggressiveAlgorithm(被动攻击)、K-means、ExactInference(精确推理)。2、Java自然语言处理LingPipeLingPipe是一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能,包括主题分类(TopClassification)、命名实体识别(NamedEntityRecognition)、词性标注(Part-ofSpeechTagging)、句题检测(SentenceDetection)、查询拼写检查(QuerySpellChecking)、兴趣短语检测(IntersetingPhraseDetection)、聚类(Clustering)、字符语言建模(CharacterLanguageModeling)、医学文献下载/解析/索引(MEDLINEDownload,ParsingandIndexing)、数据库文本挖掘(DatabaseTextMining)、中文分词(ChineseWordSegmentation)、情感分析(SentimentAnalysis)、语言辨别(LanguageIdentification)等API。3、中科院ICTCLASICTCLAS是由中科院计算所历经数年开发的分词工具,采用C++编写。主要功能包括中文分词、词性标注、命名实体识别、用户词典功能,同时支持GBK编码、UTF8编码、BIG5编码,新增微博分词、新词发现与关键词提取。可以可视化界面操作和API方式调用。4、TheStanfordNaturalLanguageProcessingGroupStanfordNLPGroup是斯坦福大学自然语言处理的团队,开发了多个NLP工具。1)StanfordCoreNLP:采用Java编写的面向英文的处理工具,主要功能包括分词、词性标注、命名实体识别、语法分析等。2)StanfordWordSegmenter:采用CRF(条件随机场)算法进行分词,也是基于Java开发的,同时可以支持中文和Arabic,官方要求Java版本1.6以上,推荐内存至少1G。3)StanfordPOSTagger:采用Java编写的面向英文、中文、法语、阿拉伯语、德语的命名实体识别工具。4)StanfordNamedEntityRecognizer:采用条件随机场模型的命名实体工具。5)StanfordParser:进行语法分析的工具,支持英文、中文、阿拉伯文和法语。5IKAnalyzerIKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。IK支持细粒度和智能分词两种切分模式,支持英文字母、数字、中文词汇等分词处理,兼容韩文、日文字符。可以支持用户自定义的词典。6NLTKNLTK是一个python工具包,用来处理和自然语言处理相关的东西.NLTK在用Python处理自然语言的工具中处于领先的地位。它提供了WordNet这种方便处理词汇资源的接口,还有分类、分词、除茎、标注、语法分析、语义推理等类库。7python工具包PatternPattern的自然语言处理工具有词性标注工具(Part-Of-SpeechTagger),N元搜索(n-gramsearch),情感分析(sentimentanalysis),WordNet。支持机器学习的向量空间模型,聚类,向量机。8CRF++CRF++是著名的条件随机场开源工具,也是目前综合性能最佳的CRF工具。开发语言:C/C++;操作系统:WindowsLinux9开源机器学习工具包MalletMallet的作者是AndrewMcCallum大师(CRF创始人之一),此软件包基于java。通过mallet工具,可以进行自然语言处理,文本分类,主题建模。文本聚类,信息抽取等,此软件包基于java。通过mallet工具,可以进行自然语言处理,文本分类,主题建模,文本聚类,信息抽取等。10分布式在线机器学习框架JubatusJubatus是一个分布式处理框架和机器学习库,包含以下功能:在线机器学习库,包括:分类、聚合和推荐;fv_converter:数据预处理(用自然语言);在线机器学习框架,支持容错。开发语言:C/C++;操作系统:Linux11HanLPHanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。不仅仅是分词,而是提供词法分析、句法分析、语义理解等完备的功能。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。HanLP完全开源,包括词典。