【问题标题】:Python: Convert Dataframe into a natural language textPython:将 Dataframe 转换为自然语言文本
【发布时间】:2019-10-17 05:22:48
【问题描述】:

我们正在实施 NLP 解决方案,其中有一堆段落文本和表格。我们在 NLP 中使用了谷歌的 burt,它在文本上效果很好。但是,如果我们问一个问题的答案在于表值,那么我们的 nlp 解决方案将不起作用。因为它只适用于自然语言文本(句子、段落等)。

因此,为了从表格(数据框)中获取答案,我们正在考虑将整个数据框转换为自然语言文本,从而保持每个单元格与其对应的列名和行的关系。例如:

+------------+-----------+--------+--+
| First Name | Last Name | Gender |  |
+------------+-----------+--------+--+
| Ali        | Asad      | Male   |  |
| Sara       | Dell      | Female |  |
+------------+-----------+--------+--+

会变成:

  • 名字是阿里,姓氏是阿萨德,性别是男
  • 名字是 Sara,姓氏是 Dell,性别是女性

这将帮助我们找到正确的答案,例如,如果我问“阿里的性别是什么”,那么我们的 NLP 解决方案会给我们答案“男性”。

我想知道 python 中是否有任何库可以将数据框转换为自然语言文本。还是我必须手动完成?

非常感谢

【问题讨论】:

  • 这个例子和你的真实项目一样简单吗?我觉得没有包会很简单,除非你想为任何可变数据框做这件事?
  • 在某些情况下我必须转置数据帧。所以,我想更好地找出任何这样做的库,如果没有,那么我已经手动完成了。
  • 转置是什么意思?你正在做的事情看起来非常简单,但我猜我错过了一些东西......
  • 例如,在某些情况下,用户以不同的方式设计表格,假设不是在第一行创建表格的标题名称,而是在第一列创建标题。因此,我必须转置表格,以便可以将标题名称放在数据框的第一行。希望我的解释不会让您感到困惑,如果有更多问题,请告诉我:)
  • 知道了,我建议您将其添加到问题中,因为它无处可见,并且冒着被否决的风险。

标签: python numpy dataframe nlp stanford-nlp


【解决方案1】:

如果您想将其存储在列表中,您可以轻松做到

text=[]
for index,rows in df.iterrows():
  a='First Name is {0}, Last Name is {1} and Gender is {2}'.format(df['First Name'] 
  [index],df['Last Name'][index],df['Gender'][index])
  text.append(a)
print(text)

然后您可以将此列表转换为自然语言,以便模型能够理解。

【讨论】:

  • 嗨@Ali Asad,您可以看到上述建议。
猜你喜欢
  • 2010-12-20
  • 2017-11-30
  • 2012-09-17
  • 2020-11-20
  • 2013-05-25
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多