Как восстановить предложения из этих токенов - PullRequest
0 голосов
/ 01 октября 2019

У меня есть такой набор данных. 1-й столбец - это слово , а 2-й столбец - это тег .

Pretty    O
bad   O
storm O
here  O
last  O
evening   O
. O

From  O
Green O
Newsfeed  O
: O
AHFA  B-group
extends   O
deadline  O
for   O
Sage  O
Award O
to    O
Nov   O
. O

Я хочу восстановить предложения,

поэтому вывод будет выглядеть как

[[('Pretty', 'O'), ('bad', 'O'), ('storm','O'), ('here', 'O'), ('last', 'O'), ('evening', 'O'), ('.', 'B-geo')][(From, 'O'), ('Green', 'O'), ('Newsfeed', 'O'), ('storm:,'O'), ('AHFA', 'B-group'), ('extends', 'O'), ('deadline', 'O'), ('for', 'O'),('Sage', 'O'), ('Award', 'B-geo')][(to, 'O'), ('Nov', 'O'), ('.','O']]

Может кто-нибудь помочь мне составить предложения из этого.

1 Ответ

0 голосов
/ 01 октября 2019

Если у вас есть:

a = pd.DataFrame([('Pretty', 'O'), ('bad', 'O'), ('storm','O'), ('here', 'O'), ('last', 'O'), ('evening', 'O'), ('.', 'B-geo')])

, то для получения: [('Pretty', 'O'), ('bad', 'O'), ('storm','O'), ('here', 'O'), ('last', 'O'), ('evening', 'O'), ('.', 'B-geo')]

Вы можете сделать:

[tuple(u) for u in a.values.tolist()]

Тогда вы можете сделать это для каждоговашего фрейма данных и объедините весь список кортежей

Если у вас есть все ваши предложения в одном фрейме данных, например:

a = pd.DataFrame([
('Pretty', 'O'), 
('bad', 'O'), 
('storm','O'), 
('here', 'O'), 
('last', 'O'), 
('evening', 'O'), 
('.', 'B-geo'), 
(' ',''),
('The', 'O'),
('World', 'O'),
('is', 'O'),
('...','N-geo')
])

, вы можете найти индекс "", то есть значение пробела и разделитьваш набор данных вот так:

index_list = a.index[a[0] == " "].tolist()
df1 = a.iloc[:index_list[0], :]
df2 = a.iloc[index_list[0]:, :]

Итак, наконец, у вас будет что-то вроде этого:

def dataset_to_list_of_tuple(df):
    final_list = []
    index_list = df.index[df[0] == " "].tolist()
    for i in range(len(index_list)):
       if i == 0:
           df_part = df.iloc[:index_list[0], :]
       else:
           df_part = df.iloc[index_list[i-1]:index_list[i], :]
       sentence = [tuple(u) for u in df_part.values.tolist()]
       final_list.append(sentence)
   return final_list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...