首页 > 其他分享 >精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取

精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取

时间:2023-08-12 10:44:06浏览次数:45  
标签:助力 suffix 后缀 brand trade symbol place 有限公司 分词

精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取

中文公司名称分词工具,支持公司名称中的地名,品牌名(主词),行业词,公司名后缀提取。

对公司名文本解析,识别并提取地名(place)、品牌名(brand)、行业词(trade)、公司名后缀词(suffix)。

运行评估脚本evaluate_file.py,使用预测结果与GroundTruth完成相等才为算对的保守评估方法,
评估结果:

  • 准确率:97.0%

  • 召回率:96.7%

  • 全自动安装:pip install -U companynameparser

  • 半自动安装:

git clone https://github.com/shibing624/companynameparser.git
cd companynameparser
python setup.py install

通过以上两种方法的任何一种完成安装都可以。如果不想安装,可以下载github源码包,安装依赖requirements.txt再使用。

  • Extract Company Name

公司名称各元素提取功能base_demo.py

import companynameparser

company_strs = [
    "武汉海明智业电子商务有限公司",
    "泉州益念食品有限公司",
    "常州途畅互联网科技有限公司合肥分公司",
    "昆明享亚教育信息咨询有限公司",
]
for name in company_strs:
    r = companynameparser.parse(name)
    print(r)

output:

{'place': '武汉', 'brand': '海明智业', 'trade': '电子商务', 'suffix': '有限公司', 'symbol': ''}
{'place': '泉州', 'brand': '益念', 'trade': '食品', 'suffix': '有限公司', 'symbol': ''}
{'place': '常州,合肥', 'brand': '途畅', 'trade': '互联网科技', 'suffix': '有限公司,分公司', 'symbol': ''}
{'place': '昆明', 'brand': '享亚', 'trade': '教育信息咨询', 'suffix': '有限公司', 'symbol': ''}

parse方法的此处输入name是str;

输出的是一个包括place(地名),brand(品牌名),trade(行业词名),suffix(后缀名),symbol(标点符号)的dict; 多个地名词、品牌、行业词之间用,间隔,如'常州,合肥'

  • All Demo

一个demo演示所有示例all_demo.py,包括:

  1. 公司名称各元素提取
  2. 元素名称结果带分词
  3. 显示各元素的位置
  4. 用户自定义分词词典,用于解决部分误杀和漏召回

import companynameparser

company_strs = [
    "武汉海明智业电子商务有限公司",
    "泉州益念食品有限公司",
    "常州途畅互联网科技有限公司合肥分公司",
    "昆明享亚教育信息咨询有限公司",
    "深圳光明区三晟股份有限公司",
]
for name in company_strs:
    r = companynameparser.parse(name)
    print(r)

print("*" * 42, ' enable word segment')
for name in company_strs:
    r = companynameparser.parse(name, pos_sensitive=False, enable_word_segment=True)
    print(r)

print("*" * 42, ' pos sensitive')
for name in company_strs:
    r = companynameparser.parse(name, pos_sensitive=True, enable_word_segment=False)
    print(r)

print("*" * 42, 'enable word segment and pos')
for name in company_strs:
    r = companynameparser.parse(name, pos_sensitive=True, enable_word_segment=True)
    print(r)

print("*" * 42, 'use custom name')
companynameparser.set_custom_split_file('./custom_name_split.txt')
for i in company_strs:
    r = companynameparser.parse(i)
    print(r)

output:

