精华内容
下载资源
问答
  • 英文词性标注语料库

    2019-08-02 16:36:59
    英文分词语料库,共有198796行,每个单词都有词性标注,对句话的结束都有句号,便于处理。覆盖大部分主流行业的语料。 例如: Newsweek/NNP ,/, trying/VBG to/TO keep/VB pace/NN with/IN rival/JJ Time/NNP ...
  • postag.zip
  • jieba分词词性标注.py

    2019-11-20 13:26:39
    将需要分词进行词性标注的句子存放在corpus文本文件(自建)中,最好是每句话存为一行。注:corpus文件需放在代码所在文件夹里。运行代码,自动生成一个outcome文本文件,分词词性标注结果就在此文本里。
  • 判别式藏语文本词性标注研究
  • 国标863词性标注

    2018-07-06 09:34:24
    国标863词性标注集,ltp使用的词性标注集,有利于自然语言处理的分析。
  • 斯坦福大学英文词性标注工具,可以进行英文产品评论的词性标注,非常好用
  • 词性标注@人民日报199801 nlp 自然语言处理 。。。。。。
  • Seg_Pos 中文分词与词性标注工具的性能比较 中文分词和词性标注的模型: (, , , )中文分词和词性标注工具性能对比 模型下载地址:链接: ://pan.baidu.com/s/1sgwBEOX1sEZC9bBVYVPTEw密码:fgky
  • 中文分词及词性标注语料,包含微软亚研院、搜狗、北京大学等的语料库
  • 结巴分词(java版)只保留的原项目针对搜索引擎分词的功能(cut_for_index、cut_for_search),词性标注,关键词提取没有实现(今后如用到,可以考虑实现)。 * 简介 ** 支持分词模式 - Search模式,用于对用户查询词...
  • 效果好:通过深度学习模型联合学习分词,词性标注,专名识别任务,单词索引,整体效果F1值超过0.91,词性标注F1值超过0.94,专名识别F1值超过0.85,效果领先。 效率高:精简模型参数,结合Paddle预测库的性能优化,...
  • 资源为1998年人民日报1-6月份带词性标注的语料库中的1998年3月份的语料,其他月份的语料可以到我的主页下载,亦可私信我获取。
  • 仅供学习和研究使用,禁止用于商业行为
  • Sequence labeling base on universal transformer (Transformer encoder) and CRF; 基于Universal Transformer CRF 的中文分词和词性标注
  • 词性标注

    2020-12-31 14:46:21
    同一个类别的词语具有相似的语法性质,所有词性的集合称为词性标注集。不同的语料库采用了不同的词性标注集,一般都含有形容词、动词、名词等常见词性。下图就是HanLP输出的一个含有词性的结构化句子。 词性的用处 ...

    纯属为了记录自己学习的点滴过程,99%都是复制别人的东西,引用资料都附在参考列表

    1 基本概念

    什么是词性
    在语言学上,词性(Par-Of-Speech, Pos )指的是单词的语法分类,也称为词类。同一个类别的词语具有相似的语法性质,所有词性的集合称为词性标注集。不同的语料库采用了不同的词性标注集,一般都含有形容词、动词、名词等常见词性。下图就是HanLP输出的一个含有词性的结构化句子。

    词性的用处
    词性的作用是提供词语的抽象表示,词的数量是无穷的,但词性的数量是有限的。词性支撑着许多高级应用,当下游应用遇到 OOV 时,可以通过 OOV 的词性猜测用法,比如上面的句子“林晚霞”就识别为人名进行处理,而不会拆开。
    词性也可以直接用于抽取一些信息,比如抽取所有描述特定商品的形容词等。

    序列标注问题
    序列标注指的是给定一个序列 ,找出序列中每个元素对应标签 的问题。其中,y 所有可能的取值集合称为标注集。比如,输入一个自然数序列,输出它们的奇偶性。
    求解序列标注问题的模型一般称为序列标注器,通常由模型从一个标注数据集中学习相关知识后再进行预测。在NLP问题中,x 通常是字符或词语,而 y 则是待预测的组词角色或词性等标签。中文分词、词性标注以及命名实体识别,都可以转化为序列标注问题。

    2 问题

    以1998年《人民日报》一月份语料库作为训练、测试数据;
    训练集:
    在这里插入图片描述
    测试集:
    在这里插入图片描述
    除了文本具体内容,两个数据集标注标准、词性标注集完全一样。
    在上面的数据中,每个词组成的序列称为观测序列,每个词对应的词性组成的序列称为状态序列。

    3 解决思路

    3.1 基于隐马尔可夫模型的词性标注

    HMM是概率有向图模型中的一种,应该是机器学习中推理最繁琐的算法了,并且用到了动态规划算法,具体数学细节参考《统计学习方法》;
    隐马尔可夫模型( Hidden Markov Model, HMM)是描述两个时序序列联合分布 p(x,y) 的概率模型: x 序列外界可见(外界指的是观测者),称为观测序列(obsevation sequence); y 序列外界不可见,称为状态序列(state sequence)。比如观测 x 为单词,状态 y 为词性,我们需要根据单词序列去猜测它们的词性。隐马尔可夫模型之所以称为“隐”,是因为从外界来看,状 态序列(例如词性)隐藏不可见,是待求的因变量。从这个角度来讲,人们也称状态为隐状态(hidden state),而称观测为显状态( visible state)。隐马尔可夫模型之所以称为“马尔可夫模型”,”是因为它满足马尔可夫假设;
    从数据–>HMM模型–>预测词性,要解决概率计算问题、学习问题、预测问题,预测问题就是根据观测序列,预测概率最大的状态序列(即词性序列);

    3.2 基于条件随机场的词性标注

    CRF是概率无向图模型中的一种,数学细节和HMM基本类似,具体数学细节参考《统计学习方法》;
    Hanlp中的CRF实现由于基于java虚拟机,速度比c++要慢,所以作者建议直接在本机上安装crf++,mac安装很简单:brew install crf++,其它安装方法参考https://blog.csdn.net/zzzzlei123123123/article/details/104299040这篇博客。
    即使在本机上安装了crf++,训练上面的数据依然有点漫长,大概1h+😊;

    3.3 基于感知机的词性标注

    perceptron算法可以说是一层神经网络,多层perceptron便成了深度学习模型,具体参考《统计学习方法》;
    按照中文分词时的经验,感知机能够利用丰富的上下文特征,是优于隐马尔可夫模型的选择,对于词性标注也是如此。
    感知机词性标注模板
    状态特征:
    x t − 1 , x t , x t + 1 x_{t-1}, x_t, x_{t+1} xt1,xt,xt+1 x t x_t xt第一个字符, x t x_t xt长2前缀, x t x_t xt长3前缀, x t x_t xt最后一个字符, x t x_t xt长2后缀, x t x_t xt长3后缀
    转移特征:
    y t − 1 y_{t-1} yt1

    4 实现

    4.1 基于隐马尔可夫模型实现

    from pyhanlp import *
    # 这里使用的是1998年《人民日报》1月份语料
    from tests.book.ch07.pku import PKU199801_TRAIN
    
    HMMPOSTagger = JClass('com.hankcs.hanlp.model.hmm.HMMPOSTagger')
    AbstractLexicalAnalyzer = JClass('com.hankcs.hanlp.tokenizer.lexical.AbstractLexicalAnalyzer')
    PerceptronSegmenter = JClass('com.hankcs.hanlp.model.perceptron.PerceptronSegmenter')
    FirstOrderHiddenMarkovModel = JClass('com.hankcs.hanlp.model.hmm.FirstOrderHiddenMarkovModel')
    SecondOrderHiddenMarkovModel = JClass('com.hankcs.hanlp.model.hmm.SecondOrderHiddenMarkovModel')
    
    def train_hmm_pos(corpus, model):
        tagger = HMMPOSTagger(model)  # 创建词性标注器
        tagger.train(corpus)  # 训练
        # 词性标注器不负责分词,所以只接受分词后的单词序列
    #     print(', '.join(tagger.tag("他", "的", "希望", "是", "希望", "上学")))  # 预测
        # 加上analyzer可以同时执行分词和词性标注
        analyzer = AbstractLexicalAnalyzer(PerceptronSegmenter(), tagger)  # 构造词法分析器
        # 英文缩写词性
    #     print(analyzer.analyze("今年元旦我要去看升国旗!"))  # 分词+词性标注
        # 把英文缩写词性转化为英文
        print(analyzer.analyze("他的希望是希望上学").translateLabels())  # 分词+词性标注
        return tagger
     
    
    # 一阶隐马尔可夫
    tagger = train_hmm_pos(PKU199801_TRAIN, FirstOrderHiddenMarkovModel())
    # 二阶隐马尔可夫
    tagger = train_hmm_pos(PKU199801_TRAIN, SecondOrderHiddenMarkovModel()) 
    

    运行结果:

    /代词 的/助词 希望/名词 是/动词 希望/动词 上学/动词
    他/代词 的/助词 希望/名词 是/动词 希望/动词 上学/动词
    

    4.2 基于条件随机场模型实现

    
    from pyhanlp import *
    from tests.book.ch07.demo_hmm_pos import AbstractLexicalAnalyzer, PerceptronSegmenter
    from tests.book.ch07.pku import POS_MODEL, PKU199801_TRAIN
    
    CRFPOSTagger = JClass('com.hankcs.hanlp.model.crf.CRFPOSTagger')
    
    
    def train_crf_pos(corpus):
        # 选项1.使用HanLP的Java API训练,慢
        tagger = CRFPOSTagger(None)  # 创建空白标注器
        tagger.train(corpus, POS_MODEL)  # 训练
        tagger = CRFPOSTagger(POS_MODEL) # 加载
        # 选项2.使用CRF++训练,HanLP加载。(训练命令由选项1给出)
        # tagger = CRFPOSTagger(POS_MODEL + ".txt")
        print(', '.join(tagger.tag("他", "的", "希望", "是", "希望", "上学")))  # 预测
        analyzer = AbstractLexicalAnalyzer(PerceptronSegmenter(), tagger)  # 构造词法分析器
        print(analyzer.analyze("李狗蛋的希望是希望上学"))  # 分词+词性标注
        return tagger
    
    
    if __name__ == '__main__':
        tagger = train_crf_pos(PKU199801_TRAIN)
    
    
    • 跑了近2h没有成功,😭!,笔记本风扇一直狂叫,还是转移到服务器上干吧!

    4.3 基于感知机模型实现

    from pyhanlp import *
    from tests.book.ch07.demo_hmm_pos import AbstractLexicalAnalyzer, PerceptronSegmenter
    from tests.book.ch07.pku import PKU199801_TRAIN, POS_MODEL
    
    POSTrainer = JClass('com.hankcs.hanlp.model.perceptron.POSTrainer')
    PerceptronPOSTagger = JClass('com.hankcs.hanlp.model.perceptron.PerceptronPOSTagger')
    
    
    def train_perceptron_pos(corpus):
        trainer = POSTrainer()
        # trainer.train(corpus, POS_MODEL)  # 训练
        tagger = PerceptronPOSTagger(POS_MODEL)  # 加载
        print(', '.join(tagger.tag("他", "的", "希望", "是", "希望", "上学")))  # 预测
        analyzer = AbstractLexicalAnalyzer(PerceptronSegmenter(), tagger)  # 构造词法分析器
        print(analyzer.analyze("李狗蛋的希望是希望上学"))  # 分词+词性标注
        return tagger
    
    
    if __name__ == '__main__':
        train_perceptron_pos(PKU199801_TRAIN)
    

    运行结果:

    /r 的/u 希望/n 是/v 希望/v 上学/v
    

    4.4 词性标注评测

    可以对每种标签计算一套 P , R , F 1 P, R, F_1 P,R,F1, 也可以笼统地为所有标签计算一套值,此时预测的标签总数=测试集中的标签总数,三个指标退化为相等的 A c c u r a c y Accuracy Accuracy
    Accuracy = #{预测正确的标签数} / #{标签总数}。
    将 PKU 语料库按 9:1 分隔为训练集和测试集,分别用以上三种模型来训练,准确率如下:

    算法准确率
    一阶隐马尔可夫模型44.99%
    二阶隐马尔可夫模型40.53%
    结构化感知机83.07%
    条件随机场82.12%

    从上图可知,结构化感知机和条件随机场都要优于隐马尔可夫模型,判别式模型能够利用更多的特征来进行训练,从而提高更多的精度。

    5 参考文献

    1. 何晗《自然语言处理入门》;
    2. 宗成庆《统计自然语言处理》;
    3. 李航《统计学习方法》;

    6 需要解决的问题

    1. 从毛数据到喂给模型训练,数据是怎样处理的?
    2. 三种模型在学习之前,具体的表达形式是什么?
    3. hanlp把数据处理和训练、预测高度集成化,尤其是python代码很难将其拆解为数据预处理、特征提取,模型训练这样标准的流程,能否找到对应的工具,将以上实验重现?
    4. 同一份数据,为什么CRF模型训练的速度如此之慢(其它两个模型10倍时间)?
    展开全文
  • corenlp中的词性标注缩写含义使用的是Penn Treebank tag set,这是全部对应缩写的含义,这份资源下载自https://www.eecis.udel.edu/~vijay/cis889/ie/pos-set.pdf
  • 分类_分词@12大类5485文本1127万_搜狗.20151022 各种词库 用语分词、词性标注等自然语言处理NLP任务
  • 词性标注traindata.rar

    2020-08-29 22:17:13
    英文词性标注训练数据。英文词性标注训练数据。英文词性标注训练数据。英文词性标注训练数据。英文词性标注训练数据。英文词性标注训练数据。英文词性标注训练数据。英文词性标注训练数据。英文词性标注训练数据。...
  • 词性标注的python实现-基于平均感知机算法-附件资源
  • 2)从词性和汉语句子成分理解的角度,逐一分析了24种依存关系对句子情感计算的影响,找出了可能影响句子情感倾向性的8种依存关系;3)根据这8种依存关系中可能的词性组合设计了6种情感计算规则,并提出了基于二叉树...
  • 中文词性标注

    2018-04-13 15:20:14
    中文词性标注的科普文章,小标记集。词性标注除了使用《现代汉语语法信息词典》中的26 个词类标记 (名词n、时间词t、处所词s、方位词f、数词m、量词q、区别词b、代词r、动词v、形 容词a、状态词z、副词d、介词p、...
  • 借助世界上最大的多语种语料库,HanLP2.1支持包括简繁中英日俄法德在内的104种语言上的10种联合任务:分词(粗分、细分2个标准,强制、合并、校正3种)、词性标注(PKU、863、CTB、UD四套词性规范)、命名实体识别...
  • 针对统计和规则方法各自的优点和局限,提出运用viterbi和FTBL(fast trans formation-based learning)算法相级联的算法, 实现一种英文自动词性标注器。 该级联方法以FTBL算法为整体算法,在它的规则学习和最终标注...
  • 中英文分词工具有很多,今天我们来使用Jieba、SnowNlp、nltk、thunlp、NLPIR、Stanford等六种工具来对给定中英文文本进行分词、词性标注与命名实体识别。
  • nlp词性标注demo

    2020-06-09 01:06:35
    nlp词性标注pos tag的demo含训练集, 将英文句子的词性标注,并解释词性例如trying to keep pace with rival Time magazine 运行结果为 word: trying result: VBG explain: Verb, gerund or present participle 动名词...
  • 针对隐马尔可夫(HMM)词性标注模型状态输出独立同分布等与语言实际特性不够协调的假设,对隐马尔可夫模型进行改进,引入马尔可夫族模型。,该模型用条件独立性假设取代HMM模型的独立性假设。将马尔可夫族模型应用于词性...
  • 自己统计的一部分词库,附加词性,整理好放在excel可以直接导入数据库
  • 汉语语料库,包含9000多个文本,涵盖新闻、论文、散文、小说等多种类型的文本,经过了分词和词性标注的精加工。
  • 3,可快速实现分词,词性标注,NER,SRL等序列标注模型 欢迎各位大佬吐槽。 说明 环境配置:创建新的conda环境 $ conda env create -f environment.yaml 语料处理 不同标注语料格式不同,需要额外处理,在示例/Data...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,095
精华内容 7,238
关键字:

词性标注