太乱了,以后再整理关于词性

词性(part-of-speech)是词汇基本的语法属性,通常也称为词性。
词性标注(part-of-speech tagging),又称为词类标注或者简称标注,是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或者其他词性的过程。
词性标注是很多NLP任务的预处理步骤,如句法分析,经过词性标注后的文本会带来很大的便利性,但也不是不可或缺的步骤。可以用在句法分析预处理,命名实体识别,信息抽取等。
并且不同的工具有自己的词性体系。并不唯一。

抄百度百科:

词性标注(Part-Of-Speech tagging, POS tagging)也被称为语法标注(grammatical tagging)或词类消疑(word-category disambiguation),是语料库语言学(corpus linguistics)中将语料库内单词的词性按其含义和上下文内容进行标记的文本数据处理技术 。
词性标注可以由人工或特定算法完成,使用机器学习(machine learning)方法实现词性标注是自然语言处理(Natural Language Processing, NLP)的研究内容。词性标注的机器学习算法主要为序列模型,包括HMM、最大熵马尔可夫模型(Maximum Entropy Markov Model, MEMM)、条件随机场(Conditional random fields,CRFs)等广义上的马尔可夫模型成员,以及以循环神经网络(Recurrent Neural Network, RNN)为代表的深度学习算法。此外,一些机器学习的常规分类器,例如支持向量机(Support Vector Machine, SVM)在改进后也可用于词性标注 。
词性标注主要被应用于文本挖掘(text mining)和NLP领域,是各类基于文本的机器学习任务,例如语义分析(sentiment analysis)和指代消解(coreference resolution)的预处理步骤。

词性标注算法

词性标注基本可以利用分词的方法(匹配and概率统计),中文多数词语只有一个词性,或者出现频次最高的词性远远高于第二位的词性。据说单纯选取最高频词性,就能实现80%准确率的中文词性标注程序。
基于字符串匹配的字典查找算法:
	先对语句进行分词,然后从字典中查找每个词语的词性,对其进行标注即可。jieba词性标注中,对于识别出来的词语,就是采用了这种方法。这种方法比较简单,通俗易懂,但是不能解决一词多词性的问题,因此存在一定的误差。
基于统计的词性标注算法:
	和分词一样,通过HMM隐马尔科夫模型来进行词性标注。观测序列即为分词后的语句,隐藏序列即为经过标注后的词性标注序列。起始概率 发射概率和转移概率和分词中的含义大同小异,可以通过大规模语料统计得到。观测序列到隐藏序列的计算可以通过viterbi算法,利用统计得到的起始概率 发射概率和转移概率来得到。得到隐藏序列后,就完成了词性标注过程。
(1)基于最大熵的词性标注
(2)基于统计最大概率输出词性
(3)基于HMM的词性标注

难点:

相对于英文,中文没有词形变化,不能从词形来识别词性。
一词多词性很常见。统计发现,一词多词性的概率高达22.5%。而且越常用的词,多词性现象越严重。比如“研究”既可以是名词(“基础性研究”),也可以是动词(“研究计算机科学”)。
词性划分标准不统一。目前还没有一个广泛认可的统一的标准。比如LDC标注语料中,将汉语一级词性划分为33类,而北京大学语料库则将其划分为26类。词类划分标准和标记符号的不统一,以及分词规范的含糊,都给词性标注带来了很大的困难。jieba分词采用了使用较为广泛的ICTCLAS 汉语词性标注集规范。
未登录词问题。未登录词的词性也是一个比较大的课题。未登录词不能通过查找字典的方式获取词性,可以采用HMM隐马尔科夫模型等基于统计的算法。

jieba分词就综合了两种算法,对于分词后识别出来的词语,直接从字典中查找其词性。而对于未登录词,则采用HMM隐马尔科夫模型和viterbi算法来识别。

02-15 02:50