我正试图在spaCy中创建一个新的语言模型(luxemborgish),但我不知道如何做到这一点。在
我跟着instructions on their website做了一件与this post相似的事情。但我不明白的是,如何添加像vocab或wordvectors这样的数据。(例如“填充”语言模板)
我知道这些操作中有一些dev tools,但它们的执行没有很好的文档记录,所以我不知道如何正确地安装和使用它们,尤其是在python2.7中,它与我的spacy安装冲突,因为它使用python3。在
至于现在,我有一个corpus.txt
(来自wikipediadump),我想在上面进行训练,还有一个语言模板,默认值为stop_words.py
,tokenizer_exceptions.py
等,我手工创建并填充。在
有没有人能帮到我?在
spaCy中的“语言模型”有三个主要组成部分:Python中提供的“静态”语言特定数据(标记器异常、停止词、细粒度到粗粒度词性标记的映射规则)、训练用于预测词性标记的统计模型,依赖关系和命名实体(在一个大的标记语料库上训练并作为二进制权重包含)和在训练之前或之后可以是converted and added的可选词向量。您还可以使用Gensim这样的库在原始文本上训练自己的向量,然后将它们添加到spaCy中。在
spacyv2.x允许您独立或在运行中训练所有管道组件,因此您可以在数据上训练标记器、解析器和实体识别器。所有这些都需要标记数据。如果你从头开始训练一门新的语言,你通常会使用现有的树库。Here's an example的西班牙语通用依赖语料库(也是用来训练spaCy的西班牙语模型的语料库)。然后可以将数据转换为spaCy's JSON format,并使用
spacy train
命令训练模型。例如:我不知道你的
corpus.txt
里有什么,它是完全标记的还是只有原始文本。(我也不知道卢森堡的现有资源——听起来很难找到!)如果您的数据被标记,您可以使用built-in converters或您自己的小脚本将其转换为spaCy的格式。如果你的语料库只由原始文本组成,你需要先给它加上标签,看看它是否适合训练一个通用的语言模型。归根结底,这可以归结为实验——但以下是一些策略:请记住,您也始终需要评估数据(在文档中也称为“开发数据”)。这通常是您的标签数据中的随机部分,您在培训期间会保留这些数据,并用于确定您的模型是否正在改进。在
相关问题 更多 >
编程相关推荐