4 篇文章带有标签 “xml”

使用大型语言模型微调命名实体识别

目标

这里探索了借助大型语言模型微调进行命名实体识别的标注。

定义了一套电力领域的命名实体类型:

  • Province: 省份。例如:山东省。
  • City: 城市。例如:济南市、济南。
  • Company: 供电公司。例如:长清区供电公司、市中供电中心。
  • Substation: 供电所。例如:崮山供电所。
  • Indicator: 指标。例如:投诉、意见。
  • Date: 日期。例如:今天、昨天、今年、去年、本周、上周、本月、上月、3月、本季度、上季度、一季度、今年第一季度、2022年、2024年5月。

对用户的输入进行命名实体识别标注,输出的结果应该包含所有的电力领域实体类型的实例。

  • 山东省菏泽巨野县供电公司麒麟供电所投诉数量

<Province>山东省</Province><City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator>投诉</Indicator>数量

  • 菏泽巨野县供电公司麒麟供电所投诉数量

<City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</

使用大型语言模型微调命名实体识别生成

目标

这里探索了借助大型语言模型进行命名实体识别的标注,并在缺少相关类型实体的时候可以自动生成。

定义了一套电力领域的命名实体类型:

  • Province: 省份。例如:山东省。
  • City: 城市。例如:济南市、济南。
  • Company: 供电公司。例如:长清区供电公司、市中供电中心。
  • Substation: 供电所。例如:崮山供电所。
  • Indicator: 指标。例如:投诉、意见。
  • Date: 日期。例如:今天、昨天、今年、去年、本周、上周、本月、上月、3月、本季度、上季度、一季度、今年第一季度、2022年、2024年5月。

理想的情况下的输入可能是这样的:{DATE}山东省菏泽巨野县供电公司麒麟供电所投诉数量

但是用户的输入是多种多样的:

  • 山东省菏泽巨野县供电公司麒麟供电所投诉数量
  • 菏泽巨野县供电公司麒麟供电所投诉数量
  • 菏泽巨野投诉数量
  • 菏泽麒麟投诉数量
  • 巨野县供电公司麒麟供电所投诉数量
  • 巨野麒麟投诉数量
  • 巨野投诉数量
  • 麒麟供电所投诉数量
  • 麒麟投诉数量

通过微调后的模型可以生成如下实体标注: <Date>本月</Date><Province>山东省</Province><City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所

使用大型语言模型进行命名实体识别

总结

  • Qwen 模型的指令遵循还是差强人意,这里使用的参数应该是 72B
  • 大型语言模型发挥了它的生成能力,会在原文的基础上给你增加内容,如:济南
  • 问题变化多样,示例也不可能覆盖所有的情况,写的越多占用的上下文长度越大。
  • 在实验二中
    • 明确说明Date实体类型的值,并没有很好的识别出来,如:3月识别为Month一季度识别为Quarter今年识别为Year。这个跟模型有关,ChatGPT就识别的不错。
  • 在实验三中
    • 明确说明不要增加实体类型,但还是增加了,如:County实体类型。
    • 识别的实体有重叠文字,如:曹县曹县供电公司
    • 位置很容易出错,一旦出错后面的实体位置都是错误的了。
  • 使用XML标记方式比输出json结果方式效果更好。

代码 from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import PromptTemplate from langchain_core.runnables import RunnablePassthrough from langchain_community.chat_models.

在 Python 中解析和修改 XML

XML 数据

xml_data = '''<?xml version="1.0" encoding="UTF-8"?>
<books>
    <book SN="12460901">
        <name>国富论</name>
        <author nation="English">亚当·斯密</author>
        <price>108</price>
        <ISBN>9787511373229</ISBN>
    </book>
    <book SN="12257413">
        <name>原则</name>
        <author nation="America">瑞·达利欧</author>
        <price>98</price>
        <ISBN>9787508684031</ISBN>
    </book>
</books>
'''

xml.etree.ElementTree 导入 import xml.