Skip to content

Using UIE to zero-shot on resume IE task and general IE task (Internship in DeepWisdom)

License

Notifications You must be signed in to change notification settings

XavierWww/UIE-General-Info-Extraction

Repository files navigation

简历信息抽取

场景介绍

简历信息抽取旨在从大量真实简历中提取出最有价值的信息。本服务提供的是基于 UIE 进行 zero-shot 的简历信息抽取模型,目前支持抽取的实体schema为 “姓名”,“国籍”,“民族”,“居住地”,“学历”,“专业”,“组织”,“职位”。

Docker调试

  1. 拉取镜像

    docker pull harbor.deepwisdomai.com/deepwisdom/resume_info_extraction:v1.0.0
    
  2. 启动容器

    docker run -it --name resume_info_extra -p 8989:8080 harbor.deepwisdomai.com/deepwisdom/resume_info_extraction:v1.0.0
    

本地调试

以在 2080A 机器上调试为例,需修改 service.py 里的 host 和 port

host = '192.168.50.121' # 2080A 的 host
port = 8989

启动服务

python service.py

输入示例

input_data = [
    '''常建良,男,1963年出生,工科学士,高级工程师,北京物资学院客座副教授。1985年8月—1993年在国家物资局、物资部、国内贸易部金属材料流通司从事国家统配钢材中特种钢材品种的全国调拔分配工作,先后任科员、副主任科员、主任科员。1993年5月—1999年5月受国内贸易部委派到国内贸易部、冶金部、天津市政府共同领导组建的北洋(天津)钢材批发交易市场任理事长助理、副总裁。1999年5月—2010年4月任天津一德投资集团有限公司董事。2010年5月任天津一德投资集团公司董事、副总裁。''', 
    '''陈学军先生:1967年5月出生,大学毕业,高级经济师。1986年7月进入无锡威孚高科技集团股份有限公司。历任公司采供处处长兼党支部书记,党委工作处处长。无锡威孚高科技集团股份有限公司第四届、第五届监事会主席,第六届董事会副董事长兼总经理,第七届董事会董事长。现任大股东无锡产业发展集团有限公司董事局董事、无锡威孚高科技集团股份有限公司党委书记。'''
]

请求代码

import requests
import json

if __name__ == "__main__":

    url = 'http://192.168.50.121:8989/resume_task_extraction'  # 服务地址
    input_data = [
        '''常建良,男,1963年出生,工科学士,高级工程师,北京物资学院客座副教授。1985年8月—1993年在国家物资局、物资部、国内贸易部金属材料流通司从事国家统配钢材中特种钢材品种的全国调拔分配工作,先后任科员、副主任科员、主任科员。1993年5月—1999年5月受国内贸易部委派到国内贸易部、冶金部、天津市政府共同领导组建的北洋(天津)钢材批发交易市场任理事长助理、副总裁。1999年5月—2010年4月任天津一德投资集团有限公司董事。2010年5月任天津一德投资集团公司董事、副总裁。'''
    ]
    resp = requests.request("POST", url, data=json.dumps(input_data)) 
    print(json.dumps(resp.json(), ensure_ascii=False, indent=4))  

返回示例

[
    {
        "姓名": "常建良",
        "国籍": "",
        "民族": "",
        "居住地": "",
        "学历": [
            "学士"
        ],
        "专业": [
            "工科"
        ],
        "组织": [
            "北京物资学院",
            "国家物资局",
            "物资部",
            "国内贸易部金属材料流通司",
            "国内贸易部",
            "国内贸易部",
            "冶金部",
            "北洋(天津)钢材批发交易市场",
            "天津一德投资集团有限公司",
            "天津一德投资集团公司"
        ],
        "职位": [
            "高级工程师",
            "客座副教授",
            "科员",
            "副主任科员",
            "主任科员",
            "理事长助理",
            "副总裁",
            "董事",
            "董事",
            "副总裁"
        ]
    },
    {
        "姓名": "陈学军",
        "国籍": "",
        "民族": "",
        "居住地": "",
        "学历": [
            "大学"
        ],
        "专业": "",
        "组织": [
            "无锡威孚高科技集团股份有限公司",
            "公司",
            "无锡威孚高科技集团股份有限公司",
            "无锡产业发展集团有限公司",
            "无锡威孚高科技集团股份有限公司"
        ],
        "职位": [
            "高级经济师",
            "采供处处长",
            "党支部书记",
            "党委工作处处长",
            "第五届监事会主席",
            "第六届董事会副董事长",
            "总经理",
            "第七届董事会董事长",
            "董事局董事",
            "党委书记"
        ]
    }
]

