NLP (5) | NER

Original link: https://cloud.tencent.com/developer/article/1196139

NLP (1) | word vector encoding one hot word vector coding ideas

NLP (2) | Chinese word segmentation concept of word segmentation method for classifying CRFHMM

NLP (3) | seq to seq model

NLP (4) | wording Dream of Red Mansions vector analysis technique simple relationship between the characters generated word vectors with n-gramma word2vect the model train


Why entity recognition

Common tools such as hanlp, htp, does not recognize the particular field of proper nouns, it is necessary entity recognition algorithm. Here's to the medical profession as an example to talk about the medical professional named entity recognition.

Mark

  • Manual annotation
  • Machine marked bootstrapping, such as tag the text of the fruit, given the "Apple", the text will automatically other "peach", "plums" and automatically marked out (Baidu)
  • Noted in the medical profession, such as: for example, detection means "head ct", "lacunar infarction" is a disease, their relationship is: detection means proven disease

  • First category then the boundary determination recognition

Such as the type of medical need to identify named entities have the disease, the diagnosis of disease classification, symptoms, tests, treatments and modifications of these five symptoms of the disease and information. ; Are the corresponding English (Disease) (Disease Type) (Symptom) (Test) (Treatment)

关系抽取研究主要关注这六类实体关系的抽取: 治疗和疾病之间的关系, 比如治疗施 加于疾病; 
治疗和症状之间的关系, 比如为缓解症状而施加的治疗; 检查和疾病之间的关系, 比如检查证实疾 病; 
检查和症状之间的关系, 比如检查发现症状; 疾病和症状之间的关系, 比如疾病导致症状; 
疾病和疾病诊 断分类之间的关系, 该关系表示疾病的进展程度。
关系抽取研究主要关注这六类实体关系的抽取: 治疗和疾病之间的关系, 比如治疗施 加于疾病; 
治疗和症状之间的关系, 比如为缓解症状而施加的治疗; 检查和疾病之间的关系, 比如检查证实疾 病; 
检查和症状之间的关系, 比如检查发现症状; 疾病和症状之间的关系, 比如疾病导致症状; 
疾病和疾病诊 断分类之间的关系, 该关系表示疾病的进展程度。
  • Modify

They were denied the (absent), non-patients themselves (family), the current (present), conditional (conditional), possible (possible), to be confirmed by the (hypothetical), the occasional (occasional)

中文电子病历命名实体和实体关系标注体系及语料库构建 9 在是否发生患者本人这个方面有两个修饰: 
(1)否认: 患者主动否认、或肯定不发生于患者身上。 比如: 各瓣膜区未闻及病理性杂音。 全腹无压痛、反跳痛及肌紧张。 腹壁静脉曲张: 无
 (2)非患者本人: 发生于患者家属, 该种修饰可能和“否认”重叠, 若发生此种情况, 选择否认。 比如: 其父母均患有糖尿病 在发生于患者本人的确定程度这个方面有五个修饰:
(3)当前的: 肯定发生或正在发生于患者本人的疾病和症状。 比如: 头晕、呕吐伴右下肢无力。 自诉有冠心病史。 头CT示:双侧多发腔梗。 
(4)有条件的: 当前不一定发生, 在某种条件具备的情况下, 才发生。 比如: 该患者于入院前3个月开始出现阵发性胸闷、心慌, 常于饮酒后出现。
 (5)可能的: 不确定当前会发生, 需要进一步的证据才能确定。 比如: 不排除缺血性疾病。 右肺中下叶考虑创伤性湿肺。 临床初步诊断: 脑梗死、高血压病、糖尿病。
 (6)待证实的: 当前不会发生, 但预期会发生。 比如: 手术一周后会有局部瘙痒 多在皮疹出现后1~4周左右出现血尿和 (或) 蛋白尿。 
(7)偶有的: 指症状或者疾病当前不经常出现, 或者出现的频率较低。 比如: 病程中患者走路不稳, 偶有头晕。 大便偶有一过性发白。 时有胸闷气短。 
  • Mark