{'place': '武汉', 'brand': '海明智业', 'trade': '电子商务', 'suffix': '有限公司', 'symbol': ''}
{'place': '泉州', 'brand': '益念', 'trade': '食品', 'suffix': '有限公司', 'symbol': ''}
{'place': '常州,合肥', 'brand': '途畅', 'trade': '互联网科技', 'suffix': '有限公司,分公司', 'symbol': ''}
{'place': '昆明', 'brand': '享亚', 'trade': '教育信息咨询', 'suffix': '有限公司', 'symbol': ''}
{'place': '深圳光明', 'brand': '区三晟', 'trade': '', 'suffix': '股份有限公司', 'symbol': ''}
******************************************  enable word segment
{'place': '武汉', 'brand': '海明智业', 'trade': '电子商务', 'suffix': '有限公司', 'symbol': ''}
{'place': '泉州', 'brand': '益念', 'trade': '食品', 'suffix': '有限公司', 'symbol': ''}
{'place': '常州,合肥', 'brand': '途畅', 'trade': '互联网,科技', 'suffix': '有限公司,分公司', 'symbol': ''}
{'place': '昆明', 'brand': '享亚', 'trade': '教育,信息,咨询', 'suffix': '有限公司', 'symbol': ''}
{'place': '深圳光明', 'brand': '区三晟', 'trade': '', 'suffix': '股份,有限公司', 'symbol': ''}
******************************************  pos sensitive
{'place': [('武汉', 0, 2)], 'brand': [('海明智业', 2, 6)], 'trade': [('电子商务', 6, 10)], 'suffix': [('有限公司', 10, 14)], 'symbol': []}
{'place': [('泉州', 0, 2)], 'brand': [('益念', 2, 4)], 'trade': [('食品', 4, 6)], 'suffix': [('有限公司', 6, 10)], 'symbol': []}
{'place': [('常州', 0, 2), ('合肥', 13, 15)], 'brand': [('途畅', 2, 4)], 'trade': [('互联网科技', 4, 9)], 'suffix': [('有限公司', 9, 13), ('分公司', 15, 18)], 'symbol': []}
{'place': [('昆明', 0, 2)], 'brand': [('享亚', 2, 4)], 'trade': [('教育信息咨询', 4, 10)], 'suffix': [('有限公司', 10, 14)], 'symbol': []}
{'place': [('深圳光明', 0, 4)], 'brand': [('区三晟', 4, 7)], 'trade': [], 'suffix': [('股份有限公司', 7, 13)], 'symbol': []}
****************************************** enable word segment and pos
{'place': [('武汉', 0, 2)], 'brand': [('海明智业', 2, 6)], 'trade': [('电子商务', 6, 10)], 'suffix': [('有限公司', 10, 14)], 'symbol': []}
{'place': [('泉州', 0, 2)], 'brand': [('益念', 2, 4)], 'trade': [('食品', 4, 6)], 'suffix': [('有限公司', 6, 10)], 'symbol': []}
{'place': [('常州', 0, 2), ('合肥', 13, 15)], 'brand': [('途畅', 2, 4)], 'trade': [('互联网', 4, 7), ('科技', 7, 9)], 'suffix': [('有限公司', 9, 13), ('分公司', 15, 18)], 'symbol': []}
{'place': [('昆明', 0, 2)], 'brand': [('享亚', 2, 4)], 'trade': [('教育', 4, 6), ('信息', 6, 8), ('咨询', 8, 10)], 'suffix': [('有限公司', 10, 14)], 'symbol': []}
{'place': [('深圳光明', 0, 4)], 'brand': [('区三晟', 4, 7)], 'trade': [], 'suffix': [('股份', 7, 9), ('有限公司', 9, 13)], 'symbol': []}
****************************************** use custom name
{'place': '武汉', 'brand': '海明智业', 'trade': '电子商务', 'suffix': '有限公司', 'symbol': ''}
{'place': '泉州', 'brand': '益念', 'trade': '食品', 'suffix': '有限公司', 'symbol': ''}
{'place': '常州,合肥', 'brand': '途畅', 'trade': '互联网科技', 'suffix': '有限公司,分公司', 'symbol': ''}
{'place': '昆明', 'brand': '享亚', 'trade': '教育信息咨询', 'suffix': '有限公司', 'symbol': ''}
{'place': '深圳光明区', 'brand': '三晟', 'trade': '', 'suffix': '股份有限公司', 'symbol': ''}

支持批量提取地址的省市区信息:

python3 -m companynameparser company_demo.txt -o out.csv

usage: python3 -m companynameparser [-h] -o OUTPUT input
@description:

positional arguments:
  input                 the input file path, file encode need utf-8.

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        the output file path.

输入文件:company_demo.txt;输出文件:out.csv,地名、品牌名、行业名、后缀名以\t间隔

参考链接:https://github.com/shibing624/companynameparser

更多优质内容请关注公号:汀丶人工智能;会提供一些相关的资源和优质文章,免费获取阅读。

标签:助力,suffix,后缀,brand,trade,symbol,place,有限公司,分词
From: https://www.cnblogs.com/ting1/p/17624484.html

