Lvjingfeng commited on
Commit
639ae4a
·
verified ·
1 Parent(s): be74c78

Upload 3 files

Browse files
Files changed (3) hide show
  1. README.md +6 -6
  2. app.py +22 -30
  3. requirements.txt +1 -1
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: AI Patent Classifier (Qwen3-0.6B)
3
  emoji: 🚀
4
  colorFrom: indigo
5
  colorTo: green
@@ -10,9 +10,9 @@ pinned: false
10
  license: apache-2.0
11
  ---
12
 
13
- # 专利分类器演示
14
 
15
- 这个演示展示了 [yushize/patent-classifier](https://huggingface.co/yushize/patent-classifier) 模型的应用。
16
 
17
  ## 使用方法
18
  1. 在文本框中输入专利摘要
@@ -20,6 +20,6 @@ license: apache-2.0
20
  3. 查看预测结果
21
 
22
  ## 模型信息
23
- - **模型名称**: patent-classifier
24
- - **开发者**: yushize
25
- - **任务**: 专利分类
 
1
  ---
2
+ title: Outsource Business Classifier (Qwen3-4B)
3
  emoji: 🚀
4
  colorFrom: indigo
5
  colorTo: green
 
10
  license: apache-2.0
11
  ---
12
 
13
+ # 外包分类器演示
14
 
15
+ 这个演示展示了 [xulab-research/business-classifier-4B](https://huggingface.co/xulab-research/business-classifier-4B) 模型的应用。
16
 
17
  ## 使用方法
18
  1. 在文本框中输入专利摘要
 
20
  3. 查看预测结果
21
 
22
  ## 模型信息
23
+ - **模型名称**: business-classifier
24
+ - **开发者**: lvjingfeng
25
+ - **任务**: 外包分类
app.py CHANGED
@@ -15,25 +15,24 @@ except Exception:
15
  delete_cache_entries = None
16
 
17
  # -----------------------
18
- # 配置参数(已弃用 4B,仅保留 0.6B
19
  # -----------------------
20
  MODEL_OPTIONS = {
21
- "Qwen3-0.6B (xulab-research/patent-classifier-0.6B)": "xulab-research/patent-classifier-0.6B",
22
  }
23
- # 默认使用 0.6B
24
- DEFAULT_MODEL_KEY = "Qwen3-0.6B (xulab-research/patent-classifier-0.6B)"
25
 
26
  THRESHOLDS_BY_MODEL = {
27
- # 为 0.6B 单独设置阈值
28
- "xulab-research/patent-classifier-0.6B": np.array(
29
- [0.55, 0.35, 0.45, 0.5, 0.4, 0.35, 0.45, 0.5, 0.45], dtype=np.float32
30
  ),
31
  }
32
  CLASS_INDEX_START = 0
33
  CLASS_NAMES = [
34
- "非AI类", "知识处理", "语音识别", "AI硬件", "进化计算",
35
- "自然语言处理", "机器学习", "计算机视觉", "规划与控制"
36
- ]
37
 
38
  # -----------------------
39
  # 设备与 dtype
@@ -150,7 +149,7 @@ def _infer_hub_dir_from_env() -> str:
150
  def clean_hf_cache(keep_repo_ids: List[str]) -> str:
151
  """
152
  仅保留 keep_repo_ids 的缓存,清理其它模型/旧 revision。
153
- 用法示例:clean_hf_cache(['xulab-research/patent-classifier-0.6B'])
154
  """
155
  try:
156
  info = scan_cache_dir()
@@ -211,7 +210,7 @@ def predict(text: str, model_choice: str):
211
  tokenizer, model = load_model(hf_repo)
212
 
213
  default_thr = THRESHOLDS_BY_MODEL.get(
214
- "xulab-research/patent-classifier-0.6B",
215
  np.array([0.5] * len(CLASS_NAMES), dtype=np.float32),
216
  )
217
  thresholds = THRESHOLDS_BY_MODEL.get(hf_repo, default_thr)
@@ -254,34 +253,27 @@ def predict(text: str, model_choice: str):
254
  # 界面
255
  # -----------------------
256
  description = (
257
- "专利分类器 - 输入专利摘要文本,模型将预测所属类别。\n\n"
258
  f"当前设备:{device_str(DEVICE)}\n\n"
259
  f"当前模型:{DEFAULT_MODEL_KEY}"
260
  )
261
-
262
- ai_subfields_text = """8个AI子领域\n
263
- 1.知识处理:知识处理领域括用于表示世界事实并从知识库中推导出新事实或知识的方法例如专家系统通常含一个知识库和一种推来从该知识库获得新事实。\n
264
- 2.语音语音识别括从音频信号中理解词语序列的方法例如噪声道模型一种统方法通过贝叶斯规则从语音输入识别最可的词语序列\n
265
- 3.AI硬件:AI硬件领域包括专为执行人工智能软件而设计的物理硬件。例如,谷歌设计的张量处理单元(TPU)就是为了更高效地运行神经网络算法。AI硬件可能包括逻辑电路、存储器、视频、处理器和固态技术,也可能包括实现其他AI组成技术(如机器学习算法)的嵌入式软件。\n
266
- 4.进化计算:进化计算是一类利用自然演化特性的计算方法。例如,遗传算法通过选择最优的随机变异体以最大化适应度来执行算法变异选择。\n
267
- 5.自然语言处理:自然语言处理包括用于理解和使用以人类自然语言编码的数据的方法。例如,语言模型用于表示语言表达的概率分布。\n
268
- 6.机器学习:机器学习领域包含一类广泛的计算学习模型。例如,监督学习分类模型是一种基于预标记训练数据学习进行分类的算法。机器学习技术包括但不限于神经网络、模糊逻辑、自适应系统、概率网络、回归分析以及智能搜索。\n
269
- 7.计算机视觉:计算机视觉领域包括从图像和视频等视觉输入中提取和理解信息的方法。例如,边缘检测技术可识别图像中的边界和轮廓。其他计算机视觉子领域还包括目标识别、图像处理(如变换、增强或还原)、颜色处理和格式转换等。\n
270
- 8.规划与控制:规划与控制领域包括识别并执行实现特定目标的计划的方法。规划的关键方面包括表示行动和世界状态、推理行动的后果,并在潜在计划中高效地搜索。现代控制理论包括在时间维度上最大化目标函数的方法。例如,随机最优控制处理在不确定环境中的动态优化问题。此外,规划与控制还涵盖用于管理/行政的数据系统(例如:组织和员工的管理,包括库存、工作流程、预测和时间管理)、自适应控制系统,以及系统模型或模拟器。
271
  """
272
-
273
  example_texts = [
274
- "明提供一种录制与播放户语音的方以及使用此方法的 典,所述的方法适用于一电子装置,其中置至少包括一屏幕、一音 指示、一录音指示键以一存储器。当屏幕显示一屏幕显示数据的音指示 时,按下录音指示键以进入语音录制模式。接着户语音,并且储存用 户语音至存储。之后记录以显示用户语音在存储器中的位置的存储器地 址或录制数据索引,并将存储器地址或录制数据索引链结至屏幕显示数据。 本发明还提供一种使用上述方法的电子字典。",
275
- "本发明提供一种多业接入网的控制系统,包括:对用户进行认证、授权 和址分配的用户管功能体UMF、管理用户在接入网络中各网元之间链路和 资源链路管理功能体LMF以及根据用户属性进行资源接纳控制和策略执行或 部署到接入节点AN和接入网网络侧边缘ANE之间的网络设备中的策略执行功 能体PEF所述链路管理功能体、策略执行功能体分别与接入节点、接入网网 络侧边缘相连所述用户管理功能体与接入网网络侧边缘所述策略执行 功能分别与所述链路管理功能体、用户管理功能体连。本发明还提供一种 多业务接入网的控制方法。本发明通过链路管理功能体对不同的业务用不同的 链路进行区分,保多业务在接入网中的QoS,解决了用户动态接入多业务和 基于多业务的接入网QoS控制的问题。",
276
- "本发明关于用于一电子装置影像还原方及其相关装置。为了更有效 率地还原模糊影像本发明提供一种用于一电子装置的影像还原包 含有于接收一被摄物的一影像时,产生一加速度信号;测量该电子装置与该 被摄物之间的距离,产生一物距;以及根据该加速度信号及该物距,还原 该影像",
277
  ]
278
 
279
 
280
- with gr.Blocks(title="专利分类器") as demo:
281
- gr.Markdown("# 专利分类器")
282
  gr.Markdown(description)
283
 
284
- input_box = gr.Textbox(label="专利摘要", lines=5, placeholder="请输入专利摘要文本...")
285
  with gr.Row():
286
  predict_btn = gr.Button("预测", variant="primary")
287
  clear_btn = gr.Button("清空")
 
15
  delete_cache_entries = None
16
 
17
  # -----------------------
18
+ # 配置参数(已弃用 0.6B,仅保留 4B
19
  # -----------------------
20
  MODEL_OPTIONS = {
21
+ "Qwen3-4B (xulab-research/business-classifier-4B)": "xulab-research/business-classifier-4B",
22
  }
23
+ # 默认使用 4B
24
+ DEFAULT_MODEL_KEY = "Qwen3-4B (xulab-research/business-classifier-4B)"
25
 
26
  THRESHOLDS_BY_MODEL = {
27
+ # 为 4B 单独设置阈值
28
+ "xulab-research/business-classifier-4B": np.array(
29
+ [0.6000000000000002, 0.40000000000000013, 0.5000000000000001, 0.45000000000000007], dtype=np.float32
30
  ),
31
  }
32
  CLASS_INDEX_START = 0
33
  CLASS_NAMES = [
34
+ "非外包类", "信息技术外包(ITO)", "业务流程外包(BPO)", "知识流程外包(KPO)"
35
+ ]
 
36
 
37
  # -----------------------
38
  # 设备与 dtype
 
149
  def clean_hf_cache(keep_repo_ids: List[str]) -> str:
150
  """
151
  仅保留 keep_repo_ids 的缓存,清理其它模型/旧 revision。
152
+ 用法示例:clean_hf_cache(['xulab-research/business-classifier-4B'])
153
  """
154
  try:
155
  info = scan_cache_dir()
 
210
  tokenizer, model = load_model(hf_repo)
211
 
212
  default_thr = THRESHOLDS_BY_MODEL.get(
213
+ "xulab-research/business-classifier-4B",
214
  np.array([0.5] * len(CLASS_NAMES), dtype=np.float32),
215
  )
216
  thresholds = THRESHOLDS_BY_MODEL.get(hf_repo, default_thr)
 
253
  # 界面
254
  # -----------------------
255
  description = (
256
+ "外包分类器 - 输入企业经营范围文本,模型将预测所属类别。\n\n"
257
  f"当前设备:{device_str(DEVICE)}\n\n"
258
  f"当前模型:{DEFAULT_MODEL_KEY}"
259
  )
260
+ ai_subfields_text ="""3大服务外包类别\n
261
+ 1.信息��术外包(ITO):我们将此类外包编码为1。该领域主要分为三类:一是信息技术研发服务,包括软件开发服务、集成电路和电子电路设计服务、测试服务、信息技术解决方案服务等;二是信息技术运营和维护服务,涵盖信息基础设施和信息系统运维服务、网站与数据安全服务、电子商务平台服务及算力服务等;三是新一代信息技术开发应用服务,涉及云计算、人工智能、大数据、区块链、物联网技术开发及应用服务,以及地理遥感信息及测绘地理信息服务。\n
262
+ 2.业务流程外包(BPO:我们将此类外包编码为2该领域主要分为三类:一是内部管理服务具体括人力资源管服务、财务与会计管理服务及律流程服务;二是业务运营服务,涵盖数字后台运营服务、互联网营销推广、金融后台服务、供应链管理服务、采购外包服务及低空保障服务;三是维修管理服务,包括交通工具、工程机械、医疗设备、智能机器设备维修维护服务及远程维修维护服务。\n
263
+ 3.流程外包(KPO)我们将此类外编码为3该领域主要分为三类:一是商务服务包括知识产权服务、管理咨询服务、检验检测服务及数据要素流支持服务;二服务涵盖工业设计、工程技术、文化创意及数字内容、服务设计、节能环保技术及三维(3D)打印技术服务;三是研发服务,涉及医药(医药)和生物技术、新源技术、新材料技术及现代农林牧渔业技术研发服务
 
 
 
 
 
 
264
  """
 
265
  example_texts = [
266
+ "软件开;人工智能应软件开发;网络与信息安全软件开发;人工智能理论与算软件开发;数字文化创意软件开发;新兴能源技术研发;机耦合系统研发;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;信息系统集成服务;互联网数据服务;会议及展览服务;信息技术咨询服务;信息系统运行维护服务;智能控制系统集成;企业形象策划;互联网安全服务;数视频监控系统销售;物联网设备销售;电子元器件批发;计算机软硬件及辅助设备批发;网络设备销售;信息安全设备销售;办公设备耗材销售;办公设备销售;计算机及办公设备维修;新能源汽车整车销售;汽车新车销售;新能源汽车电附件销售;二手车经销;新能源汽车生产测试设备销售;汽车零配件批发;汽车饰用品销售;汽车零部件研发;新能源汽车换设施销售;汽车旧车销售;机动车改服务;电机及发电机组销售;集成电路销售;电力电子元器件销售;集成电路芯片及产品销售;信息咨询服务(不含许可类信息咨询服务);轴承、齿轮和传动部件销售;智能配电及控制设备销售;二手车交易市场经营;密封填料销售;电池销售��阀门和旋塞研发;电子元件零售;轮胎销售;特种设备销售;婚庆礼仪服务;组织文化艺术交流活动;安全咨询服务;商务代理代办服务;专设备修理;电子产品销售;人工智能硬件销售;大数据服务(除依须经批准项目外,凭营业执照依法自主开展经营活动)",
267
+ "文艺创作;组织文化艺术交流活动;非居住房地产租赁;住房租赁;停车场服;房产咨询;其他文化艺术经纪代。(除依法须经批准项目外凭营业照依法自主开展经营活动)许可项目:旅社服务网旅游招徕咨询服务。(依法须经批准的项目关部门批准后方可开展经营活动经营项目以关部门批准文件或许可件为准)",
268
+ "工程管理服务;工程造价咨询业务;工程技术服务(规划管理、勘察、设计、监理除外)(除许可业务外,可自主依法经营法律法规非禁止或限制项目)许可项目:建设工程监理(依须经批准项目经相关部门批准后可开展经营活动具体经营项目相关部门批准文件或许可证件为准)",
269
  ]
270
 
271
 
272
+ with gr.Blocks(title="外包分类器") as demo:
273
+ gr.Markdown("# 外包分类器")
274
  gr.Markdown(description)
275
 
276
+ input_box = gr.Textbox(label="企业经营范围", lines=5, placeholder="请输入企业经营范围文本...")
277
  with gr.Row():
278
  predict_btn = gr.Button("预测", variant="primary")
279
  clear_btn = gr.Button("清空")
requirements.txt CHANGED
@@ -3,5 +3,5 @@ numpy
3
  gradio
4
  accelerate>=0.33.0
5
  gradio>=4.31.0
6
- transformers>=4.44.0
7
  huggingface_hub>=0.24.0
 
3
  gradio
4
  accelerate>=0.33.0
5
  gradio>=4.31.0
6
+ transformers>=4.56.2
7
  huggingface_hub>=0.24.0