精华内容
下载资源
问答
  • 词性标注 简介 简单的说明一下什么是词性标注,词性(词类)是词汇中剧本的语法属性,而词性标注是在给定句子中判定每个词的语法范畴,确定它的词性并加以标注的过程。 比如给定句子“她很漂亮”,对应的词性标注...

    词性标注

    简介

    简单的说明一下什么是词性标注,词性(词类)是词汇中剧本的语法属性,而词性标注是在给定句子中判定每个词的语法范畴,确定它的词性并加以标注的过程。

    比如给定句子“她很漂亮”,对应的词性标注结果就是“她/名词   很/副词   漂亮/形容词”,这就是一个简单的词性标注的例子。

    但是在中文中有一些词语通常有多种词性,这就会对词性标注带来一些困难,解决该问题最简单的方法就是使用当前词语的高频词性来作为它的词性,虽然这样做的准确率是很高的但是它的提升空间依然很大,更好的解决办法就是像分词一样把该问题当做是一个序列问题来解决。

    词性标注规范

    这里列出北大的词性标注规范

    词性编码

    词性名称

    注 解

    Ag

    形语素

    形容词性语素。形容词代码为 a,语素代码g前面置以A。

    a

    形容词

    取英语形容词 adjective的第1个字母。

    ad

    副形词

    直接作状语的形容词。形容词代码 a和副词代码d并在一起。

    an

    名形词

    具有名词功能的形容词。形容词代码 a和名词代码n并在一起。

    b

    区别词

    取汉字“别”的声母。

    c

    连词

    取英语连词 conjunction的第1个字母。

    dg

    副语素

    副词性语素。副词代码为 d,语素代码g前面置以D。

    d

    副词

    取 adverb的第2个字母,因其第1个字母已用于形容词。

    e

    叹词

    取英语叹词 exclamation的第1个字母。

    f

    方位词

    取汉字“方”

    g

    语素

    绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。

    h

    前接成分

    取英语 head的第1个字母。

    i

    成语

    取英语成语 idiom的第1个字母。

    j

    简称略语

    取汉字“简”的声母。

    k

    后接成分

     

    l

    习用语

    习用语尚未成为成语,有点“临时性”,取“临”的声母。

    m

    数词

    取英语 numeral的第3个字母,n,u已有他用。

    Ng

    名语素

    名词性语素。名词代码为 n,语素代码g前面置以N。

    n

    名词

    取英语名词 noun的第1个字母。

    nr

    人名

    名词代码 n和“人(ren)”的声母并在一起。

    ns

    地名

    名词代码 n和处所词代码s并在一起。

    nt

    机构团体

    “团”的声母为 t,名词代码n和t并在一起。

    nz

    其他专名

    “专”的声母的第 1个字母为z,名词代码n和z并在一起。

    o

    拟声词

    取英语拟声词 onomatopoeia的第1个字母。

    p

    介词

    取英语介词 prepositional的第1个字母。

    q

    量词

    取英语 quantity的第1个字母。

    r

    代词

    取英语代词 pronoun的第2个字母,因p已用于介词。

    s

    处所词

    取英语 space的第1个字母。

    tg

    时语素

    时间词性语素。时间词代码为 t,在语素的代码g前面置以T。

    t

    时间词

    取英语 time的第1个字母。

    u

    助词

    取英语助词 auxiliary

    vg

    动语素

    动词性语素。动词代码为 v。在语素的代码g前面置以V。

    v

    动词

    取英语动词 verb的第一个字母。

    vd

    副动词

    直接作状语的动词。动词和副词的代码并在一起。

    vn

    名动词

    指具有名词功能的动词。动词和名词的代码并在一起。

    w

    标点符号

     

    x

    非语素字

    非语素字只是一个符号,字母 x通常用于代表未知数、符号。

    y

    语气词

    取汉字“语”的声母。

    z

    状态词

    取汉字“状”的声母的前一个字母。

    un

    未知词

    不可识别词及用户自定义词组。取英文Unkonwn首两个字母。(非北大标准,CSW分词中定义)

    jieba词性标注实战

    jieba是NLP中常用的中文分词库,这里讲解了它的原理以及使用方法——jieba分词

    流程如下:

    1、首先通过正则表达式来进行汉字的判断,表达式如下:

    re_han_internal = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._]+)")

    2、符合该表达式则判定为汉字,然后基于前缀词典来建立有向无环图,再基于有向无环图来计算最大概率路径,同时在前缀词典中找出它所分出的词性,若在词典中没有找到,则赋予词性为"un"(未知词性)。

    在此过程中若使用HMM方式进行词性标注,且待标注词为未登录词(未登录词即没有被收录在分词词表中但必须切分出来的词,包括各类专有名词(人名、地名、企业名等)、缩写词、新增词汇等等),则会通过HMM的方式进行标注。

    3、若不符合上面的正则表达式,那么将会继续通过正则表达式来判断,分别赋予:"un"(未知词性),"m"(数词),"eng"(英文)。

    下面用jieba来实现一个词性标注的例子:

    import jieba.posseg as psg
    sent = "还有什么是比jieba更好的中文分词工具呢?"
    seg_list = psg.cut(sent)
    result = " ".join(["{0}/{1}".format(w, t) for w, t in seg_list])
    print(result)

    分词结果如下:

     

     

    展开全文
  • 词性标注

    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倍时间)?
    展开全文
  • 词性标注:中文词性标注简介

    千次阅读 2019-04-07 09:13:26
    原文链接:https://blog.csdn.net/sinat_33741547/article/details/78894163
    展开全文
  • LTP词性标注

    千次阅读 2017-11-01 22:00:15
    LTP词性标注
    a   adjective:形容词                           美丽  
    b   other noun-modifier:其他的修饰名词          大型, 西式  
    c   conjunction:连词                           和, 虽然   
    d   adverb:副词                                很   
    e   exclamation:感叹词                          哎   
    g   morpheme    茨, 甥    
    h   prefix:前缀                                 阿, 伪    
    i   idiom:成语                                  百花齐放    
    j   abbreviation:缩写                           公检法 
    k   suffix:后缀                                 界, 率    
    m   number:数字                                 一, 第一   
    n   general noun:一般名词                       苹果  
    nd  direction noun:方向名词                     右侧      
    nh  person name:人名                           杜甫, 汤姆  
    ni  organization name:公司名                   保险公司
    nl  location noun:地点名词                     城郊
    ns  geographical name:地理名词                 北京
    nt  temporal noun:时间名词                     近日, 明代
    nz  other proper noun:其他名词                 诺贝尔奖
    o   onomatopoeia:拟声词                        哗啦
    p   preposition:介词                          在, 把
    q   quantity:量词                             个
    r   pronoun:代词                              我们
    u   auxiliary:助词                            的, 地
    v   verb:动词                                 跑, 学习
    wp  punctuation:标点                          ,。!
    ws  foreign words:国外词                      CPU
    x   non-lexeme:不构成词                       萄, 翱
    展开全文
  • NLTK 词性标注缩写

    2020-05-24 14:22:34
    CC Coordinating conjunction 连接词 CD Cardinal number 基数词 DT Determiner 限定词(如this,that,these,those,such,不定限定词:no,s ome,any,each,every,enough,either,neither,all,both,half,several,...
  • 文本分析-词性标注对照表

    千次阅读 2017-08-19 18:31:08
    文本分析-词性标注对照表 今天使用stanford-corenlp做英文词性标注,顺便整理了一份词性标注对照表,希望能帮到大家。 词性中英文缩写对照表Markdown Extra 表格语法: 英文简写 英文全称 中文解释 CC ...
  • nltk词性标注缩写解释

    千次阅读 2018-01-08 20:30:39
    本文转自http://blog.csdn.net/heyongluoyao8/article/details/43731743 1. CC Coordinating conjunction 连接词 2. CD Cardinal number 基数词 3. DT Determiner 限定词(如this,that,these,those,su...
  • 词性标注,标注集

    千次阅读 2019-03-05 18:34:10
    abbrev: abbreviation modifier,缩写 acomp: adjectival complement,形容词的补充; advcl : adverbial clause modifier,状语从句修饰词 advmod: adverbial modifier状语 agent: agent,代理,一般有by的时候会...
  • 由于最近项目要用到 英文的词性标注,那Stanford的coreNLP的开源实现肯定是不得不参考的,下面整理给出对应论文中的词性标注缩写及实例:String str = "where/WRB, are/VBP, you/PRP, ?/., I/PRP, want/VBP to/TO, ...
  • 【NLP】Python词性标注之词性解释

    千次阅读 2020-03-13 10:24:19
    词性标注后,看到一堆英文简写的词性,怎样一一对应又成了难题,这里,小白总结了一下词性的对应关系。 1.中文标注和含义对应关系 标注 名称 含义 Ag 形语素 形容词性语素。形容词代码为a,语...
  • LTP 词性标注

    千次阅读 2019-01-07 16:19:09
    Tag Description Example a adjective:形容词 美丽 b other noun-modifier:其他的修饰名词 大型, 西式 c conjunction:连词 和, 虽然 d adverb:副词 很 e exclamation:感叹词 哎 ...LTP使用863词性标注
  • 中文词性标注解释及句法分析标注解释 参考链接:https://blog.csdn.net/weixin_30642561/article/details/97772970 依存句法分析与语义依存分析的区别 参考链接:https://www.cnblogs.com/CheeseZH/p/5768389.html
  • 结巴分词的词性标注 默认模式是使用jieba.posseg.cut(),包括24个词性标签(小写字母)。 paddle模式多了4个专名类别标签(大写字母)。 jieba.posseg.POSTokenizer(tokenizer=None) 新建自定义分词器,tokenizer ...
  • nltk词性标注的涵义

    2019-04-02 21:57:18
    这学期nlp一个实验要求使用brown语料库,在搜索其词性标注含义的时候发现nltk词性标注缩写应该有好几种规范,可以使用ntlk.help模块进行查看,help.py中部分函数如下: def brown_tagset(tagpattern=None): _...
  • NLTK之词性标注

    千次阅读 2018-01-19 20:33:48
    词性标注重要性 回想学英语的时候,老师就开始讲词性,通过分析句子中某个单词的词性,我们可以推测这个词的意思,猜测这个词在句子中的作用,这对理解句子意思有极大的帮助。小弟也还是初学,以后若发现词性有更多...
  • NLP学习1——分词和词性标注0.参考1.基本介绍1.1 词性标注1.2 NLTK1.3 jieba1.4 LAC2.代码实现2.1 分词2.1.1 使用nltk进行分词:2.1.2 使用jieba进行分词2.1.3 使用LAC进行分词2.2 词性标注2.2.1 使用nltk工具实现...
  • 缩写 公检法 k suffix:后缀 界, 率 m number:数字 一, 第一 n general noun:一般名词 苹果 nd direction noun:方向名词 右侧 nh person name:人名 杜甫, 汤姆 ni ...
  • 转载自: 作者:qq280929090 来源:CSDN 原文:...自然语言处理词性标注简称详解 CC Coordinating conjunction 连接词 CD Cardinal number 基数词 DT Determiner 限定...
  • corenlp中的词性标注缩写含义使用的是Penn Treebank tag set,这是全部对应缩写的含义,这份资源下载自https://www.eecis.udel.edu/~vijay/cis889/ie/pos-set.pdf
  • 本系列文章主要结合Python语言实现知识图谱构建相关工程,具有一定创新性和实用性,非常希望各位博友...第二篇文章主要讲解词性标注、实体识别、依存句法分析和语义角色标注。希望基础性文章对你有所帮助,一起加油~
  • 自然语言文本处理通常需要进行词性标注,下面是常见标注   ROOT:要处理文本的语句 IP:简单从句 NP:名词短语 VP:动词短语 PU:断句符,通常是句号、问号、感叹号等标点符号 LCP:方位词短语 PP:介词短语 CP:...
  • 词性标注(POS tagging)

    千次阅读 2014-03-31 15:48:24
    词性标注也叫词类标注,POS tagging是part-of-speech tagging的缩写。 维基百科对POS Tagging的定义: In corpus linguistics, part-of-speech tagging (POS tagging or POST), also called grammatical tagging...
  • python的jieba分词词性标注

    万次阅读 多人点赞 2015-09-22 19:55:08
    jieba分词的词性标注  在明哥的严厉催促下,我终于注册了我自己的博客,并且这是我写的第一篇博客,写得不好还请大家多多指出,以帮助小弟在编程之路上走得更远。  好了,废话就不多说了,直接进入主题吧。  ...
  • 词性标注 Part-of-Speech Tagger 词性标记器根据词本身和词的上下文标记单词的类型。OpenNLP POS标记器使用概率模型来预测标签集中词的类型。为了限制词的类型范围,可以使用字典来提高标记器的标记和运行时效率。...
  • import nltk text = nltk.word_tokenize("And now for something completely ...分词后进行词性标注,CC是连词,RB是副词,IN是介词,NN是名词,JJ是形容词, 可以使用 nltk.help.upenn_tagset('RB') 查询缩写
  • 词性标注英文简称及分类

    千次阅读 2020-07-13 10:11:17
    标注词表: 名词:NN,NNS,NNP,NNPS 代词:PRP,PRP$ 形容词:JJ,JJR,JJS 数词:CD 动词:VB,VBD,VBG,VBN,VBP,VBZ 副词:RB,RBR,RBS 1. CC Coordinating conjunction 连接词 2. CD Cardinal number 基数词 3. DT ...
  • nltk词性标注英文简称及分类

    千次阅读 2017-08-16 16:39:00
    标注词表: 名词:NN,NNS,NNP,NNPS 代词:PRP,PRP$ 形容词:JJ,JJR,JJS 数词:CD 动词:VB,VBD,VBG,VBN,VBP,VBZ 副词:RB,RBR,RBS 1. CC Coordinating conjunction 连接词 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 896
精华内容 358
关键字:

缩写词性标注