3.1疾病 DIS,DISEASE 
疾病必须是能够治疗的,其语义范围包括:疾病或者综合征、受伤或中毒、先天性畸形、病毒细菌、病理功能、细胞或分子功能障碍、获得性异常、解剖异常、肿瘤进程、精神或行为障碍等。
1。1。1 疾病诊断分型 DT, DISEASE TYPE
疾病的具体分类,表示疾病的进展程度,疾病诊断分类一般出现在诊断里。如: 
1)失代偿期  DT
2)III期DT
3)II型  DT
3.2 症状 
症状是能够被改善或治愈的,并且能够被否定词修饰,为疾病的表现。包括患者向医生陈述的不适感觉(症状)和医生观察到的(体征)或者检查结果,如:
3.2.1患者向医生陈述的不适感觉(症状) SYM,SYMPTOM
1)疼痛时伴有右下肢活动受限。(“疼痛“ 、”右下肢活动受限”);
2)伴活动后心慌气短。(“心慌”、“气短”)
3.2.2医生观察到的(体征)ST
1)双肺听诊可闻及少量痰鸣音。(“痰鸣音”)
2)自带胸片示左下肺症病变。(“左下肺症病变”)
3)双肺听诊无著征。(“著征”)
3.3 检查 TES,TEST
检查是为了发现、证实疾病或症状,找到更多关于疾病或症状的信息而施加给患者的检查项目,包括:化验过程,诊断过程等。如:
1)头CT显示脑实质内高密度灶。(“CT”)
2)血压最高达到180/130mmHg。(“血压”)
3)双肺听诊无著征。(“听诊”)
4)自带胸片示左下肺症病变。(“胸片”)
3.4 治疗 
治疗是能够治疗疾病或者缓解症状而施加给患者的手段,包括手术、药品、措施等。本标注语义类型包括:药物、手术。如:
3.4.1药品 DRU,DRUG
1)奥扎格雪、脑蛋白水解物等静点 (药物“奥扎格雪”和“脑蛋白水解物”)。
3.4.2手术 SUR,SURGERY
1)4年前行胆囊切除术。(手术“胆囊切除术”)
2)鼻内镜下行双筛、双上颌窦。(手术“鼻内镜”)
3.4.3措施(非手术,非药品的治疗) PRE,precaution
3.5实体修饰词标注
3.5.1 否认词(AT,,absent)标注:
 各瓣膜区未闻及病理性杂音
 全腹无压痛、反跳痛及肌紧张
3.5.2条件词(CL,conditional)标注:
在某种条件具备的情况下才发生的词。
比如:该患者于入院前3个月开始出现阵发性胸闷、心慌,常于饮酒后出现。
再如:吃红薯后血糖升高 
3.5.3既往信息词(PT,past) 
明确表示患者过去有过的治疗史或疾病症状,比如:
有多年心脏病史。
该患者于入院前3个月开始出现阵发性胸闷、心慌,常于饮酒后出现。
3.5.4时间标注统一标为TE
该患者于入院前3个月开始出现阵发性胸闷、心慌,常于饮酒后出现。
3.5.5!!可能性词:
不确定当前会发生,需要进一步的证据确认的词。如:
不排除缺血性疾病。/右肺中下叶考虑创伤性湿肺
待证实词:当前不会发生,但预期会发生。比如:
手术一周后会有局部瘙痒
3.5.6程度词标注(AM,AMOUNT),非量化的数量描述词,如大小、多少、程度(明显等)等
双肺听诊可闻及少量痰鸣音。
3.5.7解剖位置
    器官(REG,REGION)
部位词(ORG,ORGEN)
3.5.8频率词 (FW,Frequency Word)
患者走路不稳,偶有头晕。时有胸闷气短。
反复胸闷,憋气,持续时间长短不等。

Label format: sudden dizziness AM SYM SYM nausea and vomiting associated with O SYM 3 Xiaoshi TE

Id of Classification and Labeling

BIESO represented by the boundary can be roughly divided into the following tag, respectively (beginning, middle, end, single, others) can be performed with a boundary BIO

Data tagging

Divided into training and test sets

Set configuration parameters

{
    "model_type": "idcnn",特征抽取的模型
    "num_chars": 3538,语料库的实体数目
    "char_dim": 100,每个字的维度,embedding,把3538维度进行降维
    "num_tags": 51,标记的种类数目
    "seg_dim": 20,把边界BIOES增维,变成20维,上采样,所以每个字是120维度,使得边界信息更加丰富
    "lstm_dim": 100,120维度,卷积之后的通道数
    "batch_size": 20,
    "emb_file": "/usr/zxy/NER_IDCNN_CRF/data/vec.txt",
    "clip": 5,防止梯度爆炸
    "dropout_keep": 0.5,
    "optimizer": "adam",
    "lr": 0.001,
    "tag_schema": "iobes",
    "pre_emb": true,预序列嵌入,embeding文件
    "zeros": true,
    "lower": false字母小写
}

Model and location to save the file

Background deployment

With a flask, of course, if more complicated, a lot of people online can use django

from flask import jsonify
from flask import Flask
from flask import request
@app.route('/', methods=['POST','GET'])
def get_text_input():
    #http://127.0.0.1:5002/?inputStr="神经病"
    #如果遇到显示问题:下载QQ浏览器,将编码设置为utf-8
    text=request.args.get('inputStr')
    #if len(text.strip())>0: 
    from flask import jsonify
    if text:    
        aa=model.evaluate_line(sess, input_from_line(text, char_to_id), id_to_tag)
        print(aa)

Expansion convolution

选择多次膨胀卷积来抽取特征,能减少参数量

#膨胀卷积:插入rate-1个0 这里三层{1,1,2}相当于前两个没有膨胀
  conv = tf.nn.atrous_conv2d(layerInput,w,rate=dilation,padding="SAME")

  • 标签
  • 如何提升准确率
  • 部分词太长
  • 有些类别的词比较少
  • 未登录词

如何优化模型

  • 学习率
  • 初试化参数
  • doupout
  • L2正则
  • batchsize(影响相对小)

参考:

https://cloud.tencent.com/developer/article/1196139

 

Guess you like

Origin blog.csdn.net/u012325865/article/details/102750518