Учитывая некоторый Penn Treebank тегов текста в следующем формате:Производства словаря многоуровневых от слова и заочного из речи
«Дэвид/ННП Short/ННП будет/MD стул/В.Б./DT встреча/NN. /./DT boy/NN сидит/VBZ на/IN в стуле/DT/NN ./. "
Я хотел бы создать многоуровневый словарь, в котором есть слово в качестве ключа, и подсчитывает частоту, помечаемую как каждый POS, поэтому у нас есть ['Chair, VB: 1, NN: 1', 'The, DT: 3 ',] и т. Д.
Я полагаю, что я могу использовать регулярные выражения для извлечения слова и соответствующего POS.
r'[A+Za+z]+/' and r'/[A+Z]+'
Но не может решить, как это сделать, чтобы сделать запись для слова и соответствующих ему записей в POS.
Мысли?
Это выглядит отличные решения - спасибо! Я бы хотел, чтобы это пропустило пунктуацию, чтобы я мог выполнить регулярное выражение, чтобы сделать это? Кроме того, при выполнении над файлом: – user1893110
@ user1893110 да, вы все равно можете использовать регулярное выражение, чтобы получить слова и теги, а затем применить этот defaultdict части defaultdict. Благодарю. – alecxe
для линии в INFILE: для маркеров в line.split(): слова, тег = token.split ("/") д [слово] [тег] + = 1 получает эту ошибку: слово, тег = token.split ("/") ValueError: слишком много значений для распаковки (ожидается 2) – user1893110