Greedy NLP Learning Notes(二)
1.NLP项目的流程
NLP pipeline
Normalizaition:英文中应用比较多,如apple、apples=>apple;go、went=>go。
2.分词 word segentation
2.1.基于匹配规则的分词方法
前向最大匹配(贪心算法)
前向最大匹配
后向最大匹配(贪心算法)
后向最大匹配
「基于匹配规则的分词法」的缺点:
- 只能找局部最优的解
- max_len导致效率低下
- 不能考虑语义,上下文关系,可能存在歧义
- 进一步细分可能效果更好
2.2.基于语言模型(LM)的分词方法
基于语言模型的分词方法
维特比算法
Unigram下的维特比算法
- Unigram:即每个单词之间是独立的。
- 维特比算法依然是DP动态规划
3.拼写纠错 spell correction
拼写纠错被广泛应用于搜索技术中,在淘宝中你搜索错别字产品,依然可以搜索到。
3.1.拼写错误分类
- 单词拼写错误 天起-->天气
- 单词未拼写错误,但结合上下文,该词使用错误 I am go home-->I am going home
3.2.编辑距离
编辑距离中的三种编辑操作:insert、delete、replace
编辑距离示例
时间复杂度更低的优化
利用贝叶斯定理来求错误字符串本应该的正确字符串
极大似然估计
4.停用词过滤 stop words removal
一般做法:将出现频率较低的词汇,即对分析作用不大的词作为停用词
在英⽂文⾥里里,⽐比如 “the”, “an”, “their”这些都可以作 为停⽤用词来处理理。但是,也需要考虑⾃自⼰己的应⽤用场景。
例如好,很好这类词一般需要放入停用词库,但在做情感分析时,这类词需要保留。
5.stemming
stemming
porter stemming方法的规则
lemmazation比stemming更严格,生成的词符合词库标准,stemming生成词可能不符合语法。