相关文章

  • MySQL全文索引的分词机制介绍
    什么是全文查询的“分词机制”?分词机制,也常称为“分词”或“词条化”(Tokenization),是将一段连续的文本切分成若干独立的词汇或词条的过程。在很多文本处理和信息检索的任务中,分词是首要且关键的步骤。分词机制的重要性主要体现在以下几个方面:信息检索:搜索引擎......
  • 一键登录助力用户转化率稳步上升
    一键登录是什么? 本机号码一键登录验证是一种登录认证方式,通过获取用户手机上的本机号码来验证用户身份,从而实现快捷登录和简化登录流程的目的。在使用一键登录时,首先需要用户在登录页面选择使用本机号码一键登录,然后系统自动会通过移动网络运营商获取用户手机上的本机号码。然后系......
  • RFID技术助力电子烟行业加速发展
    RFID技术助力电子烟行业加速发展近年来,电子烟行业迅速发展,不仅在全球范围内受到广泛关注,而且在市场上也取得了令人瞩目的成绩。为了提高电子烟行业的效率和管理水平,RFID技术被广泛应用于电子烟生产和销售环节。本文将通过一个实际案例,介绍RFID技术在电子烟行业的应用,展示其对于生产......
  • 2023清华博士团暑期社会实践项目圆满结束,合合信息助力科技人才发展
    为促进科技人才发展,通过深化技术落地认知反哺学科研究,在上海市静安区人社局、清华大学研工部的组织下,多名博士生赴上海合合信息科技股份有限公司(简称“合合信息”)进行为期数月的社会实践,项目于近期圆满结束。该项目旨在通过企业实践,让学生更直观地接触项目研发、管理的知识,了解社......
  • 助力农村金融机构数字化转型,原点安全将出席“第十三届中国农村金融机构信息化发展创新
    农村金融机构作为服务“三农”的主力军,在我国金融体系中扮演着重要的角色。近年来,我国农村金融机构积极贯彻落实人民银行《金融科技发展规划(2022—2025年)》中国银保办公厅《关于银行业保险业数字化转型的指导意见》的相关措施,布局金融科技创新赋能数字化转型,推动农村金融机构不断实......
  • 以商业大数据技术助力数据合规流通体系建立,合合信息参编《数据经纪从业人员评价规范》
    经国务院批准,由北京市人民政府、国家发展和改革委员会、工业和信息化部、商务部、国家互联网信息办公室、中国科学技术协会共同主办的2023全球数字经济大会于近期隆重召开。由数交数据经纪(深圳)有限公司为主要发起单位,合合信息等企业参编的《数据经纪从业人员评价规范》团体标准在......
  • 后缀数组C++详解
    后缀定义“后缀i”代表以第i个字符开头的后缀,存储是用i代表字符串s的后缀s[i...n]后缀数组是什么?后缀数组(SuffixArray)主要关系到两个数组:sa和rk。其中,sa[i]表示将所有后缀排序后第i小的后缀的编号,也是所说的后缀数组,后文也称编号数组sa;rk[i]表示后缀i的排名,是重要......
  • 微仓智能柜助力企业实现物料自动化管理
    现代工业的发展,企业管理者在工厂管理领域面临着诸多挑战,制造工厂可复用工器具,包括切屑刀具,手工具、电动工具、锯片、磨具磨料等备品备件管理和工厂辅料管理等,这些管理问题的高效解决方案对于企业来说至关重要。而微仓智能柜作为一种全新的仓储解决方案,为经营者提供了一款高效、灵活......
  • 银河麒麟高级操作系统V10助力联通云建设打出组合拳
    联通云基于“双引擎基座+一云多芯”为不同行业场景提供可靠、高质量的应用上云服务。在核心代码进行了全面把控,定制多架构芯片应用适配模版,开发了计算、存储、网络、中间件等组件,全面适配自主化服务器和操作系统,提供云服务器、云硬盘、裸金属、负载均衡、虚拟私有云等多个IaaS和......
  • 火山引擎VeDI助力零售品牌私域运营 实现与会员高效“沟通”
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群小程序正在成为零售品牌与会员高效沟通的第二阵地。过去,零售品牌多依赖电商平台与会员保持互动联系。消费者通过关注【店铺】或成为【会员】,即可享受一定额度的优惠券或赠品;同时,完成关注或者入会(......