`

java 语义分析 开源

阅读更多

 

语义分析 

LingPipe的优势是:

  • 比较全面的覆盖自然语言处理的各个分支,文本分词,聚类,语义情感分析,领域知识学习等等
  • 具有全套在research上免费的源码,样列代码,测试代码(商业与非商业均同一套代码),并且文档详细,对于其中模型所参考的论文都引用出来,适合研究学习.
  • 作为相对开源资源缺少的领域,项目一直持续更新中.

包含的模块:

  • 主题分类(Top Classification) : 基于文本语言模型训练,归类
  • 命名实体识别(Named Entity Recognition):基于first-best, n-best and per-entity confidencemodes识别,以及训练与评估识别器
  • 聚类(Clustering): 基于single-link andcomplete-link多层聚类,包裹一些聚类评估技术
  • 词性标注(Part-of Speech Tagging):
  • 句题检测(Sentence Detection):
  • 拼写更正(Spelling Correction):基于"你要找的是"风格的检查引擎
  • 数据库文本挖掘(Database Text Mining)
  • 字符串比较(String Comparison) :基于距离与相似度测量,包括权重距离,TF/IDF距离,Jaccard distance, Jaro-Winkler distance,等
  • 兴趣短语检测(Interseting Phrase Detection)
  • 字符语言建模(Character Language Modeling)
  • 中文分词(Chinese WordSegmentation)基于空格分割类似训练库,机器学习,发现认知新词
  • 数据库文本挖掘(Database Text Mining)
  • 情感分析(Sentiment Analysis)基于文本聚类
  • 断字识音(Hyphenation and Syllabification)
  • 语言辨别(Language Identification)
  • 奇异值分解(Singular Value Decomposition)
  • 逻辑回归 (Logistic Regression)
  • 期望最大化(Expectation Maximization)
  • 词义排歧(Word Sense Disambiguation)

LingPipe包含资源:

 

  • Papaer&language material :source,介绍中均包含有所引用资源

目前个人应用LingPipe包中的中文分词,结合情感分析模块研究中文情感检测与辨别。API接口均已高度概括化,便于快速实现,不过所运用的算法需要详尽的分析。

 

 

 

 


  • 自然语言工具包 NLTK

     

    NLTK 会被自然地看作是具有栈结构的一系列层,这些层构建于彼此基础之上。那些熟悉…

     

 

 

 


  • 机器学习软件包 Mallet

     

    Mallet是专门用于机器学习方面的软件包,此软件包基于java。通过mallet工具,可以进…

     

 

 


  • DKPro Core

     

    DKPro Core 是基于 Apache UIMA 框架之上的自然语言处理(NLP)的软件组件。DKPro…

     

 


  • TextTeaser

     

    TextTeaser是一个自动摘要算法,结合了自然语言处理的力量和机器学习产生好结果。…

 

OpenNLP

OpenNLP是一个基于Java机器学习工具包,用于处理自然语言文本。支持大多数常用的 NLP 任务,例如:标识化、句子切分、部分词性标注、名称抽取、组块、解析等。

FudanNLP

FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。本工具包及其包含数据集使用LGPL3.0许可证。开发语言为Java。
功能:
1. 文本分类 新闻聚类
2. 中文分词 词性标注 实体名识别 关键词抽取 依存句法分析 时间短语识别
3. 结构化学习 在线学习 层次分类 聚类 精确推理

Standford NLP

Standford NLP提供了一系列的自然语言处理工具。

 

机器学习

Support Vector Machine

An implementation of Vapnik's Support Vector Machine A Library for Support Vector Machines

Decision Tree

The "classic" decision-tree tool, developed by J. R. Quinlan Tutorial

Maximum Entropy

Yet Another Small MaxEnt Toolkit

Conditional Random Field

A simple, customizable, and open source implementation of Conditional Random Fields (CRFs) for segmenting/labeling sequential data

自然语言处理

综合

An organizational center for open source projects related to natural language processing A suite of UNIX software tools to facilitate the construction and testing of statistical language models A Java-based development package for academic use in information retrieval (IR) and text mining. Include many NLP tools A suite of Java libraries for the linguistic analysis of human language, including
  • track mentions of entities (e.g. people or proteins);
  • link entity mentions to database entries;
  • uncover relations between entities and actions;
  • classify text passages by language, character encoding, genre, topic, or sentiment;
  • correct spelling with respect to a text collection;
  • cluster documents by implicit topic and discover significant trends over time; and
  • provide part-of-speech tagging and phrase chunking.
Open source Python modules, linguistic data and documentation for research and development in natural language processing and text analytics, with distributions for Windows, Mac OSX and Linux.
  • Advanced Natural Lange Object-oriented Processing Environment.包括一系列工具(特别c#的stanford parser)

分词

中科院的中文分词系统 A Java implementation of a CRF-based Chinese Word Segmenter

词性标注

A error-driven transformation-based tagger implemented by Eric Brill A Java implementation of the log-linear part-of-speech taggers descriped by Kristina Toutanova, et.al. A decision tree based tagger from the University of Stuttgart. An HMM-based Java POS tagger from Birmingham U.

命名实体识别

A Java implementation of a Conditional Random Field sequence model, together with well-engineered features for Named Entity Recognition Tools include statistical named-entity recognition, a heuristic sentence boundary detector, and a heuristic within-document coreference resolution engine. Java. GPL. By Bob Carpenter, Breck Baldwin and co. SVM-based NP-chunker, also usable for POS tagging, NER, etc. C/C++ open source. Won CoNLL 2000 shared task. (Less automatic than a specialized POS tagger for an end user.)

Stemming

A process for removing the commoner morphological and inflexional endings from words in English byMartin Porter A small string processing language designed for creating stemming algorithms for use in Information Retrieval.

句法分析

Java implementations of probabilistic natural language parsers, both highly optimized PCFG and dependency parsers, and a lexicalized PCFG parser.

文本挖掘

摘要

其他

加密

包括众多加密算法,RSA、DES、MD5、SHA等 Win32安装版

压缩

A Massively Spiffy Yet Delicately Unobtrusive Compression Library

日志

Creates and maintains open-source software related to the logging of application behavior and released at no charge to the public, including 注: log4cxx官方版本有内存泄漏问题

Unicode

A mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications

XML

A validating XML parser, including C and Java edition

多字符串匹配

  • AC in C# : Aho-Corasick string matching in C#

HTML Parser

  • Html Agility Pack , an agile HTML parser that builds a read/write DOM and supports plain XPATH or XSLT. It is a .NET code library that allows you to parse "out of the web" HTML files.
  • Majestic-12 , an open source high-performance .NET C# module that was created to parse HTML for links, indexing and other purposes. 速度快,但不生成dom树

外部联接

 

自然语言处理

http://www.oschina.net/p/lingpipe/similar_projects

 

http://opennlp.apache.org/cgi-bin/download.cgi

 

https://code.google.com/p/fudannlp/

分享到:
评论

相关推荐

    semantic-analyzer:Java语义分析器应用程序,用于Java编程语言的子集

    Java编程语言的子集的语义分析器。 :语义分析(也包括上下文敏感分析)是编译器构造过程中的一个过程,通常在解析后从源代码中收集必要的语义信息。 它通常包括类型检查,或确保在使用前声明了一个变量,该变量...

    编译原理语义分析java实现

    在实际的编译器开发中,可能会使用诸如ANTLR、LLVM这样的开源工具和库来帮助实现语义分析。ANTLR是一个强大的解析工具,可以生成词法分析器和语法分析器,而LLVM则提供了优化和目标代码生成的框架。这些工具可以显著...

    Compilador-Lexico-y-Sintactico:词法分析、句法分析和语义分析,在 Java 中使用库(.Lex 和 .Cup)完成

    编译器设计涉及多个阶段,其中最重要的三个阶段是词法分析、句法分析和语义分析。本项目“Compilador-Lexico-y-Sintactico”正是关注于这些过程,并在Java环境下使用特定的库——.Lex和.Cup来实现。 词法分析,也...

    语音和语义分析demo

    在Java中,可以使用开源库如Stanford CoreNLP或OpenNLP来进行语义分析。通过这个demo,初学者可以学习如何使用这些工具进行文本预处理,提取关键信息,以及如何进行情感倾向的判断。 文档"语义分析和语音分析.docx...

    Java之词义相似度计算(语义识别、词语情感趋势、词林相似度、拼音相似度、概念相似度、字面相似度)

    在Java中,可以使用开源库如Stanford NLP或OpenNLP进行词性标注、依存关系分析、命名实体识别等,这些是语义分析的基础步骤。 其次,**词语情感趋势**涉及文本情感分析,即判断文本中表达的情感倾向,如正面、负面...

    语义分析程序的设计与实现

    实现语义分析的代码通常会涉及C++、Java或Python等编程语言,使用递归下降解析、LL(1)或LR(1)解析技术。此外,可能会用到开源库如ANTLR或Flex & Bison来辅助解析和构建AST。 8. **挑战与难点**: - 处理复杂的...

    基于本体解析和语义分析系统

    本篇文章将深入探讨如何在Eclipse开发环境中,利用Java语言,结合Lucene、Jena等工具,构建一个基于本体解析和语义分析的系统。 首先,Eclipse是Java开发者常用的一款集成开发环境(IDE),其强大的代码编辑、调试...

    java版本词法、语法分析器以及三地址代码生成实验源代码

    另外,ANTLR等开源库也是进行语法分析的好工具,它们可以自动生成解析器代码。 三地址代码是一种中间表示(Intermediate Representation, IR),用于简化和优化编译过程。每条三地址指令涉及三个地址:两个操作数和...

    基于MiniC的语义分析(Javacc实现)

    JavaCC(Java Compiler Compiler)是一款强大的、开源的Java解析器生成器,它可以自动生成符合用户定义的BNF(Backus-Naur Form)规范的解析器。在本项目中,开发者使用JavaCC来解析MiniC的源代码,进行语法分析并...

    JAVA开源关键词提取框架

    总的来说,Java开源关键词提取框架为开发者提供了一种高效、灵活的方式,帮助他们从大量文本数据中抽取出最有价值的信息,对于数据挖掘、信息检索和文本分析等应用场景有着重要的实用价值。通过深入研究和实践这些...

    基于deeplearning4j深度学习框架实现的价格预测,语义分析,文本分类等场景的代码.zip

    本项目以Java为编程语言,采用开源深度学习库DeepLearning4J,针对价格预测、语义分析和文本分类三大任务进行了实战应用。 1. DeepLearning4J简介 DeepLearning4J(DL4J)是专为Java和Scala设计的深度学习库,它...

    语法分析器java实现

    例如,你可以使用Java的`java.util.regex`包来匹配字符串模式,或者使用开源库如ANTLR、JFlex等生成高效的词法分析器。 **语法分析器(Parser)**: 语法分析器基于词法分析器生成的Token流进行工作,它的主要任务...

    开源的语义检索

    附件为一个语义检索程序样例,操作步骤如下 1.配置java环境变量 2.解压附件后放到tomcat下的应用目录下 3.到http://kent.dl.sourceforge.net/sourceforge/jena/Jena-2.4.zip下载jena,把下载后lib下的全部资源库放到...

    LatentSemanticAnalysis:Java 中的潜在语义分析实现

    在 Java 中实现 LSA,可以使用开源库如 Apache Mahout 或者自己编写算法。Mahout 提供了丰富的机器学习工具,包括 SVD 实现,可以方便地集成到 Java 项目中。此外,还可以使用如 Apache Commons Math 库来执行矩阵...

    语义自动批量生成(java源码)+restAPI

    本项目采用Java编写,意味着开发者可以利用这个开源代码在不同的操作系统上构建TTS应用。 批量文件转语音功能对于需要处理大量文本的业务场景非常有用,例如有声读物制作、在线教育、新闻播报等。通过并发处理,该...

    SmallMath语言(java开源)

    总的来说,SmallMath是一个用Java实现的简单计算语言,它的设计和实现涉及到编译原理中的词法分析、语法分析和语义分析等核心概念。通过学习和研究这个项目,开发者可以深入理解编译器的工作原理,同时也可以了解...

    根据一句话 添加闹钟提醒 分析语义事件提醒

    在Java中,可以使用开源库如Stanford CoreNLP或Apache OpenNLP来实现这些功能。 3. **提醒**:这可能指的是当语义分析确定了需要提醒的事件时,程序会触发通知。在Android中,可以使用NotificationManager来创建和...

    ansj语义分析

    ansj语义分析库由Java编写,设计用于处理中文文本,特别是对于大规模文本数据的快速处理。其名称“ansj”来源于“Analysis of natural language and word segmentation”的缩写,体现了它的主要功能:自然语言分析与...

    基于 Pytorch 和 MMCV 语义分割开源算法库,也是语义分割算法性能评估框架,已提供超过420个语义分割算法模型

    基于 Pytorch 和 MMCV 语义分割开源算法库,也是语义分割算法性能评估框架,已提供超过420个语义分割算法模型,并支持多种分割任务数据集,包括自然图像、遥感图像等。

    实验7 Java源代码分析程序

    Java源代码分析程序是一种用于理解、检查或操作Java源代码的工具,它通常涉及语法解析、语义分析以及代码质量检查等步骤。在本实验中,我们将探讨Java初级阶段如何创建一个简单的源代码分析程序。 一、Java语言基础...

Global site tag (gtag.js) - Google Analytics