精华内容
下载资源
问答
  • 中文命名实体识别

    2021-03-08 09:55:11
    中文命名实体识别1. 语言技术平台(LTP)2. Pyhanlp3. BosonNLP 1. 语言技术平台(LTP) LTP官方地址:语言技术平台( Language Technology Plantform) 要想用LTP实现中文命名实体识别非常简单,首选,只需要一行...

    1. 语言技术平台(LTP)

    LTP官方地址:语言技术平台( Language Technology Plantform)
    要想用LTP实现中文命名实体识别非常简单,首选,只需要一行指令便可自动安装部署LTP:

    pip install ltp
    

    接着,需要加载模型:

    from ltp import LTltp = LTP()
    

    这时,就可以愉快的使用命名实体识别了:

    from ltp import LTP
    ltp = LTP()
    seg, hidden = ltp.seg(["杨超越在1998年7月31日出生于江苏省盐城市大丰区。"])
    ner = ltp.ner(hidden)tag, start, end = ner[0][0]print(tag,":", "".join(seg[0][start:end + 1]))
    

    2. Pyhanlp

    Pyhanlp官方提供的在线演示系统:HanLP
    首先需要安装JDK,官方下载地址
    需要注意的是,这里需要保证JDK的位数、操作系统位数和Python位数一致。然后设置JAVA_HOME环境变量,接着,就可以根据如下指令安装Pyhanlp了:

    conda-forge jpype1==0.7.0      # (可选)conda安装jpype1更方便pip install pyhanlp
    

    然后,就可以使用Pyhanlp来进行命名实体识别了,仍然需要通过类似于LTP的流程,先加载模型,再执行命名实体识别:

    import pyhanlp
    text = '杨超越在1998年7月31日出生于江苏省盐城市大丰区。'
    NLPTokenizer = pyhanlp.JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
    NER = NLPTokenizer.segment(text)
    print(NER)
    

    3. BosonNLP

    BosonNLP项目官方地址
    BosonNLP 是一个更加商业化的中文语义分析API,其中,对于命名实体识别任务,可以识别时间、地点、人名、组织名、公司名、产品名、职位这几类实体。

    安装这个工具非常简便:

    pip install bosonnlp
    

    接着,就可以调用这个API进行命名实体识别的任务了:

    from bosonnlp import BosonNLP
    import os
    nlp = BosonNLP(os.environ['BOSON_API_TOKEN'])
    nlp.ner('杨超越在1998年7月31日出生于江苏省盐城市大丰区。', sensitivity=2)
    
    1. 百度的Lac
    2. 复旦大学的fnlp
    3. 斯坦福的StanfordCoreNLP
    4. TexSmartEntityExtractor
    展开全文
  • NER(中文实体命名识别)光健字: 中文命名实体识别 NER BILSTM CRF IDCNN BERT摘要:对中文命名实体识别一直处于知道却未曾真正实践过的状态,此次主要是想了解和实践一些主流的中文命名实体识别的神经网络算法。...

    NER(中文实体命名识别)

    光健字: 中文命名实体识别 NER BILSTM CRF IDCNN BERT

    摘要:对中文命名实体识别一直处于知道却未曾真正实践过的状态,此次主要是想了解和实践一些主流的中文命名实体识别的神经网络算法。通过对网上博客的阅读了解,中文命名实体识别比较主流的方法是BILSTM+CRF、IDCNN+CRF、BERT+BILSTM+CRF这几种神经网络算法,这个demo也用Keras实现了这几个算法,并且采用几个比较通用的数据集进行训练测试。这个demo是以了解和学习为目的的,所以未得出任何结论

    注意:由于算力和时间的问题,对神经网络的参数未进行太多调试,所以模型现在的参数并不是最佳参数

    主要库的版本

    本项目是基于keras(Using TensorFlow backend)以下是主要库的版本

    python = 3.6.8

    keras == 2.2.4

    keras_contrib == 0.0.2

    keras_bert == 0.80.0

    tensorflow == 1.14.0

    项目目录结构

    data 数据目录

    具体请查看数据目录文件夹下的README文件

    DataProcess 数据处理文件夹

    具体请查看数据处理文件夹下的README文件

    Pubilc 公共工具

    path 定义文件(文件夹)的路径

    utils 工具

    创建log

    keras的callback调类

    Model 模型(总共定义了5个模型,具体结构请查看Model文件夹下的README文件)

    BERT+BILST+CRF

    BILSTM+Attention+CRF

    BILSTM+CRF

    IDCNN+CRF(1)

    IDCNN+CRF(2)

    log 记录数据

    运行项目

    注意:需要用到bert网络的需要提前下载BERT预训练模型解压到data文件夹下

    直接在IDE里运行项目

    直接运行 train.py文件

    命令行

    python train.py

    运行结果

    运行GPU: GeForceRTX2080Ti(GPU显存 10.0G, 算力7.5)

    训练周期为15个周期,提前停止条件:2个周期验证集准确率没有提升。

    BERT采用batch_size=32 因为值为64的时候所使用GPU内存不够

    以下数据基于MSRA数据集,以8:2的拆分(训练集:测试集)。测试结果

    模型

    准确率

    F1

    召回率

    IDCNN_CRF

    0.988

    0.860

    0.871

    IDCNN_CRF_2

    0.990

    0.872

    0.897

    BILSTM_Attention_CRF

    0.987

    0.850

    0.848

    BILSTMCRF

    0.989

    0.870

    0.863

    BERT_BILSTM_CRF

    0.996

    0.954

    0.950

    很显然BERT+BILIST+CRF的组合效果会好很多

    提示:log文件夹里有每个训练周期记录的数据

    展开全文
  • 基于BERT预训练的中文命名实体识别TensorFlow实现

    万次阅读 多人点赞 2019-01-03 11:58:25
    BERT-BiLSMT-CRF-NER Tensorflow solution of ...使用谷歌的BERT模型在BLSTM-CRF模型上进行预训练用于中文命名实体识别的Tensorflow代码’ 代码已经托管到GitHub 代码传送门 大家可以去clone 下来亲自体验一下! g...

    BERT-BiLSMT-CRF-NER

    Tensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tuning
    GitHub: https://github.com/macanv/BERT-BiLSTM-CRF-NER
    本文目录机构:

    1. 自己训练模型
    2. 说明
    3. 结果
    4. 使用自己的数据

    2019.1.31更新,支持pip install package


    现在可以使用下面的命令下载软件包了:

    pip install bert-base==0.0.7 -i https://pypi.python.org/simple
    

    或者使用基于源代码的安装:

    git clone https://github.com/macanv/BERT-BiLSTM-CRF-NER
    cd BERT-BiLSTM-CRF-NER/
    python3 setup.py install
    

    如果没啥问题,你将会看到这个:
    安装成功
    笔者在windows10/ Linux/ Mac OSX上都测试过,安装没有问题。

    软件包现在支持的功能

    1. 命名实体识别的训练
    2. 命名实体识别的服务C/S
    3. 继承优秀开源软件:bert_as_service(hanxiao)的BERT所有服务
      4. 文本分类服务 (2019.2.19)

    内容还会继续补充,同时欢迎大神们分享训练的模型或者新的方法或者数据(弱鸡的我并不会用在商业上,毕竟还是一个毕业即失业的渣渣~~)。

    基于命名行训练命名实体识别模型:

    安装完bert-base后,会生成两个基于命名行的工具,其中bert-base-ner-train支持命名实体识别模型的训练,你只需要指定训练数据的目录,BERT相关参数的目录即可。可以使用下面的命令查看帮助

    bert-base-ner-train -help
    

    在这里插入图片描述
    训练的事例命名如下:

    bert-base-ner-train \
        -data_dir {your dataset dir}\
        -output_dir {training output dir}\
        -init_checkpoint {Google BERT model dir}\
        -bert_config_file {bert_config.json under the Google BERT model dir} \
        -vocab_file {vocab.txt under the Google BERT model dir}
    

    参数说明

    1. 其中data_dir是你的数据所在的目录,训练数据,验证数据和测试数据命名格式为:train.txt, dev.txt,test.txt,请按照这个格式命名文件,否则会报错。
      训练数据的格式如下:
      海 O
      钓 O
      比 O
      赛 O
      地 O
      点 O
      在 O
      厦 B-LOC
      门 I-LOC
      与 O
      金 B-LOC
      门 I-LOC
      之 O
      间 O
      的 O
      海 O
      域 O
      。 O
      

    每行得第一个是字,第二个是它的标签,使用空格’ '分隔,请一定要使用空格。句与句之间使用空行划分。程序会自动读取你的数据。

    1. output_dir: 训练模型输出的文件路径,模型的checkpoint以及一些标签映射表都会存储在这里,这个路径在作为服务的时候,可以指定为-ner_model_dir
    2. init_checkpoint: 下载的谷歌BERT模型
    3. bert_config_file : 谷歌BERT模型下面的bert_config.json
    4. vocab_file: 谷歌BERT模型下面的vocab.txt

    训练完成后,你可以在你指定的output_dir中查看训练结果。

    将命名实体识别任务进行服务部署

    作为服务的很多代码都来自优秀的开源项目: bert as service of hanxiao 但是我不知道这样改动是不是违反了某些许可规定,如果有违反,请马上告诉我,我将第一时间进行修改.而且服务端的代码很解耦,修改为另外一种任务的服务也是很简单的,例如文本分类,我将会不就提供这一功能,也欢迎愿意分享的童鞋分享模型或者代码。

    作为服务的命名是:bert-base-serving-start,同样的,你可以先使用-help查看相关帮助

    bert-base-serving-start -help
    

    在这里插入图片描述
    作为命名实体识别任务的服务,这两个目录是你必须指定的:ner_model_dir, bert_model_dir
    然后你就可以使用下面的命令启动了:

    bert-base-serving-start \
        -model_dir C:\workspace\python\BERT_Base\output\ner2 \
        -bert_model_dir F:\chinese_L-12_H-768_A-12
        -mode NER
    

    参数解释

    bert_model_dir: 谷歌BERT模型的解压路径,可以在这里下载 https://github.com/google-research/bert
    model_dir: 训练好的NER模型或者文本分类模型的路径,对于上面的output_dir
    model_pd_dir: 运行模型优化代码后, 经过模型压缩后的存储路径,例如运行上面的命令后改路径下会产生 ner_model.pb 这个二进制文件
    mode:NER 或者是BERT这两个模式,类型是字符串,如果是NER,那么就会启动NER的服务,如果是BERT,那么具体参数将和[bert as service] 项目中得一样。

    我提供了命名实体识别pb模型下载:https://pan.baidu.com/s/1m9VcueQ5gF-TJc00sFD88w, 提取码: guqq
    文本分类模型:https://pan.baidu.com/s/1oFPsOUh1n5AM2HjDIo2XCw, 提取码: bbu8
    文本分类使用的是bert中的demo:run_classxxx.py,在运行的时候使用Pickle序列化了label_list和id2label折两个变量。
    将 ner_mode.pb/classification_model.pb 文件放到 model_pd_dir目录下,将命名识别的label_list.pkl和id2map.pkl不同的模型不同的文件夹,因为他们同名,但是内容不一样,需要区分开来
    命名实体识别模型只支持人名,地名,住址机构名的识别,在我的测试数据上有95.6%的F1值(实体级别的得分)
    文本分类模型数据来自清华大学的文本分类数据:http://thuctc.thunlp.org/ , 在测试数据上准确率为98%~99%的准确率
    肥肠欢迎大家分享你们训练的更好的模型。

    如果使用的下载的模型,你可以使用下面的命令启动,替换你自己的路径即可:

    bert-base-serving-start -model_pd_dir /home/macan/ml/workspace/BERT_Base/output/predict_optimizer  \ 
    	-bert_model_dir /home/macan/ml/data/chinese_L-12_H-768_A-12/ \
    	-ner_model_dir /home/macan/ml/data/bert_ner \
    	-num_worker 8 
    	-mode NER
    

    你将会看到下面的启动信息(启动log有点多,分两张图截):
    在这里插入图片描述
    在这里插入图片描述

    在本地连接服务端进行命名实体识别的测试

    你可以使用下面的代码进行服务的连接,在本地进行NER测试,客户端代码如下:

    import time
    from bert_base.client import BertClient
    # 指定服务器的IP
    with BertClient(ip='XXX,XXX,XXX,XXX', ner_model_dir=ner_model_dir, show_server_config=False, check_version=False, check_length=False, mode='NER') as bc:
        start_t = time.perf_counter()
        str = '1月24日,新华社对外发布了中央对雄安新区的指导意见,洋洋洒洒1.2万多字,17次提到北京,4次提到天津,信息量很大,其实也回答了人们关心的很多问题。'
        rst = bc.encode([str, str])  #测试同时输入两个句子,多个输入同理
        print('rst:', rst) 
        print(time.perf_counter() - start_t)
    

    运行后,会输出下面的信息:
    在这里插入图片描述

    结果说明:

    返回的结果就是序列标注的结果,再往后的工作就不准备再写了,因为后面的操作会涉及到一些策略问题,写的太多,影响代码的灵活,例如有童鞋在terminal_predict.py的代码上提了issue,无法应用到自己的数据中。这样看起来,也比较直观吧~~

    到此,基于命令行的用法已经讲完,不明白的地方请评论或者在GitHub上提交issue,觉得有用,麻烦在GitHub上点个star吧~~

    ###########################################################################################

    以下是基于源代码的训练和启动服务的教程

    ###########################################################################################

    自己训练命名实体识别模型

    使用谷歌的BERT模型在BLSTM-CRF模型上进行预训练用于中文命名实体识别的Tensorflow代码’

    代码已经托管到GitHub 代码传送门 大家可以去clone 下来亲自体验一下!

    git clone https://github.com/macanv/BERT-BiLSTM-CRF-NER
    

    关于BERT的相关理论文章不是本文的主要目的,而且网上简介该部分的文章多如牛毛,大家自行去查看吧,本文着重讲解基于BERT用于中文命名实体的fine-tuning 过程。

    1. 下载Google BERT 预训练模型:

    下载
    wget https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip  
    解压
    unzip chinese_L-12_H-768_A-12.zip
    

    2. 训练模型

    下载了Google的BERT模型和我的GitHub代码后,就可以开始训练啦
    训练之前先在项目目录中新建一个output文件夹,模型的输出,和结构都会保存在这个目录中

    mkdir output
    

    训练的时候需要一些参数,你可以使用命名行的形式进行模型参数指定,例如下面的方法:

      python3 bert_lstm_ner.py   \
                      --task_name="NER"  \ 
                      --do_train=True   \
                      --do_eval=True   \
                      --do_predict=True
                      --data_dir=NERdata   \
                      --vocab_file=checkpoint/vocab.txt  \ 
                      --bert_config_file=checkpoint/bert_config.json \  
                      --init_checkpoint=checkpoint/bert_model.ckpt   \
                      --max_seq_length=128   \
                      --train_batch_size=32   \
                      --learning_rate=2e-5   \
                      --num_train_epochs=3.0   \
                      --output_dir=./output/result_dir/ 
    

    笔者比较菜,选择的是将默认参数写在代码中,开始训练的之前,只需要修改下面的代码即可,代码在bert_lstm_ner.py文件中

    if os.name == 'nt': #windows path config
       bert_path = '{your BERT model path}'
       root_path = '{project path}'
    else: # linux path config
       bert_path = '{your BERT model path}'
       root_path = '{project path}'
    

    os.name=='nt’是表示识别到的系统是windows,其余的是Linux,这里只需要修改一个,如果你是windows训练修改os.name='nt’下面的路径就好了,Linux或者Mac修改else下面的两个路径。
    两个路径说明:
    bert_path: 就是在步骤1中下载解压的BERT模型的路径,复制绝对路径替换即可,例如我项目中所写的路径
    root_path: 这个是项目的路径,也是一个绝对路径,即BERT-BiLSTM-CRF-NER的路径

    修改好两个路径后,就可以开始训练了:

    python3 bert_lstm_ner.py
    

    说明:

    模型代码主要在bert_lstm_ner.py中的create_model函数中
    下面对该函数逻辑进行讲解:

    • 1使用bert模型对我们的输入进行represent
    	#使我们的input_ids数据通过bert 网络结构
        model = modeling.BertModel(
            config=bert_config,
            is_training=is_training,
            input_ids=input_ids,
            input_mask=input_mask,
            token_type_ids=segment_ids,
            use_one_hot_embeddings=use_one_hot_embeddings
        )
        # 获取bert 模型最后一层
        embedding = model.get_sequence_output()
    

    bert 的最后一层是所有transformer结果的最后一维,其是一个三维向量维度是:[batch_size, seq_length, embedding_size],可以类比的理解为我们使用tf.nn.embedding_lookup获取的结果。

    • 2 将embedding 作为LSTM结构的输入:
    	# 加载BLSTM-CRF模型对象
        blstm_crf = BLSTM_CRF(embedded_chars=embedding, hidden_unit=FLAGS.lstm_size, cell_type=FLAGS.cell, num_layers=FLAGS.num_layers,
                              dropout_rate=FLAGS.droupout_rate, initializers=initializers, num_labels=num_labels,
                              seq_length=max_seq_length, labels=labels, lengths=lengths, is_training=is_training)
        # 获取添加我们自己网络结构后的结果,这些结果包括loss, logits, trans, pred_ids
        rst = blstm_crf.add_blstm_crf_layer(crf_only=True)
    

    这里有几点需要说明:

    1. 因为BERT里面已经存在双向编码,所以LSTM并不是必须的,可以将BERT最后一层的结构直接扔给CRF进行解码。所以在代码中通过在add_blstm_crf_layer函数中的crf_only参数进行控制我们训练的时候使用的是那种网络结构用于最后的fine-tuning.通过两种结构的训练结果对比,其实他们的最后结果相差不大,可以说基本是一样的,足见transformer的强大。
    2. crf_only=True 是我们fine-tuning 只使用CRF进行解码,不再使用传统经典的BLSTM-CRF,False表示使用blstm-crf这样的网络结构。
    3. 但是我在试验中发现,只使用CRF的训练时间要比BLSTM-CRF结构的时间要长,这一点我百思不得其解,按理加了BLSTM网络的参数会更多,如果有大佬发现这是个错的观察或者有合理的解释,麻烦不吝赐教。

    实验结果

    • 1 基于label计算出来的指标:

    In dev data set:

    在这里插入图片描述

    In test data set

    在这里插入图片描述

    • 2 在很多地方命名实体的结果使用基于实体级别的评测更为合理,下面是实体级别的评测结果。
      在这里插入图片描述

    评测脚本使用的是conlleval.plconlleval.py

    提供我训练的模型下载:

    my model can download from baidu cloud:
    链接:https://pan.baidu.com/s/1GfDFleCcTv5393ufBYdgqQ 提取码:4cus

    • 3 在线预测
      当你的模型训练完后,可以使用下面的脚本加载模型,进行在线预测
    python3 terminal_predict.py
    

    在这里插入图片描述

    使用自己的数据:

    BERT的大腿简直太粗了,效果很好有木有,看到这样的效果,是不是很想再自己的数据上进行测试一番呢? 其实改的地方很少,只需要修改bert_lstm_ner.py文件中的几行代码就好啦:

      1. get_labels 函数
        def get_labels(self):
            return ["O", "B-PER", "I-PER", "B-ORG", "I-ORG", "B-LOC", "I-LOC", "X", "[CLS]", "[SEP]"]
    

    这里是我数据中所有的标签,其中"X", “[CLS]”, “[SEP]” 是附加的, “[CLS]”, "[SEP]"是句子的开始和结束标志,X是wordpice产生的东西,中文中目前还没有遇到过,可以不用管,大家要改的话,就改前面的标签就好啦。
    例如你想加一个时间类型的实体,就加 “B-TIME”, “I-TIME”
    如果你想应用于分词中,那就没有-XXX了。就是B,I这些,简而言之,就是你的序列标注数据中的第二列的标签的set集合。
    你也可以把get_labels函数写成这样一劳永逸,但是要注意在测试集或者验证机中出现的OOLabel哦:

        def get_labels(self):
            # 通过读取train文件获取标签的方法会出现一定的风险。
            if os.path.exists(os.path.join(FLAGS.output_dir, 'label_list.pkl')):
                with codecs.open(os.path.join(FLAGS.output_dir, 'label_list.pkl'), 'rb') as rf:
                    self.labels = pickle.load(rf)
            else:
                if len(self.labels) > 0:
                    self.labels = self.labels.union(set(["X", "[CLS]", "[SEP]"]))
                    with codecs.open(os.path.join(FLAGS.output_dir, 'label_list.pkl'), 'wb') as rf:
                        pickle.dump(self.labels, rf)
                else:
                    self.labels = ["O", 'B-TIM', 'I-TIM', "B-PER", "I-PER", "B-ORG", "I-ORG", "B-LOC", "I-LOC", "X", "[CLS]", "[SEP]"]
            return self.labels
    

    参考:

    展开全文
  • 中文命名实体识别实战学习路线图-揭开中文命名实体识别的神秘面纱 命名实体识别作为自然语言处理 的基础技术之一,在自然语言处理上游各个任务(问答系统、机器翻译、对话系统等)重扮演者十分重要的角色,因此深入...

    中文命名实体识别实战学习路线图-揭开中文命名实体识别的神秘面纱

    命名实体识别作为自然语言处理 的基础技术之一,在自然语言处理上游各个任务(问答系统、机器翻译、对话系统等)重扮演者十分重要的角色,因此深入掌握命名实体识别技术,是作为自然语言处理从业者毕本技能,本学习路线图理论与实践相结合,希望能给大家带来帮助。本学习路线图主要从最简单的基于BiLSTM+CRF的中文命名实体模型到基于IDCNN+CRF的中文命名实体识别模型,最后讲解基于Bert+BiLSTM+CRF的命名实体识别实战模型,从浅入深,一次揭开中文命名实体识别实战的面纱。

    基于BiLSTM+CRF的中文命名实体识别实战

    1. BiLSTM_CRF模型介绍 ,深入剖析模型原理;
    2. BiLSTM当前模型介绍及存在问题
    3. BiLSTM后面接CRF的原因
    4. 数据集介绍
    5. 读取数据代码实现
    6. 处理数据集代码实现
    7. 工具类代码实现
    8. 模型代码编写实现
    9. 模型训练代码编写实现
    10. 代码封装实现
    11. flask接口实现

    基于IDCNN+CRF的中文命名实体识别实战

    1. IDCNN+CRF模型介绍 ,深入剖析模型原理;
    2. IDCNN与BiLSTM的区别
    3. 数据集介绍
    4. 读取数据代码实现
    5. 处理数据集代码实现
    6. 工具类代码实现
    7. 模型代码编写实现
    8. 模型训练代码编写实现
    9. 代码封装实现
    10. flask接口实现

    基于Bert-BiLSTM+CRF的中文命名实体识别实战

    1. Bert相关理论模型介绍 ,深入剖析模型原理;
    2. Bert-BiLSTM+CRF模型介绍
    3. Bert原生工程创建介绍
    4. 数据集介绍
    5. 读取数据代码实现
    6. 处理数据集代码实现
    7. 工具类代码实现
    8. 模型代码编写实现
    9. 模型训练代码编写实现
    10. 代码封装实现
      在这里插入图片描述
    展开全文
  • 用于中文命名实体识别的简单BiLSTM-CRF模型 该存储库包含用于为中文命名实体识别任务构建非常简单的基于字符的BiLSTM-CRF序列标签模型的代码。 其目标是识别三种类型的命名实体:PERSON,LOCATION和ORGANIZATION。 ...
  • 融合迁移学习的中文命名实体识别
  • 中文命名实体识别数据集,很好用。包括组织,机构和人物三个实体。
  • 命名实体识别作为序列标注类的典型任务,其使用场景特别广泛。本项目基于PyTorch搭建HMM、CRF、BiLSTM、BiLSTM+CRF及BERT模型,实现中文命名识别任务,部分内容参考了https://zhuanlan.zhihu.com/p/61227299,全部...
  • 基于神经网络的片段级中文命名实体识别
  • 微博中中文命名实体识别的两阶段策略
  • 课程目标: 学习完本门课程,您将对自然语言处理技术有更深入的了解,彻底掌握中文命名实体识别技术。 适用人群: 自然语言处理从业者、深度学习爱好者 课程简介: 命名实体识别作为自然语言处理的基础技术之一,在...
  • 基于CRF的中文命名实体识别,曾冠明,张闯,中文命名实体识别在自然语言处理中是一个很重要的任务。本文主要介绍我们的团队在中文命名实体识别任务方面的工作。本文建立了一
  • Lattice LSTM中文命名实体识别采用PyTorch实现
  • 中文命名实体识别ner

    2019-06-18 13:42:03
    转载自:https://github.com/stephen-v/zh-NER-keras ... 中文命名实体识别一般来说采用的方法为bilstm+crf 这里不说原理方面,直接用keras实现中文命名实体识别 首先crf函数不在keras官方里,由keras社区里贡献 ...
  • 课程目标: 学习完本门课程,您将对自然语言处理技术有更深入的了解,彻底掌握中文命名实体识别技术。 适用人群: 自然语言处理从业者、深度学习爱好者 课程简介: 命名实体识别作为自然语言处理的基础技术之一,在...
  • 中文命名实体识别NER详解

    千次阅读 2019-09-21 14:58:06
    中文命名实体识别是在自然语言处理领域有着具足轻重的地位,因为在很多应用中,我们一定要提取出我们话术中的实体,所以说命名实体识别是非常重要的。一般来说,现在网上有很多NER的开源库,我们通过调用API就可以...
  • 基于深度学习的中文命名实体识别研究,介绍了几种识别方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,066
精华内容 426
关键字:

中文命名实体识别