当前位置: 首页 > news >正文

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

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

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

对公司名文本解析,识别并提取地名(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 companynameparsercompany_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 companynameparsercompany_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.csvusage: 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 OUTPUTthe output file path.

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

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

如果github进入不了也可进入 https://download.csdn.net/download/sinat_39620217/88205221 免费下载相关资料

相关文章:

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

精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取 中文公司名称分词工具,支持公司名称中的地名,品牌名(主词),行业词,公司名后缀提取。 对公司名文本解析,识…...

网络编程(JavaEE初阶系列10)

目录 前言: 1.网络编程的基础 1.1为什么需要网络编程 1.2什么是网络编程 1.3网络编程中的基本概念 1.3.1发送端和接收端 1.3.2请求和响应 1.3.3客户端和服务端 2.Socket套接字 2.1概念 2.2分类 3.UDP数据报套接字编程 3.1DataGramSocket API 3.2Datagr…...

Git常用的指令

Git常用的指令 OMMP提交代码的流程 0、配置: git config --list 查看当前配置 git congig --global user.name user 这个会显示你的提交到git的名字 格式:git config [–local|–global|–system] –unset section.key 格式:git config [–l…...

LoadRunner(2)

一、Controller 1.1场景设计 1.通过VUG打开 施压机器:发起请求的角色(用户本地电脑) 被压机器:处理请求的角色(服务器) 2.直接双击Controller 场景设计:需要关注三个部分 第一部分: 第二部分: 2.1运行场景…...

CTF之逆向之阿里巴巴

题目地址:http://www.shiyanbar.com/ctf/13 题目预览: 解题过程: 1、下载附件发现是exe文件 2、使用PEid和Detect It Easy查壳 和 开发语言,发现没有加壳,都是用C#开发的 3、C#和Java Python属于解释型语言&#xff…...

Labview控制APx(Audio Precision)进行测试测量(五)

驱动程序 VIs如何处理配置设置中的单元 APx500 应用程序具有复杂的控件,具有以下功能: 数值和单位组合在一个控制中(例如,1.000 Vrms ) •值转换为 SI 格式(例如,1.000 mVrms 或 1.000 μVrms) •单位之间的转换发生在控制(例如,V…...

在单元测试中使用Jest模拟VS Code extension API

对VS Code extension进行单元测试时通常会遇到一个问题,代码中所使用的VS Code编辑器的功能都依赖于vscode库,但是我们在单元测试中并没有添加对vscode库的依赖,所以导致运行单元测试时出错。由于vscode库是作为第三方依赖被引入到我们的VS C…...

django boostrap html实现可拖拽的左右布局,鼠标拖动调整左右布局的大小或占比

一、实现的效果 最近需要在Django项目中,实现一个左右布局的html页面,页面框架使用的是boostrap。但这个布局不是简单的左右分栏布局,而是需要实现可以通过鼠标拖拽的方式动态调整左右两侧布局的大小和占比。效果大致如下: 一开始,页面分为左右两块布局: 鼠标放到中间的…...

谈谈闭包和闭包使用场景

一、什么是闭包 概念:闭包还是作用域的一种特殊应用 二、触发闭包的情况 1.函数当做返回值被返回 2.函数当做参数被传递 3.自执行匿名函数 //情况1:函数当做返回值被返回 function fn(){const a 1;return function(){console.log(a) //1}; } const a …...

MATLAB算法实战应用案例精讲-【图像处理】边界框锚框

目录 目标检测 应用场景 目标检测发展历程 常用数据集 边界框(bounding box)...

04什么场景要用到微服务

一句话导读 根据微服务的特点,可以总结为在构建复杂的、大型的、分布式的、高可用、高并发、高性能的应用时可以使用微服务架构。 目录 一句话导读 一、微服务适用场景 1.业务复杂,模块多且相对独立 2.团队多,管理隔离 3.应用规模大&#…...

.NET SqlSuger 简单介绍,超快开发数据库

文章目录 前言SqlSugar使用我的环境Nuget 安装新建连接串DB First 和 Code First使用增删改查 总结 前言 我之前介绍过EFCore 怎么使用Nuget快速创建数据库,我之后发现SqlSugar更快。这里简单再说一下SqlSugar如何使用 .NET Core 数据库DB First自动生成&#xff0…...

SpringBoot复习:(28)【前后端不分离】自定义View

一、自定义View package cn.edu.tju.view;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Comp…...

springcloud3 springcloud stream的学习以及案例(了解)

一 springcloud stream的作用 1.1 springcloud stream作用 stream屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。 stream中的消息通信模式遵循了“发布-订阅”模式。 1.2 Binder作用 通过定义绑定器Binder作为中间层,实现…...

Kotlin理解内置函数

目录 一 内置函数1.1 apply 函数1.2 let 函数1.3 run函数1.4 with函数1.5 also函数1.6 takeIf函数1.7 takeUnless函数1.8 总结 Kotlin内置函数包括:let、run、with、apply、also,这些函数都是在Any类中定义的扩展函数,所以任何对象都可以调用…...

手机app测试

一、安装、卸载、更新、运行 1.安装、卸载 应用是否可以正常安装(命令行安装;apk/ipa安装包安装)(有网,无网是否都正常)卸载过程中出现死机,断电,重启等意外的情况&…...

Centos部署Git

Centos部署Git 文章目录 Centos部署Git部署步骤初始化配置免登录 部署步骤 初始化 -- 安装git yum install git配置免登录 配置git下载代码时 每次都需要输入密码的事情 -- 生成 gitconfig 文件 git config --global credential.helper store -- 配置登录邮箱 git config …...

k8s 控制器

Kubernetes(K8S)是一种开源的容器编排平台,它可以自动化地管理容器化应用程序的部署、扩展和运行。K8S中的控制器是一种重要的组件,它可以确保应用程序的状态与期望的状态一致。在K8S中,有五种常见的控制器&#xff0c…...

谷歌关闭跨域限制.(生成一个开发浏览器),Chrome关闭跨域

(一)、首先找到浏览器在电脑磁盘中的位置,并复制 (二)、复制一个浏览器的快捷方式到桌面(不影响正常浏览器) (三)、chrom鼠标右键属性,修改快捷方式的目标 (四)chrome.exe 后面添加 --disable-web-security --user-data-dir 复制的Chrome浏览…...

实践指南-前端性能提升 270% | 京东云技术团队

一、背景 当我们疲于开发一个接一个的需求时,很容易忘记去关注网站的性能,到了某一个节点,猛地发现,随着越来越多代码的堆积,网站变得越来越慢。 本文就是从这样的一个背景出发,着手优化网站的前端性能&a…...

北京GEO优化公司对比

在AI搜索成为用户获取信息新入口的今天,你的品牌是否还在搜索引擎的“红海”里挣扎,却忽视了生成式AI这片“蓝海”?当用户习惯向豆包、文心一言、Kimi提问时,你的专业内容却石沉大海,这无疑是巨大的流量与商机流失。今…...

终极指南:5步掌握Windows驱动管理神器DriverStore Explorer

终极指南:5步掌握Windows驱动管理神器DriverStore Explorer 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否曾因为Windows系统越来越慢而烦恼?是否发现C盘…...

AI短剧制作工具哪个好用?实测主流模型生成效果,教你搭建创作平台

温馨提示:文末有资源获取方式最近后台收到不少粉丝私信:“AI短剧这么火,到底用什么工具能快速上手?”今天我就用实测经验,以列表形式拆解主流模型的生成效果,并教大家低成本搭建自己的创作平台。源码获取方…...

别再手动拖拽了!用Polyworks脚本实现点云与CAD模型的自动化粗对齐(附完整代码)

解锁Polyworks脚本潜能:点云与CAD模型的智能对齐实战指南 在三维测量与逆向工程领域,点云数据与CAD模型的对齐是每个工程师都无法绕开的必经之路。传统的手动对齐方式不仅耗时费力,还容易因人为因素引入误差。想象一下,当你面对数…...

从蓝桥杯Web省赛真题里,我总结出前端新人最该掌握的5个CSS/JS实战技巧

蓝桥杯Web省赛真题解析:前端新人必掌握的5个CSS/JS实战技巧 参加技术竞赛是检验学习成果的绝佳方式,而蓝桥杯Web组省赛真题更是前端开发者成长的宝贵资源。本文将从历年真题中提炼出5个最具实战价值的技巧,这些技巧不仅能帮助你在竞赛中脱颖而…...

IFCNN:一个基于卷积神经网络的通用图像融合框架深度解析

1. IFCNN框架的核心设计理念 IFCNN(通用图像融合框架)之所以能在多聚焦、多曝光、多模态医学图像融合任务中表现出色,关键在于其**"轻量级架构预训练知识迁移"**的设计哲学。我在复现这个框架时发现,作者刻意避开了传统…...

拼多多二面:为什么有了线程,还需要协程?我:额,协程是啥...

👉 这是一个或许对你有用的社群🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 《项目实战(视频)》:从书中学,往事中…...

修车师傅的‘清码’秘籍:用UDS 0x14服务清除AutoSar ECU故障码的完整流程与实战避坑

修车师傅的‘清码’秘籍:用UDS 0x14服务清除AutoSar ECU故障码的完整流程与实战避坑 在汽车电子诊断领域,故障码(DTC)的清除操作看似简单,实则暗藏玄机。许多维修技师和诊断工程师都曾遇到过这样的困惑:为什…...

架构设计:基于状态机的AGV与巡检业务在机器人梯控系统中的解耦与差异实现

摘要: 在复杂的楼宇与仓储自动化架构中,AGV物料搬运与安防巡检机器人对电梯调度的诉求截然不同。前者要求严格的物理平层防抖与全局互斥锁,后者则更侧重于灵活的请求挂起与网络连贯性。本文将深入探讨这两类业务在梯控架构设计中的底层差异&a…...

从手动点到自动读:Opc Quick Client + 代码片段,快速验证你的OPC DA客户端程序

从手动点到自动读:Opc Quick Client 代码片段,快速验证你的OPC DA客户端程序 在工业自动化系统的开发过程中,数据采集的可靠性往往决定了整个系统的稳定性。作为连接现场设备与上层应用的关键桥梁,OPC DA协议的客户端开发一直是自…...