自然语言处理中的Spark NLP库应用
1. 注解与标注器
1.1 注解
注解不仅需要包含文本信息,还需存储其在文档中的位置。例如,若“pacing”一词在文档的第134个字符处出现,那么该注解的起始位置为134,结束位置为140。“pacing”的词元注解也会记录这个位置。部分注解库还支持无位置信息的文档级注解。注解的额外字段会因类型而异,像简单的标记注解通常没有额外字段,而词干注解一般会包含从文本范围中提取的词干。
1.2 标注器
标注器是包含自然语言处理(NLP)功能逻辑的对象,通常需要配置或外部数据集。此外,还有基于模型的标注器。注解库的一个优势是,标注器可以利用之前标注器的工作成果,从而自然地形成一个标注器管道。
2. 常用NLP库
2.1 spaCy
spaCy是一个“工业级”的NLP库。它将文档模型与所处理语言(如英语、西班牙语等)的模型相结合,方便开发者支持多种语言。其大部分功能用Python实现,以获取原生代码的速度。若你仅在Python环境中工作且不涉及分布式处理,spaCy是个不错的选择。
2.2 其他库中的NLP功能
一些非NLP库也具备NLP功能,常见于机器学习库中,以支持对文本数据的机器学习处理。
- scikit - learn :一个Python机器学习库,可从文本中提取特征,通常采用词袋模型处理方式,且其处理流程便于利用更专注于NLP的库。
- Lucene :一个Java文档搜索框架,拥有构建搜索引擎所需的文本
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



