最近工作中涉及到新词的识别,在漫长的程序运行期间,记录下相关心得。这里为较原始的新词识别算法,起到一个了解的作用。
新词: 指未在已经训练完的词库或语料库中大量出现的词称为新词(很多情况下也成为未登录词)。
目前新词识别的技术主要包括3个方向:1. 基于规则;2. 基于统计概率;3. 规则和统计相结合;
1. 基于统计
基于统计的新词识别技术包括 {词之间互信息,词出现频率}
1.1 互信息
互信息之统计模型中衡量2个随机变量X,Y之间的关联程度,而在新词的识别中则特指相邻2个词之间的关联程度。
MI(X,Y)=log2(p(X,Y)/p(X)*P(Y))
那么当『XY』未在已经训练完的词库中出现,且该互信息高于某一阀值值,那么我们就假定该词为新词。
1.2 频率
当某一组连续相邻的字在新的语料库或网络日志中大量出现而未在词库中登记时,那么我们也可假定该词为新词。
这种方法思路很简单,实现的代码也相当容易,但是该方法必须基于大规模的语料库才能准确识别。
注:此处当处理海量语料库时 性能问题是最需要关注的。下文将详细讲解。
2. 新词识别工作
在本文中假设还未建立训练词库,需训练。
2.1 大规模语料库准备
2.2 候选词选取方案
2.3 训练词库
2.4 统计并选取新词
2.1 大规模语料库
很多情况下都可以通过网络爬虫获取相关网络富文本,然后通过Tika处理得到简单txt文本;或者可以分析用户日志等数据获得;或从数据库获取用户留言日志;
2.2 候选词选取
候选词的选取在很大程度上会影响程序的性能。主要包括2类方法:1)基于分词算法的N元词组;2)基于字的N元词组
在使用分词算法的情况下,需要分词词库,而N元词组就不需要词库。
2.2.1 分词算法
若语料:“中文新词识别”,若分词后结果:中文/,新/,词/,识别/。
然后候选2元词组:中文新/,新词/,词识别/。最后统计词频以此来决定是否加入词库(分词词库必须加入该词库)。
2.2.2 N元词组
若语料:“中文新词识别”,若2元词组,则结果:中文/,文新/,新词/,词识/,识别/。然后统计该2元词组的词频,并决定是否加入词库。
从上面2种方法可以看到按字的N元词组会分出更多的词组,需要处理更多的数据,效率会较低,但这种方法较全面,不会遗漏数据,不受分词词库影响。比如:“文新” 这个词组在分词中会遗漏,而按字N元不会遗漏。
2.3 统计并确定是否加入词库
2.4 新词获取
新词获取的前面几个步骤与上文一样,包括候选词的获取。然后统计该词频率或计算相邻词之间的互信息,以此与设定的阀值进行比较决定是否为新词。最后将识别出来的新词再词添加到词库中,不断学习不断识别,以此循环。
至此,简单的新词识别工作完成,只要语料库足够强大,统计方法会得到较好的效果,且方法简单。
————后续将继续深入新词识别算法,采用语言模型来进行新词识别,上述方法较为原始。————
注: 考虑到海量语料库和词频统计的特点,非常适合在Hadoop平台进行mapReduce模型计算。
下一步将新词识别应用在Hadoop平台上。
- 大小: 19.2 KB
- 大小: 19.9 KB
分享到:
相关推荐
规则简单,且仅限于两个汉字组成的新词。 - **文献【9】**:通过统计分词过程中产生的散串来找出候选串,再根据候选串中的字的词性、位置、词长等信息来估计成词的可能性。此方法将新词限定为2-4个汉字。 - **文献...
在语音识别技术中,“大音希声”这一哲学概念被用来比喻最真实、最本质的声音往往是最简单、最纯净的,这对于研究语音信号的基础特性至关重要。 **1.2 看见语音** “看见语音”并不是字面上的意思,而是指通过可视...
- **贪心算法**:这是一种简单的优化算法,其核心思想是在每一步选择中都采取当前看来最好的选择。在未登录词识别中,贪心算法被用于寻找每个碎片中的最长有效路径,从而帮助识别出未登录词。 - **二元模型**:这...
leetcode 2 项目描述 NLP ...该文件夹内记录机器学习/深度学习一些知识点的简单总结。 6. 该文件夹内记录leetcode最热门的100道算法题,部分解题思路搬运自leetcode题解。 对应论文 [1] Convolutional
它具有强大的歧义识别能力和新词识别能力,但实现起来非常复杂,需要构建准确、完备的规则库。目前,基于理解的分词算法技术成熟度较低,尚未有广泛应用于实践的成熟方案。 3. 基于统计的分词: 这种算法利用大量...
机械分词的优点在于实现简单、速度快,但对歧义和新词识别能力有限。 统计分词则引入了概率模型,如N-gram模型,通过学习大量语料库中的词频统计信息来提高分词准确率。生成式统计分词基于马尔科夫假设和输出独立性...
这种方法简单有效,但对新词识别能力有限。 2. 统计学习方法:利用大规模语料库进行训练,如隐马尔可夫模型(HMM)、最大熵模型(MaxEnt)和条件随机场(CRF)。这些模型能自我学习和优化,适应新词出现。 3. 深度...
新词识别则需要处理不断涌现的新词汇,如人名、地名、产品名等,这些新词往往不在现有词典中,需要动态更新和识别。 为了解决这些问题,现有分词算法大致可分为基于字符串匹配、理解法和统计法三类。字符串匹配法...
中文分词面临的挑战主要包括歧义、新词识别和未登录词处理。歧义是指一个词串可能对应多个意义,例如“苹果”既可指水果也可指品牌。新词识别是指快速识别并处理网络上不断出现的新词汇,如网络热词。未登录词是指不...
系统需要具备一定的新词识别能力,如基于n-gram的统计方法或深度学习的自注意力机制,来发现和识别未登录词。 5. **优化与评估**:系统性能的优化通常涉及提升分词速度和降低内存消耗。评估分词效果通常采用F1值、...
《中文分词算法在JAVA实现中的探讨》 ...JAVA提供的丰富库和工具为开发者提供了便利,但也需要面对性能、歧义处理和新词识别等挑战。理解并熟练运用这些知识,将有助于提升中文文本处理的准确性和效率。
中文分词面临的挑战主要包括歧义分词、新词识别、未登录词处理等。歧义分词是指一个词串可能对应多个切分方式,如“中国银行”既可以理解为“中国/银行”,也可以理解为“中国银行”这个机构名。新词识别是指及时...
中文分词是自然语言处理中的基础任务,对文本分析、信息检索、机器翻译等领域...基于统计的分词则在新词识别和歧义处理上表现出色,是目前的主流趋势。在实际应用中,可以根据具体需求灵活选择或组合使用这三种方法。
歧义消除是通过上下文信息来确定最合适的分词方式,新词识别则需要算法具备一定的学习能力,识别出未在词库中存在的新兴词汇。对于未登录词,可以通过统计学方法或者N-gram模型进行临时处理。 总结来说,"fenci.rar...
### 最优化的分词技术研究 #### 一、引言 随着互联网技术的快速发展,海量信息的处理变得...未来的研究方向可以进一步探索如何结合深度学习技术,以更智能的方式实现分词和新词识别,从而进一步提高分词技术的性能。
尽管由字构词法有诸多优点,但如何有效处理大量字级信息、降低计算复杂度,以及如何进一步提高新词识别的准确性和实时性,仍是该方法面临的挑战。随着深度学习技术的发展,如Transformer模型的应用,可能会为中文...