Stanford_NLP_TOOLS:CRFClassifier

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介:

public class CRFClassifier<IN extends CoreMap>

extends AbstractSequenceClassifier<IN>

使用CRF模型进行层序划分的类。这个类具有处理不同格式文档的功能,但是当使用标准ColumnDocumentReaderAndWriter 类用来训练或者测试模型时,输入文件中要一行一个token(几列标志性的东西,比如单词、POSchunkanswer class)。ColumnDocumentReaderAndWriter 默认训练集是有3列输入的,分别是:单词、posgold class,但是这个可以通过map属性来指定。

当使用-textFile命令在一个文件上运行的时候,文件要是普通英文文本(或者简单的html/xml),通过PlainTextDocumentReaderAndWriter可以进行做一下简单的英文标记测试。用来读取文本的类可以通过 -plainTextDocumentReaderAndWriter来改变。-tokenizeOptions 标记提供了一些其他的标记器选项。

To read from stdin, use the flag -readStdin. The same reader/writer will be used as for -textFile.

要从标准输入读取文本的话,就是用-readStdin。至于-textFile,也可以使用同样的reader/writer

典型命令行使用:

为了将一个(含有(提供好的序列化的分类器)的训练好的模型)在文本文件上运行:

java -mx500m edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier conll.ner.gz -textFile samplesentences.txt

在一个属性文件(训练、测试、运行时)中指定全部参数:

java -mx1g edu.stanford.nlp.ie.crf.CRFClassifier -prop propFile

To train and test a simple NER model from the command line:

通过命令行训练和测试一个简单的NER(命名实体识别)模型:
java -mx1000m edu.stanford.nlp.ie.crf.CRFClassifier -trainFile trainFile -testFile testFile -macro > output

用多个文件进行训练:
java -mx1000m edu.stanford.nlp.ie.crf.CRFClassifier -trainFileList file1,file2,... -testFile testFile -macro > output

使用-testFiles选项和逗号分割的列表来进行多文件测试。

各种特征值通过FeatureFactory来定义。默认使用的是NERFeatureFactory,你可以查看特征值模版和在训练NER分类器中需要使用的特征值的属性或标记。还有一个edu.stanford.nlp.wordseg.SighanFeatureFactory,以及各种继承者,例如用来进行中文分词的ChineseSegmenterFeatureFactory。特征值可以通过Properties文件(推荐)或者命令行的标记来指定。各种标记被读入到一个SeqClassifierFlags 对象,除非用户想添加新的特征,否则用户不用关注它。

    CRFClassifier也可以在程序中使用,当新建一个实例的时候,你一定要指定Properties对象。然后你要调用训练函数来训练分类器或者加载一个分类器。另一种得到CRFClassifier的方法就是通过静态函数getClassifier(String)来返回一个反序列化的分类器。之后你可能就会标注文档,可以使用合适的classify()或者AbstractSequenceClassifier中合适的classify函数。可以通过printProbsDocument()或getCliqueTrees() 询问CRF给定的概率。



本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/11/29/2794280.html,如需转载请自行联系原作者

相关文章
|
自然语言处理 数据可视化 Java
NLP6:stanford Parser中文分词
NLP6:stanford Parser中文分词
175 0
|
25天前
|
机器学习/深度学习 算法框架/工具 Python
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
47 0
|
6月前
|
机器学习/深度学习 自然语言处理 监控
自然语言处理(Natural Language Processing, NLP)中的情感分析
自然语言处理(Natural Language Processing, NLP)中的情感分析
123 3
|
机器学习/深度学习 JSON 缓存
Transformers自然语言处理第二章 文本分类Part 1
文本分类是自然语言处理中最常见的任务之一,它可用于各种应用,例如将客户反馈标记为不同的类别,或者根据语言分发工单。电子邮件程序的垃圾邮件过滤器很有可能正在使用文本分类来保护收件箱免受大量不需要的垃圾邮件的侵扰!
550 2
Transformers自然语言处理第二章 文本分类Part 1
|
机器学习/深度学习 数据采集 自然语言处理
nlp入门之nltk工具的使用
本文作为nlp入门开山第三篇,简要的介绍了nltk工具的使用
|
机器学习/深度学习 PyTorch TensorFlow
modelscope零基础安装NLP环境
win系统举例环境安装NLP
|
机器学习/深度学习 人工智能 自然语言处理
Machine Learning-L0-机器学习简介
Machine Learning-L0-机器学习简介
Machine Learning-L0-机器学习简介
|
机器学习/深度学习 存储 自然语言处理
NLP情感分析笔记(二):Updated情感分析
首先设置seed,并将其分类训练、测试、验证集。
366 0
NLP情感分析笔记(二):Updated情感分析
|
人工智能 自然语言处理 达摩院
EasyNLP开源|中文NLP+大模型落地,EasyNLP is all you need
EasyNLP背后的技术框架如何设计?未来有哪些规划?今天一起来深入了解。
EasyNLP开源|中文NLP+大模型落地,EasyNLP is all you need
|
机器学习/深度学习 人工智能
开源翻译中文版《深度学习(Deep Learning)》
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。 专业研究人工智能的同学推荐的这本《深度学习》。
1690 0