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

基于Pandas实现从词性标注(POS tagging)还原为句子

用Pandas将词性标注数据集还原为完整句子

给定包含pos_token列的数据集,其中每个单元格存储着(词汇,词性)的元组列表,我们需要提取词汇部分并拼接成完整句子,以下是具体实现方案:

核心逻辑

每个元组的第一个元素是目标词汇,只需遍历pos_token中的所有元组,提取第一个值后用空格连接即可。

情况1:pos_token为Python列表/元组对象

如果数据集加载后pos_token列已经是原生的Python列表或元组结构,直接使用apply处理:

import pandas as pd

# 构造示例数据集
sample_data = {
    'pos_token': [[('No', 'DT'), ('you', 'PRP'), ('lying', 'VBG')]]
}
df = pd.DataFrame(sample_data)

# 生成sentence列
df['sentence'] = df['pos_token'].apply(lambda x: ' '.join(token[0] for token in x))

情况2:pos_token为字符串格式

如果pos_token是以字符串形式存储的(比如从CSV/Excel加载后显示为"[(No, DT), (you, PRP), (lying, VBG)]"),需要先用ast.literal_eval将字符串转换为Python对象,再处理:

import pandas as pd
import ast

# 构造字符串格式的示例数据集
sample_data = {
    'pos_token': ["[(No, 'DT'), (you, 'PRP'), (lying, 'VBG')]"]
}
df = pd.DataFrame(sample_data)

# 转换字符串为列表后生成句子
df['sentence'] = df['pos_token'].apply(
    lambda x: ' '.join(token[0] for token in ast.literal_eval(x))
)

执行上述代码后,sentence列将得到示例中的结果:No you lying。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:05:29