效果测试

python test.py

通用信息抽取

场景介绍

通用信息抽取旨在从常见的不同领域下的大量文本中抽取出其语义相关的实体。本服务提供的是基于 UIE 进行 zero-shot 的通用信息抽取模型,使用的数据集为 “CLUENER2020” ,包含从新浪新闻检索到的约74万篇新闻文章,拥有来自不同领域的14个新闻类别,包括金融、股票、教育、时尚、体育、游戏、娱乐等,目前支持抽取的实体 schema 为 “地址(address)”,“书名(book)”,“公司(company)”,“游戏(game)”,“政府(government)”,“电影(movie)”,“姓名(name)”,“组织机构(organization)”,“职位(position)”,“景点(scene)”。

不同场景下的文本内容参考如下:

  1. 娱乐

    句子:中博传媒与新加坡家乐电影合作,也非常明确地体现了中博传媒的国际视野。拍摄《危险关系》
    "label": {"movie": {"《危险关系》": [[36, 41]]}, "company": {"中博传媒": [[0, 3], [24, 27]], "新加坡家乐电影": [[5, 11]]}}}
    
  2. 金融

    句子:宁波正是中国人民银行力推的金融ic卡多应用的一个试点城市。这种金融ic卡在宁波被称为“市民卡”
    "label": {"address": {"宁波": [[0, 1], [37, 38]]}, "government": {"中国人民银行": [[4, 9]]}}}
    
  3. 司法

    句子:应用法学研究所所长胡云腾日前在北京表示,最高法正对此起草相关司法解释,希望能尽快出台。
    "label": {"address": {"北京": [[15, 16]]}, "organization": {"应用法学研究所": [[0, 6]]}, "name": {"胡云腾": [[9, 11]]}, "position": {"所长": [[7, 8]]}}}
    
  4. 体育

    句子:欧冠中4比0大胜波尔图来得十分酣畅淋漓,阿德巴约和范佩西已经联手在各项赛事中打入11球,
    "label": {"organization": {"欧冠": [[0, 1]], "波尔图": [[8, 10]]}, "name": {"阿德巴约": [[20, 23]], "范佩西": [[25, 27]]}}}
    

Docker调试

  1. 拉取镜像

    docker pull harbor.deepwisdomai.com/deepwisdom/resume_info_extraction:v1.0.0
    
  2. 启动容器

    docker run -it --name general_info_extra -p 8989:8080 harbor.deepwisdomai.com/deepwisdom/resume_info_extraction:v1.0.0
    

本地调试

以在 2080A 机器上调试为例,需修改 service.py 里的 host 和 port

host = '192.168.50.121' # 2080A 的 host
port = 8989

启动服务

python service.py

输入示例

input_data = [
    '''6月15日,河南省文物考古研究所曹操高陵文物队公开发表声明承认:“从来没有说过出土的珠子是墓主人的''', 
    '''诸侯曰类宫。”东汉蔡邕的《明堂丹令论》解释为:“取其四面环水,圆如壁,后世遂名辟雍。”魏晋南北朝、'''
]

请求示例

import requests
import json

if __name__ == "__main__":

    url = 'http://192.168.50.121:8989/general_info_extraction'  # 服务地址
    input_data = [
        '''6月15日,河南省文物考古研究所曹操高陵文物队公开发表声明承认:“从来没有说过出土的珠子是墓主人的''', 
        '''诸侯曰类宫。”东汉蔡邕的《明堂丹令论》解释为:“取其四面环水,圆如壁,后世遂名辟雍。”魏晋南北朝、'''
    ]
    resp = requests.request("POST", url, data=json.dumps(input_data)) 
    print(json.dumps(resp.json(), ensure_ascii=False, indent=4))  

返回示例

[
    {
        "姓名": [
            "曹操"
        ],
        "机构组织": [
            "河南省文物考古研究所曹操高陵文物队"
        ]
    },
    {
        "书名": [
            "明堂丹令论"
        ],
        "姓名": [
            "蔡邕"
        ]
    }
]

效果测试

python test2.py

About

Using UIE to zero-shot on resume IE task and general IE task (Internship in DeepWisdom)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published