You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将NER模型的实体提取结果转换为DataFrame格式?

如何将NER模型输出转换为指定DataFrame格式

你可以通过以下步骤将NER模型的输出转换为目标DataFrame格式:

步骤说明

  1. 遍历每一条文本的NER识别结果,将实体转换为「标签-文本」的键值对字典
  2. 对每个样本缺失的目标字段,用NA填充
  3. 使用pandas将整理后的字典列表转换为DataFrame

完整代码示例

import pandas as pd

# 假设这是你从NER模型得到的所有输出结果
ner_results = [
    [('1131547', 'ID'), ('12/9/2019', 'Date'), ('USA', 'ShippingAddress')],
    [('567456', 'ID'), ('Hills', 'ShippingAddress')]
]

# 定义目标DataFrame的列名
target_columns = ['ID', 'Date', 'ShippingAddress']

# 处理每个样本的结果,生成字典列表
data_rows = []
for entities in ner_results:
    # 构造{标签: 实体文本}的字典
    ent_dict = {label: text for text, label in entities}
    # 填充缺失字段为'NA'
    row = {col: ent_dict.get(col, 'NA') for col in target_columns}
    data_rows.append(row)

# 转换为DataFrame
df = pd.DataFrame(data_rows)
print(df)

输出结果

ID        Date ShippingAddress
0  1131547  12/9/2019             USA
1   567456          NA            Hills

如果你想直接遍历TEST_DATA生成结果,可使用以下代码:

import pandas as pd

target_columns = ['ID', 'Date', 'ShippingAddress']
data_rows = []

for text, _ in TEST_DATA:
    doc = nlp(text)
    # 直接从doc.ents构造{标签: 文本}字典
    ent_dict = {ent.label_: ent.text for ent in doc.ents}
    row = {col: ent_dict.get(col, 'NA') for col in target_columns}
    data_rows.append(row)

df = pd.DataFrame(data_rows)
print(df)

内容的提问来源于stack exchange,提问作者Arjun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 09:35:24