1.下面排名根据 GitHub 上的 star 数排名
英文:
https://easyai.tech/ai-definition/tokenization/
2.CoreNLP
https://links.jianshu.com/go?to=http%3A%2F%2Fstanfordnlp.github.io%2FCoreNLP%2F
功能:
- 分词(tokenize)、分句(split)
- 词性标注(pos)
- 词形还原(lemma)
- 命名实体识别(ner)
- 语法解析(parse)
- 情感分析(sentiment)
但是这个是基于Java的。
3.文本预处理
英文预处理包括:词,去停词,提取词干等步骤。
nltk有提供stopwords。
https://easyai.tech/ai-definition/tokenization/
词的原因:
- 将复杂问题转化为数学问题
- 词是一个比较合适的粒度
- 深度学习时代,部分任务中也可以「分字」
中英文分词的3个典型区别:
- 分词方式不同,中文更难
- 英文单词有多种形态,需要词性还原和词干提取
- 中文分词需要考虑粒度问题
中文分词的3大难点
- 没有统一的标准
- 歧义词如何切分
- 新词的识别