中文分词技术研究
- 格式:doc
- 大小:76.00 KB
- 文档页数:7
中文分词与词性标注技术研究与应用中文分词和词性标注是自然语言处理中常用的技术方法,它们对于理解和处理中文文本具有重要的作用。
本文将对中文分词和词性标注的技术原理、研究进展以及在实际应用中的应用场景进行综述。
一、中文分词技术研究与应用中文分词是将连续的中文文本切割成具有一定语义的词语序列的过程。
中文具有词汇没有明确的边界,因此分词是中文自然语言处理的基础工作。
中文分词技术主要有基于规则的方法、基于词典的方法和基于机器学习的方法。
1.基于规则的方法基于规则的中文分词方法是根据语法规则和语言学知识设计规则,进行分词操作。
例如,按照《现代汉语词典》等标准词典进行分词,但这种方法无法处理新词、歧义和未登录词的问题,因此应用受到一定的限制。
2.基于词典的方法基于词典的中文分词方法是利用已有的大规模词典进行切分,通过查找词典中的词语来确定分词的边界。
这种方法可以处理新词的问题,但对未登录词的处理能力有所限制。
3.基于机器学习的方法基于机器学习的中文分词方法是利用机器学习算法来自动学习分词模型,将分词任务转化为一个分类问题。
常用的机器学习算法有最大熵模型、条件随机场和神经网络等。
这种方法具有较好的泛化能力,能够处理未登录词和歧义问题。
中文分词技术在很多自然语言处理任务中都起到了重要的作用。
例如,在机器翻译中,分词可以提高对齐和翻译的质量;在文本挖掘中,分词可以提取关键词和构建文本特征;在信息检索中,分词可以改善检索效果。
二、词性标注技术研究与应用词性标注是给分好词的文本中的每个词语确定一个词性的过程。
中文的词性标注涉及到名词、动词、形容词、副词等多个词性类别。
词性标注的目标是为后续的自然语言处理任务提供更精确的上下文信息。
1.基于规则的方法基于规则的词性标注方法是根据语法规则和语境信息,确定每个词语的词性。
例如,根据词语周围的上下文信息和词语的词义来判断词性。
这种方法需要大量的人工制定规则,并且对于新词的处理能力较差。
基于深度学习方法的中文分词和词性标注研究中文分词和词性标注是自然语言处理中的重要任务,其目的是将输入的连续文字序列切分成若干个有意义的词语,并为每个词语赋予其对应的语法属性。
本文将基于深度学习方法对中文分词和词性标注进行研究。
一、深度学习方法介绍深度学习是一种基于神经网络的机器学习方法,在自然语言处理领域中应用广泛。
经典的深度学习模型包括卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)、长短时记忆网络(LongShort-Term Memory, LSTM)和门控循环单元(Gated Recurrent Unit, GRU)等。
在对中文分词和词性标注任务的研究中,CNN、RNN以及LSTM均被采用。
CNN主要用于序列标注任务中的特征提取,RNN及LSTM则用于序列建模任务中。
GRU是LSTM的一种简化版本,在应对大规模文本序列的过程中更为高效。
二、中文分词中文分词是将一段连续的汉字序列切分成有意义的词语。
传统的中文分词方法主要包括基于词典匹配的分词和基于统计模型的分词。
基于词典匹配的分词方法基于预先构建的词典,将待切分文本与词典进行匹配。
该方法精度较高,但需要较为完整的词典。
基于统计模型的分词方法则通过学习汉字之间的概率关系来进行分词。
该方法不依赖于完整的词典,但存在歧义问题。
深度学习方法在中文分词任务中也有较好的表现,通常采用基于序列标注的方法。
具体步骤如下:1. 以汉字为单位对输入文本进行编码;2. 使用深度学习模型进行序列标注,即对每个汉字进行标注,标记为B(词的开头)、M(词的中间)或E(词的结尾),以及S(单字成词);3. 将标注后的序列按照词语切分。
其中,深度学习模型可以采用CNN、RNN、LSTM或GRU等模型。
三、中文词性标注中文词性标注是为每个词语赋予其对应的语法属性,通常使用含有标注数据的语料库进行训练。
中文分词相关技术简介目前对汉语分词方法的研究主要有三个方面:基于规则的分词方法、基于统计的分词方法和基于理解的分词方法。
基于规则的分词方法基于规则的分词方法,这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个"充分大的"机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。
常用的方法:最小匹配算法(Minimum Matching),正向(逆向)最大匹配法(Maximum Matching),逐字匹配算法,神经网络法、联想一回溯法,基于N-最短路径分词算法,以及可以相互组合,例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法等。
目前机械式分词占主流地位的是正向最大匹配法和逆向最大匹配法。
◆最小匹配算法在所有的分词算法中,最早研究的是最小匹配算法(Minimum Matching),该算法从待比较字符串左边开始比较,先取前两个字符组成的字段与词典中的词进行比较,如果词典中有该词,则分出此词,继续从第三个字符开始取两个字符组成的字段进行比较,如果没有匹配到,则取前3个字符串组成的字段进行比较,依次类推,直到取的字符串的长度等于预先设定的阈值,如果还没有匹配成功,则从待处理字串的第二个字符开始比较,如此循环。
例如,"如果还没有匹配成功",取出左边两个字组成的字段与词典进行比较,分出"如果";再从"还"开始,取"还没",字典中没有此词,继续取"还没有",依次取到字段"还没有匹配"(假设阈值为5),然后从"没"开始,取"没有",如此循环直到字符串末尾为止。
这种方法的优点是速度快,但是准确率却不是很高,比如待处理字符串为"中华人民共和国",此匹配算法分出的结果为:中华、人民、共和国,因此该方法基本上已经不被采用。
中英文混合文本处理技术的研究与应用随着全球化的推进,中英文混合文本的出现越来越频繁,如何对这样的文本进行处理成为了广大科学家和工程师的研究方向之一。
本文将就中英文混合文本处理技术的研究与应用进行探讨。
一、中英文分词技术中英文分词技术是中英文混合文本处理技术中不可忽视的一部分。
在中文语言中,每个字都代表一个独立的含义,因此需要进行分词处理。
在英文语言中,单词是基本的组成单位。
因此对于中英文混合文本的处理,一般需要分别对中文和英文进行分词,再进行合并处理。
目前,常用的中英文分词技术有两种,分别是基于词典的分词技术和基于机器学习的分词技术。
基于词典的中英文分词技术是常用的分词技术。
它通过建立词典,将中文和英文进行分开处理。
词典中包括了中文和英文的单词,可以实现对文本的较好分词。
另一种分词技术是基于机器学习的分词技术,它是利用一些已知的语言规则和例子,从训练数据中学习到分词模型。
基于机器学习的分词技术可以提高分词的准确性,但需要大量的训练数据。
二、中英文命名实体识别技术命名实体是指具有特定含义并代表现实世界中某个独立个体的词汇,比如人名、地名、机构名等。
在中英文混合文本中,往往存在大量的命名实体,因此对命名实体进行识别是中英文混合文本处理的重要一步。
中英文命名实体识别技术可分为两类,一类是基于规则的命名实体识别技术,一类是基于机器学习的命名实体识别技术。
基于规则的命名实体识别技术对命名实体的识别采用一定的规则来进行操作,通常需要人工制定一些规则来保证识别的准确性。
基于规则的命名实体识别技术的识别准确性较高,但由于需要大量的人工制定规则,不具备较好的通用性。
基于机器学习的命名实体识别技术利用统计分析方法,通过对大量标注好的语料库进行训练,得到命名实体的模型。
机器学习技术具有自我学习和调整能力,因此通常能够得到较好的识别效果。
三、中英文信息抽取技术中英文混合文本的信息抽取技术是一种从文本中提取出有用的信息的技术。
基于统计学习的中文分词技术研究随着互联网的快速发展,社交媒体、电子商务、在线新闻、搜索引擎等应用越来越多,对中文分词技术的需求也越来越迫切。
中文分词是指将一篇中文文本分成一个一个词汇的过程,是中文信息处理的基本工作之一。
例如,“这是一篇中文文章”应该被分成“这”、“是”、“一篇”、“中文”、“文章”五个词汇。
中文分词的技术路线有很多种,如机械分词、基于字典的分词、基于规则的分词、基于统计的分词等。
其中,基于统计学习的中文分词技术得到了广泛的应用和研究。
基于统计学习的中文分词技术主要是利用大规模中文语料库进行训练,在语料库中学习各种统计模型,并通过统计推断得出最优的分词结果。
常见的统计模型有隐马尔可夫模型(Hidden Markov Model,HMM)、条件随机场(Conditional Random Field,CRF)等。
隐马尔可夫模型是一种基于马尔可夫链的统计模型,它的主要思想是假设每个汉字只与其前面的几个汉字有关,而与整篇文章的其他内容无关。
隐马尔可夫模型可以用来描述“隐含状态”与“观测序列”的关系,将分词过程看作是观测序列的标注过程。
例如,对于“这是一篇中文文章”,将其分成“这/是/一篇/中文/文章”这五个词汇的过程可以被看作是一种序列标注任务,标注结果即为隐含状态。
条件随机场是一种基于概率图模型的统计模型,主要用于序列标注等任务。
它的主要思想是将标注过程看作是一个马尔可夫随机场,既考虑前后文的依赖关系,也考虑各标注状态之间的相互影响。
相比于隐马尔可夫模型,条件随机场能够更好地捕捉中文文本中的上下文信息,从而提高分词准确率。
除了隐马尔可夫模型和条件随机场,还有一些其他的基于统计学习的分词模型,如最大熵模型、朴素贝叶斯分类器等。
这些模型都被广泛应用于中文分词领域,并且已经取得了一定的效果。
尽管基于统计学习的中文分词技术已经得到了广泛的应用和研究,但是它仍具有一些局限性。
例如,当遇到未见过的词汇时,模型很难正确划分。
深入了解中文的语言分析技术研究一、简介中文作为世界上最古老的语言之一,是全球使用人数最多的语言之一。
近年来,中文的语言分析技术得到了越来越多的关注。
本文旨在深入了解中文的语言分析技术研究。
二、中文分词技术在中文语言分析技术中,分词是一项基础性的技术,它将一条连续的汉字序列划分成一个个有意义的词,是中文语言处理的第一步。
由于中文语言没有明显的单词形式,所以分词技术在中文语言处理中的作用尤为重要。
中文分词技术中,最经典的方法是基于“规则+字典”的方法。
简单地说,就是将大量的中文词语进行归纳整理,形成中文词典,然后根据一定的规则,将句子中的汉字序列进行匹配,得到分词结果。
这种方法的优点是可控性好,缺点是需要手工编写规则和词典,对大规模语料的处理效率较低。
而随着机器学习算法的发展,现在又出现了基于统计学的方法,如隐马尔可夫模型、条件随机场等,这些方法可以利用大量的语料进行自动学习,减轻了手工编写的工作量,同时也提高了分词的精度和效率。
三、中文句法分析技术中文句法分析指的是对中文语句结构进行分析和描述,并将其转化为计算机可处理的形式。
这项技术在中文自然语言处理中起着重要作用。
由于中文句法结构的复杂性,中文句法分析技术一度是自然语言处理研究中最棘手的问题之一。
中文句法分析技术分为基于规则的方法和基于统计学的方法。
基于规则的方法需要手工编写规则,对句子结构有一定的先验知识,所以对于一些特定领域的应用效果较好;而基于统计学的方法则更加注重大规模语料的自动学习,对于一些复杂结构的句子处理效果较好。
四、中文情感分析技术中文情感分析技术指的是对中文文本中所包含的情感进行分析和评价。
伴随着社交媒体的兴起,越来越多的人将自己的情感、心情以及观点表达在社交媒体上,因此对中文情感分析技术的需求也越来越大。
中文情感分析技术主要分为两种方法:基于规则和基于机器学习。
基于规则的方法依靠人工编写的词典和规则进行情感判断,相对简单,但存在有效性低的问题;而基于机器学习的方法则依靠大量的语料进行学习,获得更好的情感分析效果。
基于语义分析的中文分词技术研究
中文分词是将连续的汉字序列切分成一个个有意义的词语的过程。
基
于语义分析的中文分词技术是一种通过利用语义信息进行分词的方法。
传统的中文分词方法是基于语法规则和统计模型的,通常依赖于词典
和规则,但这些方法在处理歧义性和新词识别等问题上存在一定的局限性。
因此,基于语义分析的中文分词技术出现,旨在通过使用更多的语义信息
来提高分词的准确性和效果。
1. 词向量模型:利用词向量模型,如Word2Vec和GloVe等,将每个
词语表示为向量,基于词语之间的语义相似度进行分词。
通过计算词向量
之间的余弦相似度,可以识别出合适的分词点。
2.基于上下文的分析:利用上下文信息来辅助分词。
例如,可以通过
观察词语前后的词性、语法关系以及常见的搭配等来进行分词。
3.基于语义角色标注:利用语义角色标注的结果来指导分词。
语义角
色标注模型可以识别出句子中的主谓宾关系,根据这些关系可以将句子切
分成有意义的词组。
4.基于深度学习的方法:利用深度学习模型,如循环神经网络(RNN)和长短期记忆(LSTM)等,学习中文分词的模式和规律。
通过训练模型识
别词语边界,可以提高中文分词的准确性。
需要注意的是,基于语义分析的中文分词技术虽然可以提高分词的准
确性和效果,但也存在一定的挑战和难点。
例如,如何处理多义词、新词
以及长词等问题,仍然是待解决的课题。
因此,目前仍然需要进一步的研
究和改进。
基于神经网络的中文分词技术研究
中文分词是将连续的汉字序列切分为有意义的词语的过程。
传统的中文分词方法主要基于词典、规则和统计等方法,但这些方法在处理复杂的语言现象时存在一定的局限性。
近年来,基于神经网络的中文分词技术逐渐受到广泛关注。
这些技术通过神经网络模型学习中文分词任务的特征和规律,具有更好的泛化能力和鲁棒性。
以下是一些常见的基于神经网络的中文分词技术:
1.基于循环神经网络(RNN)的中文分词:RNN是一种递归神经网络结构,能够处理序列数据。
通过将汉字序列作为输入,RNN可以对每个汉字的边界进行预测,从而实现中文分词。
2.基于长短期记忆网络(LSTM)的中文分词:LSTM是一种特殊的RNN 结构,能够捕捉长期依赖关系。
通过LSTM网络,可以更好地处理一词多义、歧义和复合词等语言现象,提高中文分词的准确性。
3.基于注意力机制的中文分词:注意力机制是一种能够学习输入序列不同位置重要性的技术。
通过引入注意力机制,可以使神经网络更加关注汉字序列中与分词有关的信息,提高中文分词的效果。
4. 基于Transformer模型的中文分词:Transformer是一种基于自注意力机制的神经网络模型,具有较强的并行计算能力。
通过使用Transformer模型,可以有效地处理中文分词任务,并且在大规模语料库上获得较好的性能。
基于神经网络的中文分词技术在不同的任务和数据集上取得了较好的效果。
然而,由于中文分词任务的复杂性和语言差异,仍然存在一些困难
和挑战。
未来的研究可以进一步探索如何融合多种神经网络技术、优化网络结构和改进训练算法,以提高中文分词的性能和效果。
国内中文自动分词技术研究综述中文自动分词技术是自然语言处理领域的一项重要技术,对于中文文本的机器翻译、信息提取、文本分类等应用具有重要意义。
本文将对国内中文自动分词技术的研究进行综述,包括研究现状、研究方法、研究成果和不足等方面。
中文自动分词技术是指将一段中文文本自动分割成一个个独立的词语,是中文自然语言处理的基础性工作。
相较于英文等拼音文字,中文分词更为复杂,需要考虑上下文语义、词义歧义等问题。
因此,中文自动分词技术的研究具有重要的实际应用价值。
随着国内人工智能和自然语言处理技术的不断发展,中文自动分词技术的研究也取得了长足的进步。
目前,国内中文自动分词技术的研究主要集中在以下几个方面:基于规则的分词方法:该方法主要依靠人工制定的分词规则进行分词,适用于特定领域的文本。
然而,由于规则的制定需要大量的人力物力,且难以覆盖所有领域的文本,因此该方法的使用存在一定的局限性。
基于统计的分词方法:该方法通过机器学习算法对大量文本进行学习,从而得到词语之间的统计关系,实现自动分词。
该方法具有良好的通用性,可以适应不同领域的文本。
基于深度学习的分词方法:该方法利用深度学习模型对文本进行逐字逐词的预测,从而得到最佳的分词结果。
该方法具有强大的自适应能力,可以处理各种类型的文本。
虽然国内中文自动分词技术已经取得了很大的进展,但是仍然存在一些不足之处,主要表现在以下几个方面:分词精度有待提高:目前的中文自动分词技术还存在一定的误差,可能会对后续的自然语言处理任务产生一定的影响。
因此,提高分词精度是中文自动分词技术的一个重要研究方向。
未充分考虑上下文信息:中文词语的划分往往需要考虑上下文信息,而当前的中文自动分词技术往往只考虑了单个词语本身的信息,导致分词结果不够准确。
因此,利用上下文信息进行中文自动分词是未来的一个重要研究方向。
缺乏标准化评估:目前中文自动分词技术的评估还没有形成一个统一的标准化评估方法,不同的研究机构和应用场景可能采用不同的评估方法,这使得比较不同方法的优劣变得困难。
自然语言处理技术中的中文分词研究
中文分词是自然语言处理技术中的重要研究领域之一,其目的是将连
续的中文文本切分成有意义的词语或词组。
中文分词的研究主要包括以下几个方面:
1.词典匹配法:基于预先构建的词典,通过匹配文本中的词语来进行
分词。
这种方法简单快速,但对新词和歧义词处理效果较差。
2.基于统计的方法:通过分析大规模语料库中的统计信息,例如词频、互信息等,来确定词语的切分边界。
这种方法能够较好地处理新词和歧义词,但对于上下文信息的利用较少。
3.基于规则的方法:根据语法规则和语义规则,在语料库中可以找到
一些固定模式的词语,通过应用规则来进行分词。
这种方法需要较多的人
工设计和维护规则,对语言的灵活性要求较高。
4. 基于机器学习的方法:通过构建分词模型,利用机器学习算法自
动学习分词规则。
常用的机器学习方法包括隐马尔可夫模型(Hidden Markov Model,HMM)、条件随机场(Conditional Random Fields,CRF)等。
这种方法能够较好地利用上下文信息进行分词,具有较高的准确性。
当前,中文分词的研究趋势主要集中在深度学习方法上,如循环神经
网络(Recurrent Neural Networks,RNN)、长短时记忆网络(Long Short-Term Memory,LSTM)等。
这些方法在大规模语料库上进行训练,
能够学习到更多的上下文信息,提高分词的准确性和鲁棒性。
此外,中文分词还面临一些挑战,如新词识别、歧义消解、命名实体识别等。
未来的研究方向主要包括结合多种方法进行分词、跨语言分词、领域自适应分词等。
基于LSTM的中文分词算法研究随着自然语言处理技术的发展,中文分词成为了必不可少的基础工作。
中文的复杂性和歧义性使得中文分词的难度较大,传统的基于规则和词典的方法虽然有一定的准确率,但是在面对新词、歧义和多音字等复杂情况时表现不佳。
因此,基于机器学习的方法逐渐成为了中文分词领域的研究热点。
LSTM(Long Short-Term Memory)是一种特殊类型的循环神经网络,其具有许多良好的时序处理能力,所以在序列标注领域得到广泛应用,包括中文分词。
LSTM通过一些特殊的门结构,可以更好地处理长距离依赖关系,避免了传统的循环神经网络中的梯度消失问题。
那么,基于LSTM的中文分词算法是如何实现的呢?首先,我们需要将待分词的句子进行预处理,将中文字符序列转化为向量表示。
这里常用的方法是使用词向量模型(如Word2Vec和GloVe)进行特征提取,将每个字符转化为对应的词向量,并组合成一个向量序列作为LSTM的输入。
接下来,我们就需要设计LSTM的网络架构了。
一般来说,中文分词可以看做是序列标注问题,每个字符对应一个“标签”(即是否是分词位置)。
因此,我们可以采用经典的CRF(Conditional Random Field)模型来进行序列标注。
而在CRF之前,需要采用LSTM进行特征提取和序列建模。
LSTM的输出序列作为特征向量输入到CRF,再用CRF进行标注预测,得到最终的分词结果。
需要注意的是,针对中文分词的特殊性,我们可以在LSTM的输入和输出中加入词语边界的特征。
另外,由于中文存在一定的统计规律,我们可以使用语言模型进行辅助,提升中文分词的准确率。
实验结果显示,基于LSTM的中文分词算法在准确率和效率上都有不错的表现。
同时,LSTM的可扩展性也适合处理大规模的中文文本数据。
总的来说,基于LSTM的中文分词算法是一个较为成熟的技术。
当然,仍有部分问题需要进一步研究,比如如何更好地处理未登录词和嵌套实体等情况。
分词算法一般有三类:基于字符串匹配、基于语义分析、基于统计。
复杂的分词程序会将各种算法结合起来以便提高准确率。
Lucene被很多公司用来提供站内搜索,但是Lucene本身并没有支持中文分词的组件,只是在Sandbox里面有两个组件支持中文分词:ChineseAnalyzer和CJKAnalyzer。
ChineseAnalyzer 采取一个字符一个字符切分的方法,例如"我想去北京天安门广场"用ChineseAnalyzer分词后结果为:我#想#去#北#京#天#安#门#广#场。
CJKAnalyzer 则是二元分词法,即将相邻的两个字当成一个词,同样前面那句用CJKAnalyzer 分词之后结果为:我想#想去#去北#北京#京天#天安#安门#门广#广场。
这两种分词方法都不支持中文和英文及数字混合的文本分词,例如:IBM T60HKU现在只要11000元就可以买到。
用上述两种分词方法建立索引,不管是搜索IBM还是11000都是没办法搜索到的。
另外,假如我们使用"服务器"作为关键字进行搜索时,只要文档包含"服务"和"器"就会出现在搜索结果中,但这显然是错误的。
因此,ChineseAnalyzer和CJKAnalyzer虽然能够简单实现中文的分词,但是在应用中仍然会感觉到诸多不便。
基于字符串匹配的分词算法用得很多的是正向最大匹配和逆向最大匹配。
其实这两种算法是大同小异的,只不过扫描的方向不同而已,但是逆向匹配的准确率会稍微高一些。
"我想去北京天安门广场"这句使用最大正向分词匹配分词结果:我#想去#北京#天安门广场。
这样分显然比ChineseAnalyzer和CJKAnalyzer来得准确,但是正向最大匹配是基于词典的,因此不同的词典对分词结果影响很大,比如有的词典里面会认为"北京天安门"是一个词,那么上面那句的分词结果则是:我#想去#北京天安门#广场。
如果用"广场"作为关键字进行检索,那么使用后一个词典分出来的便可检索到,而使用前一个的则不行,而事实上应该是不管搜索北京天安门、天安门广场、天安门、广场都能检索到这篇文档。
使用全切分可以实现这个想法,同样是那句使用正向全切分分词结果为:我#想去#北京天安门#北京#天安门#天安门广场#广场,这样不管用"北京天安门"、"天安门广场"、"天安门"、"广场"中的哪一个作为关键字搜索都可以搜索到。
采取这种分法会在一定程度上提高分词的准确率,但也会出现问题,例如"我要在上海南站上车"这句采用正向全切分结果为:我#要在#上海#海南#南站,分出海南这个词显然是错误的,这属于交叉歧义。
正如前面所说,基于字符串匹配的分词算法都是依赖于词典的,但是不管再怎么大的词典也未必能完全收录所有词汇,况且不断的有新词出现,还有就是人名的识别,因此分词程序如果能够识别出一些词典中所没有的新词的话,有助于提高分词的准确率。
最简单的识别新词的方法可以基于统计,一般来说如果两个字不断重复的出现在一起那么他们组成一个词的频率就比较大。
基于单字共现的统计方法计算两个汉字A和B(也可能是三个或更多)的相邻共现概率,当这种概率值大于一定的阀值时,我们就认为这两个字可以组词。
经常被用来做新词识别的统计理论有:N - 元模型、后缀数组等。
在《“全文检索(full-text search)”和“搜索引擎(search engine)”的区别和联系》中我们提及到了中文分词,以及《双数组Trie(Double Array Trie)实现原理的一点剖析》中阐述了高效率中文分词的实现。
接下来让我们抛开双数组Trie的那些公式,从概念上来了解一下分词技术,因为英文分词相对比较简单,这里主要来了解的是中文分词。
英文是以词为单位的,词与词之间上靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。
例如,英文句子I am a student,翻译成“我是一个学生”。
计算机可以很简单的通过空格知道student是一个单词,但是“学”,“生”假如分开来,计算机是无法理解的。
必须把他们合在一起才变得有意义。
把中文的汉字序列切分成有意义的词,就是中文分词。
再比如“研究生命”,可以划分为“研究生/命”,也可以是“研究/生命”,假如是人脑可以很明显的判断出这里后者的划分更加的确切,但是计算机要做到这一点却是相当的困难。
现有的分词算法有3种:基于字符串匹配的分词算法、基于理解的分词算法和基于统计的分词算法。
何为分词?中文分词与其他的分词又有什么不同呢?分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。
在上面的例子中我们就可以看出,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段可以通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,但是在词这一层上,上面的例子中我们也可以看出,中文比之英文要复杂的多、困难的多。
要想说清楚中文分词的意义和作用,就要提到智能计算技术。
智能计算技术涉及的学科包括物理学、数学、计算机科学、电子机械、通讯、生理学、进化理论和心理学等等。
简单的说,智能计算就是让机器“能看会想,能听会讲”,让计算机像人类一样可以快速判断出“研究生命”这样短语的切分。
要想实现这样的一个目标,首先就要让机器理解人类的语言,只有机器理解了人类的语言文字,才使得人与机器的交流成为可能。
再反观我们人类的语言中,“词是最小的能够独立活动的有意义的语言成分”,所以对于中文来讲,将词确定下来是理解自然语言的第一步,只有跨越了这一步,中文才能象英文那样过渡到短语划分、概念抽取以及主题分析,以至于自然语言理解,最终达到智能计算的最高境界,实现人类的梦想。
目前我们常用的Google,Baidu,Yahoo这些主流的搜索引擎,还都是基于关键字(Keyword)来匹配结果的,不过可喜的是,已经有很多公司投入了大量的资金进行着自然语言检索的方式来进行查询,随着研究的进行,计算机可以理解人类的语言从而实现真正意义上的人机对话,那也将不再是遥不可及的而变得指日可待了。
从现阶段的实际情况来看,英文已经跨越了分词这一步,也就是说在词的利用上已经先我们一步,并且已经展现了良好的应用前景,无论是信息检索还是主题分析的研究都要强于中文,究其根本原因就是中文要通过分词这道难关,只有攻破了这道难关,我们才有希望赶上并超过英文在信息领域的发展,所以中文分词对我们来说意义重大,可以说直接影响到使用中文的每一个人的方方面面。
中文分词主要应用于信息检索、人机交互、信息提取、文本挖掘、中外文对译、中文校对、自动摘要、自动分类等很多方面。
下面就以信息检索为例来说明中文分词的应用。
通过近几年的发展,互联网已经离我们不再遥远。
互联网上的信息也在急剧膨胀,在这海量的信息中,各类信息混杂在一起,要想充分利用这些信息资源就要对它们进行整理,如果由人来做这项工作,已经是不可能的,而如果面对中文信息不采用分词技术,那么整理的结果就过于粗糙,而导致资源的不可用,例如一个我们常见的比较经典的例子:“制造业和服务业是两个不同的行业”和“我们出口日本的和服比去年有所增长”中都有“和服”,而被当作同一类来处理,结果是检索“和服”的相关信息,会将他们都检索到,在信息量少的情况下,似乎还能够忍受,如果是海量信息,这样的结果就会令人讨厌了。
通过引入分词技术,就可以使机器对海量信息的整理更准确更合理,在“制造业和服务业是两个不同的行业”中“和服”不会被当做一个词来处理,那么检索“和服”当然不会将它检索到,使得检索结果更准确,效率也会大幅度的提高。
所以中文分词的应用会改善我们的生活,使人们真正体会到科技为我所用。
目前对分词的研究,大都集中于通用的分词算法,以提高分词准确率为目的。
目前的分词算法中,一些切分精度比较高的算法,切分的速度都比较慢;而一些切分速度快的算法,因为抛弃了一些繁琐的语言处理,所以切分精度都不高。
速度:每秒几十k~几M切分正确率:80%~98%中文分词(Chinese Word Segmentation):将一个汉字序列切分成一个一个单独的词。
比如将“一次性交足100元”切分成“一次/性交/足/100/元”的话,那这样比较“色”的分词并不是我们所希望的。
另外还有就是未登录词识别,比如“施瓦辛格”这个词字典中并没有,如何才能让计算机正确的识别出这是一个词,当然这并不是中文分词所独有的难点,英文等其他语言也都有这样的问题。
分词规范:词的概念和不同应用的切分要求分词算法:歧义消除和未登录词识别分词规范方面的困难汉语中词的界定,也就是消除歧义“长春市长”:“长春/市长”?“长春市/长”?“长春/市/长” ?核心词表如何收词?词的变形结构问题:“看/没/看见” ,“相不相信”分词算法上的困难切分歧义的消除交集型歧义(交叉歧义):“组合成”我们/小组/合成/氢气了;组合/成/分子;–组合型歧义(覆盖歧义):“马上”他/从/马/上/下/来;我/马上/就/来/了;“学生会组织义演活动” : “学生/会/组织/义演/活动” or “学生会/组织/义演/活动”?未登录词识别命名实体:数词、人名、地名、机构名、译名、时间、货币缩略语和术语:“超女”、“非典”新词:“酱紫”、“星盘”先识别已知词还是先识别未登录词先识别已知词:“内塔尼亚/胡说”先识别未登录词:“胜利取决/于勇/气”常用评测指标召回率(Recall)准确率(Precision)基于词典和规则的方法最大匹配正向最大匹配、反向最大匹配和双向最大匹配实现简单,而且切分速度快。
但无法发现覆盖歧义,对于某些复杂的交叉歧义也会遗漏。
实际试验的结果表明,反向最大匹配的准确率要高于正向最大匹配。
全切分利用词典匹配,获得一个句子所有可能的切分结果。
时空开销非常大。
基于理解的分词算法模拟人的理解过程,在分词过程中加入句法和语义分析来处理歧义问题。
难以将各种语言信息组织成机器可直接读取的形式,还处在试验阶段基于规则的消歧和未登录词识别这一步其实在语根处理(stemming)中也可以处理,比如Snowball就是一个不错的过滤器,但是可惜的是目前的版本出错率比较高。
–规则消歧CONDITION FIND(R,NEXT,X){%at=~w}SELECT 1CONDITION FIND(L,NEAR,X){%X.yx=听|相信|同意}SELECT 1CONDITION FIND(L,NEAR,X){%X.yx=假如|如果|假设|要是|若}SELECT 2 OTHERWISE SELECT 1–用规则识别未登录词LocationName à Person Name LocationNameKeyWordLocationName à Location Name LocationNameKeyWordOrganizationName à Organization Name OrganizationNameKeyWordOrganizationName à Country Name {D|DD} OrganizationNameKeyWord●N元语法(N-gram)模型隐马尔可夫模型(HMM)对于一个随机事件,有一个状态序列{X1X2,…,Xn},还有一个观察值序列{Y1Y2,…,Yn}。