神经学者

pyneuroner的Python项目详细描述


神经元

构建状态

neuroner是一个执行命名实体识别(ner)的程序。网址:neuroner.com

本页提供安装和使用Neuroner的分步说明。

目录

要求

Neuroner依赖于Python3、TensorFlow 1.0+,还可以选择依赖于brat:

  • Python3:Neuroner不能与Python2.x一起工作。在Windows上,它必须是Python3.6 64位或更高版本。
  • tensorflow是一个机器学习库。neuroner将其用于其基于神经网络的ner引擎。官方网站:https://www.tensorflow.org rel="nofollow">https://www.tensorflow.org
  • brat(可选)是一个基于web的注释工具。它只需要安装,如果你想方便地创建注释或查看由神经元作出的预测。官方网站:http://brat.nlplab.org" rel="nofollow">http://brat.nlplab.org

安装

对于GPU支持,必须满足TensorFlow的GPU要求。如果系统不满足这些要求,则应使用CPU版本。要安装Neuroner:

# For CPU support (no GPU support):
pip3 install pyneuroner[cpu]

# For GPU support:
pip3 install pyneuroner[gpu]

您还需要下载一些支持包。

  1. Spacy的英语模块:
  2. < > >
    # Download the SpaCy English module
    python -m spacy download en
    
    1. 从http://neuroner.com/data/word_vectors/glove.6b.100d.zip" rel="nofollow">http://neuroner.com/data/word_vectors/glove.6b.100d.zip下载单词嵌入,解压缩到文件夹/data/word_vectors
    2. < > >
      # Get word embeddings
      wget -P data/word_vectors http://neuroner.com/data/word_vectors/glove.6B.100d.zip
      unzip data/word_vectors/glove.6B.100d.zip -d data/word_vectors/
      
      1. 加载示例数据集。可以通过从python解释器调用neuromodel.fetch_data()函数或在命令行使用--fetch_data参数来加载这些函数。
      2. < > >
        # Load a dataset from the command line
        neuroner --fetch_data=conll2003
        neuroner --fetch_data=example_unannotated_texts
        neuroner --fetch_data=i2b2_2014_deid
        
        # Load a dataset from a Python interpreter
        from neuroner import neuromodel
        neuromodel.fetch_data('conll2003')
        neuromodel.fetch_data('example_unannotated_texts')
        neuromodel.fetch_data('i2b2_2014_deid')
        
        1. 加载预训练模型。可以通过调用python解释器中的neuromodel.fetch_trained_models()函数或在命令行中使用--fetch_trained_models参数来加载模型。
        2. < > >
          # Load a pre-trained model from the command line
          neuroner --fetch_trained_model=conll_2003_en
          neuroner --fetch_trained_model=i2b2_2014_glove_spacy_bioes
          neuroner --fetch_trained_model=i2b2_2014_glove_stanford_bioes
          neuroner --fetch_trained_model=mimic_glove_spacy_bioes
          neuroner --fetch_trained_model=mimic_glove_stanford_bioes
          
          # Load a pre-trained model from a Python interpreter
          from neuroner import neuromodel
          neuromodel.fetch_trained_model('conll_2003_en')
          neuromodel.fetch_trained_model('i2b2_2014_glove_spacy_bioes')
          neuromodel.fetch_trained_model('i2b2_2014_glove_stanford_bioes')
          neuromodel.fetch_trained_model('mimic_glove_spacy_bioes')
          neuromodel.fetch_trained_model('mimic_glove_stanford_bioes')
          

          安装BRAT(可选)

          brat是一个可以用来创建、更改或查看brat样式注释的工具。有关安装和使用说明,请参见BRAT网站

          安装Perl(依赖于平台)

          perl是必需的,因为官方的conll-2003评估脚本是用这种语言编写的:http://strawberryperl.com。对于Unix和MacOSX系统,应该已经安装了Perl。对于Windows系统,您可能需要安装它。

          使用Neuroner

          neuroner可以从命令行运行,也可以从python解释器运行。

          使用python解释器中的neuroner

          要从命令行使用neuroner,请使用所需的参数创建neurodel的实例,然后调用相关方法。可以从工作目录中的parameters.ini文件设置其他参数。例如:

          from neuroner import neuromodel
          nn = neuromodel.NeuroNER(train_model=False, use_pretrained_model=True)
          

          更多细节请关注。

          从命令行使用neuroner

          默认情况下,neuroner配置为在conll-2003数据集上进行训练和测试。运行默认设置的NoNoR开始在CONLL—2003数据集上进行训练(测试集上的F1分数应该在0.90左右,即与最先进的系统相一致)。开始培训:

          # To use the CPU if you have installed tensorflow, or use the GPU if you have installed tensorflow-gpu:
          neuroner
          
          # To use the CPU only if you have installed tensorflow-gpu:
          CUDA_VISIBLE_DEVICES="" neuroner
          
          # To use the GPU 1 only if you have installed tensorflow-gpu:
          CUDA_VISIBLE_DEVICES=1 neuroner
          

          如果要更改任何神经元参数,可以修改工作目录中的parameters.ini配置文件或将其指定为参数。

          例如,要减少训练时段的数量,并且不使用任何预先训练的令牌嵌入:

          # For CPU support (no GPU support):
          pip3 install pyneuroner[cpu]
          
          # For GPU support:
          pip3 install pyneuroner[gpu]
          
          0

          使用预先训练的模型对一些纯文本执行NER:

          # For CPU support (no GPU support):
          pip3 install pyneuroner[cpu]
          
          # For GPU support:
          pip3 install pyneuroner[gpu]
          
          1

          如果在配置文件和参数中都指定了一个参数,则该参数优先(即忽略parameters.ini中的参数)。您可以使用--parameters_filepath命令行参数指定不同的配置文件。命令行参数没有默认值,除了指向parameters.ini的--parameters\filepath之外。

          Neuroner有三种操作模式:

          添加新数据集

          数据集可以是conll-2003或brat格式。数据集文件和文件夹的组织和命名如下:

          我们提供了几个数据集示例:

          • data/conll2003/en:注释数据集,采用conll-2003格式,包含3个文件(train.txtvalid.txttest.txt)。
          • 数据/example_unnotated_texts:具有BRAT格式的未注释数据集,包含1个文件夹(deploy/)。请注意,不带注释的BRAT格式与纯文本相同。

          使用预先训练的模型

          为了使用预训练模型,必须将配置文件中的parameters.ini中的预训练模型文件夹参数设置为包含预训练模型的文件夹。配置文件中的以下参数也必须设置为与位于指定的pretrained\u model\u文件夹中的配置文件中的值相同的值:

          # For CPU support (no GPU support):
          pip3 install pyneuroner[cpu]
          
          # For GPU support:
          pip3 install pyneuroner[gpu]
          
          2

          共享预先训练的模型

          我们强烈建议您共享在自己的数据集上训练的模型,以便其他用户能够e其他数据集上的预训练模型。我们提供了neuroner/prepare_pretrained_model.py脚本,以便于准备用于共享的预训练模型。要使用脚本,只需在脚本中指定output_folder_nameepoch_numbermodel_name参数。

          默认情况下,有关预训练模型中包含的数据集的唯一信息是出现在用于训练的数据集中的标记列表以及从数据集中学习到的相应嵌入。

          如果希望在不提供任何有关数据集的信息(包括数据集中出现的令牌列表)的情况下共享预训练模型,可以通过设置来实现此目的

          删除令牌映射=真

          运行脚本时。在这种情况下,强烈建议使用一些外部预训练的令牌嵌入,并在训练模型时冻结它们以获得高性能。这可以通过指定标记预训练嵌入文件路径和设置来完成。

          冻结令牌嵌入=真

          在培训期间的配置文件中。

          为了共享一个预先训练的模型,请在github存储库上提交一个新的问题。

          使用Tensorboard

          您可以在训练阶段或之后启动Tensorboard。为此,请在neuroner文件夹的终端中运行:

          # For CPU support (no GPU support):
          pip3 install pyneuroner[cpu]
          
          # For GPU support:
          pip3 install pyneuroner[gpu]
          
          3

          这将启动一个Web服务器,该服务器可从您的Web浏览器访问http://127.0.0.1:6006" rel="nofollow">http://127.0.0.1:6006。

          引文

          如果您在出版物中使用Neuroner,请引用本文

          # For CPU support (no GPU support):
          pip3 install pyneuroner[cpu]
          
          # For GPU support:
          pip3 install pyneuroner[gpu]
          
          4

          neuroner中使用的神经网络体系结构在本文中进行了描述。

          # For CPU support (no GPU support):
          pip3 install pyneuroner[cpu]
          
          # For GPU support:
          pip3 install pyneuroner[gpu]
          
          5

          欢迎加入QQ群-->: 979659372 Python中文网_新手群

          推荐PyPI第三方库


热门话题
java是否存在这样一种场景:Java7的Hashmap实现优于Java8的实现   java如何打印这些完整的数组?   java BuildException:未能执行aapt   java如何使用类。未知类型的集合返回的cast()   java准备语句返回错误的值   webview 安卓中的java显示身份验证对话框   java如何重命名列名JPA Hibernate   java查询从特定用户和特定时间段的Oracle表(通过比较原始表和备份表)中选择修改的行   java Youtube视频仅在三星S6设备上加载时自动暂停   未调用java RecyclerView getItemViewType   使用JSch setCommand执行带有源选项的java Shell ping命令时失败   java Hibernate:无法删除|删除分离的实例   Java Spring@MappedSuperclass字段作为子类中的@Id字段   java Android:确定单击了哪个按钮,因为该按钮未在xml中定义   如何计算java阵列内存使用率   使用Java查找按字母顺序排列的第一个字符串   javascript注销功能刷新页面,但页面仍已登录   当接口作为参数提供时,java依赖项注入不起作用   java中带原语的字符串扭曲