<jupyter_start><jupyter_text>点击下列图标在线运行HanLP		  安装 无论是Windows、Linux还是macOS，HanLP的安装只需一句话搞定：<jupyter_code>!pip install hanlp -U<jupyter_output><empty_output><jupyter_text>加载模型HanLP的工作流程是先加载模型，模型的标示符存储在`hanlp.pretrained`这个包中，按照NLP任务归类。<jupyter_code>import hanlp
hanlp.pretrained.ner.ALL # 语种见名称最后一个字段或相应语料库<jupyter_output><empty_output><jupyter_text>调用`hanlp.load`进行加载，模型会自动下载到本地缓存。<jupyter_code>ner = hanlp.load(hanlp.pretrained.ner.MSRA_NER_ELECTRA_SMALL_ZH)<jupyter_output><empty_output><jupyter_text>命名实体识别 命名实体识别任务的输入为已分词的句子：<jupyter_code>print(ner([["2021年", "HanLPv2.1", "为", "生产", "环境", "带来", "次", "世代", "最", "先进", "的", "多", "语种", "NLP", "技术", "。"], ["阿婆主", "来到", "北京", "立方庭", "参观", "自然", "语义", "科技", "公司", "。"]], tasks='ner*'))<jupyter_output>[[('2021年', 'DATE', 0, 1)], [('北京', 'LOCATION', 2, 3), ('立方庭', 'LOCATION', 3, 4), ('自然语义科技公司', 'ORGANIZATION', 5, 9)]]<jupyter_text>每个四元组表示`[命名实体, 类型标签, 起始下标, 终止下标]`，下标指的是命名实体在单词数组中的下标。  自定义词典 自定义词典是NER任务的成员变量：<jupyter_code>print(ner.dict_whitelist)<jupyter_output>None<jupyter_text>白名单词典白名单词典中的词语会尽量被输出。当然，HanLP以统计为主，词典的优先级很低。<jupyter_code>ner.dict_whitelist = {'午饭后': 'TIME'}
ner(['2021年', '测试', '高血压', '是', '138', '，', '时间', '是', '午饭', '后', '2点45', '，', '低血压', '是', '44'])<jupyter_output><empty_output><jupyter_text>强制词典如果你读过[《自然语言处理入门》](http://nlp.hankcs.com/book.php)，你就会理解BMESO标注集，于是你可以直接干预统计模型预测的标签，拿到最高优先级的权限。<jupyter_code>ner.dict_tags = {('名字', '叫', '金华'): ('O', 'O', 'S-PERSON')}
ner(['他', '在', '浙江', '金华', '出生', '，', '他', '的', '名字', '叫', '金华', '。'])<jupyter_output><empty_output><jupyter_text>黑名单词典黑名单中的词语绝对不会被当做命名实体。<jupyter_code>ner.dict_blacklist = {'金华'}
ner(['他', '在', '浙江', '金华', '出生', '，', '他', '的', '名字', '叫', '金华', '。'])<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.2545031958163858, 'fraction_numerical': 0.017431725740848343, 'mean_word_length': 11.661764705882353, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '8', 'dir': 'jupyter-structured-clean-dedup', 'id': '73087', 'license': 'Apache-2.0', 'n_tokens_mistral': 1073, 'n_tokens_neox': 1181, 'n_words': 101, 'path': 'plugins/hanlp_demo/hanlp_demo/zh/ner_stl.ipynb', 'repo_name': 'chen88358323/HanLP', 'size': '1721'}