pjo*_*net 5 python windows nlp spacy
我想在spaCy中创建一个新的语言模型(卢森堡语),但我对如何做到这一点很困惑.
我按照他们网站上的说明进行操作,并做了与此帖相似的操作.但我不明白的是,如何添加像词汇或wordvectors这样的数据.(例如"填写"语言模板)
我知道有一些开发工具用于相同的操作,但是它们的执行记录很差,所以我不知道如何正确安装和使用它们,特别是因为它们似乎在python 2.7中与我的spacy安装冲突,因为它使用python 3.
至于现在我有一个corpus.txt(从wikipediadump)上,我想训练,并与默认像一个语言模板stop_words.py,tokenizer_exceptions.py我创建并手工填写等.
任何人都做得很好,可以帮助我吗?
Ine*_*ani 10
spaCy中的"语言模型"有三个主要组成部分:Python 中提供的"静态" 语言特定数据(标记化异常,停用词,用于映射细粒度到粗粒度词性标记的规则),该统计模型训练以预测部分的语音标签,依赖和命名实体(培训了大量标记语料库和包括二进制权重)和可选的词矢量可以转换并添加前或训练后.您还可以使用像Gensim这样的库在原始文本上训练您自己的向量,然后将它们添加到spaCy.
spaCy v2.x允许您独立或随时训练所有管道组件,因此您可以在数据上训练标记器,解析器和实体识别器.所有这些都需要标记数据.如果您从头开始训练新语言,通常使用现有的树库.这是西班牙语的Universal Dependencies语料库的一个例子(也是用于训练spaCy的西班牙语模型的语料库).然后,您可以将数据转换为spaCy的JSON格式,并使用该spacy train命令训练模型.例如:
git clone https://github.com/UniversalDependencies/UD_Spanish-AnCora
mkdir ancora-json
python -m spacy convert UD_Spanish-AnCora/es_ancora-ud-train.json ancora-json
python -m spacy convert UD_Spanish-AnCora/es_ancora-ud-dev.json ancora-json
mkdir models
python -m spacy train es models ancora-json/es_ancora-ud-train.json ancora-json/es_ancora-ud-dev.json
Run Code Online (Sandbox Code Playgroud)
我不知道你的内容是什么corpus.txt,它是完全标记还是只是原始文本.(我也不知道卢森堡语的任何现有资源 - 听起来很难找到!)如果您的数据已标记,您可以使用其中一个内置转换器或您自己的小脚本将其转换为spaCy的格式.如果您的语料库仅包含原始文本,则需要先将其标记,然后查看它是否适合训练一般语言模型.最终,这归结为实验 - 但这里有一些策略:
请记住,您也总是需要评估数据(在文档中也称为"开发数据").这通常是您在训练期间阻止的标记数据的随机部分,用于确定您的模型是否正在改进.