x является Pandas DataFrame .
Вы можете получить доступ к любому из столбцов этого DataFrame, как если бы имена столбцов были ключами в словаре.
> print(x['won\'t'])
next
a 0.0
and 0.0
babylon 0.0
...
with 0.0
woman 0.0
you 1.0
Name: won't, dtype: float64
Столбец возвращается как Pandas Series . Если вы выберете столбец в DataFrame (ваша матрица перехода x
), index
выбранной вами серии будет доступными словами из текста, а values
будет их вероятностями. Вы можете предоставить каждый из них для np.random.choice
, чтобы получить следующее слово с вероятностями, взвешенными из вашей матрицы перехода.
> current_word = 'won\'t'
> current_column = x[current_word]
> next_word = np.random.choice(current_column.index,
p=current_column.values)
> print(next_word)
you