请问ACL可以投资吗?
这个问题,我会分3部分来解答 1.什么是ACL?2.为什么需要ACL?3.如何找到好的ACL?
什么是ACL? Advanced Computational Lexicon(高级计算词法)的缩写。这是一个在自然语言处理领域中,用于词语切分、词性标注以及词典标注的工具。它是由美国加州大学伯克利分校自然语言组开发的。 现在很多NLP工具都支持ACL,比如Pyecho、Spacy等等。 Spacy还提供了基于深度学习的现代ACL算法,准确度高。
为什么要使用 ACL? 构建NLP系统的过程中会遇到许多困难,其中最大的难题之一就是词汇问题:如何从文本中切分出词语,并且给这些词语打上标签。传统的做法是首先构建词典,然后通过词典查询的方式来完成切分和标签任务。但是传统方式存在两个问题:
①需要预先知道词库的大小和词库中的单词,这对于大规模数据集而言是不现实的做法;
②词典中通常只记录了单词的一种形式(可能是简体或繁体,也可能是全拼或者简拼),对于文本集合中可能出现的不同文本表示形式,词典无法适应。而ACL则能够很好地解决这两个问题,因为它是从大数据集中学习得到的词库,同时能够根据文本的特征(如字频)对词语进行加权,从而得到最佳的切分标记结果。
除了切分标记外,ACL还能够执行其它的文本分析任务,包括词性标注和词典标注。 在Spacy中配置了acl模型之后就可以使用模型中的词性标注功能来标注文本。
如何使用 ACCL ? 这里以 Jieba 为例介绍怎么用,虽然 Jieba 是开源软件,但只能用来做汉语的字切分和词性标注。 下载模型 到官网下载对应的模型文件并解压。 加载模型并使用 导入相关的模块 import pytesseract as ts ##文字识别import jieba ##切分词器 from sklearn.model_selection import train_test_split ##划分训练测试集
from spacy.en import English ##spaCy英文词库 model = 'acl-chinese' ##指定使用的模型 text = "阿里巴巴集团于2014年8月5日,以7亿美金收购美国在线零售商Joyo.com。"
# 加载词典 load_dict(path) 或者 load_file(fname) # 对文本串进行分类,返回分类结果 [('阿里巴巴', 'B')] # 根据类别获取文本文本集合,类别为‘B’ ['阿里巴巴集团于2014年8\n月5日,以7亿美金收购美\n国在线零售商Joyo.com。']
# 切分词句 tokenize() 或者 seg() # 词性标注,参数pos 为可选值,默认值为“auto”,可省略不输入 【输出结果类似】 [['阿里', '巴巴','集', '团'], ['于', '2014 年','8 月', '5 日',',', '以','7','亿','美', '元','收', '购', '美', '国', '在线', '零售', '商', '乔', '易', '欧', '姆', '.', '.', '.'] ]