大语言模型在构建UNSPSC 分类数据中的应用

发布于:2024-10-10 ⋅ 阅读:(14) ⋅ 点赞:(0)

        UNSPSC 是联合国标准产品和服务代码。UNSPSC由联合国开发计划署(UNDP)和Dun & Bradstreet公司(D & B)于1998年联合制定,自2003年以来一直由GS1 US管理。GS1 US 将在 2024 年底前将 UNSPSC 的管理权移交给 UNDP。

        本文主要研究如何使用mongoDB数据库,nodeJS的javascript程序,大语言模型(chatGPT)生产UNSPSC 分类系统的数据。

下载unspsc 文档

        首先下载 unspsc  分类EXCEL 文档,unspsc 官网(https://www.unspsc.org/)上无法下载,大概要成为unspsc 的subscriber  之后才可以,但是我不知道如何能够成为unspsc 的订阅者。

        国内的道客巴巴上有个中文翻译文档,结果下载下来才发现编码与描述不对版,也许是早期的东西吧,白瞎了34元。我是在康奈尔大学的网站上下载了一个英文的unspsc 文档,在联合国全球市场网下载了一个中文的文档。

     有读者告诉我正确的方法,请在评论区留言。

下载unspsc 分类

从康奈尔大学的网站上下载了一个unspsc 文档,包含的商品大约149851个.

https://finance.cornell.edu/procurement/buyers/unspsc

文档格式

Segment,Family,Class,Commodities 是分成三个表。

下载 中文文档

        我们希望下载一个中文的unspsc 文档,最终在联合国全球采购市场网站上下载了中文unspsc 文档,但是在中国联合国全球采购网站上却没有。这个·文档中只有13000多种商品,部分标题没有被翻译

https://www.ungm.org/Public/UNSPSC

文档格式

转储

        下一步将unspsc 到mongoDB 数据库中。

第一种方法(以unspsc 为基础)

        unspsc.xlsx 文档另存为cvs 文件,Segment.cvs,Family.cvs,Class.cvs,Commodity.cvs 几个文件,我们通过一个javascript 程序unspscStore.js 将cvs 文档存储到mongoDB 中。成为4 个collection。

第二种方法(以unspsc_chinese 为基础)

   将unspsc中文文档(删除前11行,A,B 列)转储到mongodb 中。由此生成Segment,Family,Class,Commodity 四个Collection。

最后,我们决定先使用中文的数据构建项目的内容。

构建产品的特性模型

       对所有Commodity 的商品,构建商品的Properties ,存储在Property Collection。

    基本方法是采用chatGPT 自动生成商品的特征。

实验(KIMI)

商品定义

商品特征

 KIMI提问:

请给出如下商品的特征参数: “动态随机存取储存器DRAM”,JSON格式输出,格式为 {Property:[{Name:"属性的名称",Value:"属性的值”}]

 KIMI 回答:

{
  "Property": [
    {
      "Name": "类型",
      "Value": "动态随机存取存储器"
    },
    {
      "Name": "容量",
      "Value": "多种容量选项,如1GB, 2GB, 4GB等"
    },
    {
      "Name": "速度",
      "Value": "以兆赫兹(MHz)为单位的速度等级"
    },
    {
      "Name": "时钟周期",
      "Value": "存储器的时钟周期时间"
    },
    {
      "Name": "刷新周期",
      "Value": "必需的刷新间隔时间"
    },
    {
      "Name": "数据访问时间",
      "Value": "CAS延迟时间"
    },
    {
      "Name": "模块类型",
      "Value": "如DIMM, SODIMM, RDIMM等"
    },
    {
      "Name": "电压",
      "Value": "操作电压,如1.5V, 1.35V等"
    },
    {
      "Name": "接口类型",
      "Value": "如DDR, DDR2, DDR3, DDR4等"
    },
    {
      "Name": "散热解决方案",
      "Value": "如散热片安装或无散热片"
    },
    {
      "Name": "端到端可靠性",
      "Value": "如奇偶校验或ECC支持"
    }
  ]
}

文心一言

提问(商品定义):

请用一句话给出如下商品的定义 “腹膜透析仪和腹膜循环仪”

回答

腹膜透析仪和腹膜循环仪是用于辅助腹膜透析过程,通过机械方式促进腹膜透析液在腹腔内循环与交换,以清除体内代谢废物和多余水分的医疗设备。

 提问(商品特征):

请给出如下商品的特征参数: “动态随机存取储存器DRAM”,JSON格式输出,格式为 {Property:[{Name:"属性的名称",Value:"属性的值”}]

回答

{  
  "Property": [  
    {  
      "Name": "类型",  
      "Value": "动态随机存取储存器(DRAM)"  
    },  
    {  
      "Name": "数据存储方式",  
      "Value": "动态存储,需要定期刷新数据以保持信息不丢失"  
    },  
    {  
      "Name": "访问速度",  
      "Value": "相对较快,适合作为计算机的主存储器"  
    },  
    {  
      "Name": "容量范围",  
      "Value": "从几兆字节到数百吉字节不等,具体取决于型号和技术"  
    },  
    {  
      "Name": "电压需求",  
      "Value": "低电压设计,通常在1.2V至1.5V之间"  
    },  
    {  
      "Name": "接口类型",  
      "Value": "包括DDR, DDR2, DDR3, DDR4, LPDDR等,每种类型具有不同的数据传输速率和功耗"  
    },  
    {  
      "Name": "封装类型",  
      "Value": "如BGA, TSOP, FBGA等,影响安装和散热性能"  
    },  
    {  
      "Name": "延迟时间",  
      "Value": "用CAS延迟(CL)等指标衡量,影响数据访问的响应时间"  
    },  
    {  
      "Name": "工作频率",  
      "Value": "通常以MHz或GHz为单位,影响数据传输速率"  
    },  
    {  
      "Name": "错误检测和纠正",  
      "Value": "部分DRAM支持ECC(错误纠正码)功能,提高数据完整性和可靠性"  
    }  
  ]  
}

 总的来看,使用大语言模型生成商品的描述换比较好,但是产品的特征输出的质量并不高。

源代码(待补充)

浏览

编写一个nodeJS 程序unspscServer.mjs 能够浏览unspsc 的分类和商品Commodity 的特征。

界面
源代码

结束语

       该项目主要研究如何将chatGPT作为一种生产力工具,提高生成结构化数据的生产力方式。

    第一步使用chatGPT 生成商品的描述和数据特征(Properties)。这项工作如果人工完成是非常巨大的工程。