Python: преобразование Dataframe в текст на естественном языке - PullRequest
0 голосов
/ 17 октября 2019

Мы внедряем решение НЛП, где у нас есть куча параграфов текста и таблиц. Мы использовали Google Burt для НЛП, и он отлично работает на текст. Однако, если мы зададим вопрос, ответ которого лежит в табличном значении, тогда наше решение nlp не будет работать. Поскольку он работает только с текстом на естественном языке (предложение, абзац и т. Д.).

Итак, чтобы получить ответ из таблицы (фрейма данных), мы думаем преобразовать весь фрейм данных в текст на естественном языке, которыйсохранить отношение каждой ячейки с соответствующим именем столбца и строкой. Например:

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

Станет:

  • Имя - Али, Фамилия - Асад, Пол - Мужской
  • Имя - Сара, ФамилияМеня зовут Dell, а пол - женский

Это поможет нам найти правильный ответ, например, если я задам вопрос «Каков пол« Али », то наше решение НЛП даст намответ «Мужской».

Мне интересно, есть ли какая-либо библиотека, доступная на python, которая преобразует фрейм данных в текст на естественном языке. Или мне придется делать это вручную?

Большое спасибо

1 Ответ

1 голос
/ 17 октября 2019

Если вы хотите сохранить его в списке, вы можете легко сделать

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)

Затем вы можете преобразовать этот список на естественном языке, чтобы модель могла его понять.

...