Я пытаюсь создать анализатор зависимостей из корпуса.Корпус имеет формат conll, поэтому у меня есть функция, которая читает файлы и возвращает список списков, в котором каждый список является разобранным предложением (корпус, который я использую, уже проанализирован, моя задача - найти другую альтернативу в этомразобрать).Мой профессор попросил случайно выбрать только 5% предложений в этом корпусе, так как он слишком большой.
Я пытался создать пустой список и использовать функцию добавления, но я не знаю, как указать путем индексации, что я хочу 5 из каждых 100 предложений корпуса
Функция, которую я сделал для преобразования файлов conll, следующая:
import os, nltk, glob
def read_files(path):
"""
Function to load Ancora Dependency corpora (GLICOM style)
path = full path to the files
returns de corpus in sentences
each sentence is a list of tuples
each tuple is a token with the follwoing info:
index of the token in the sentence
token
lemma
POS /es pot eliminar
POS
FEAT /es pot eliminar
head
DepRelation
"""
corpus = []
for f in glob.glob(path):
sents1 = open(f).read()[185:-2].split('\n\n')
sents2 = []
for n in range(len(sents1)):
sents2.append(sents1[n].split('\n'))
sents3 = []
for s in sents2:
sent = []
for t in s:
sent.append(tuple(t.split('\t')))
sents3.append(sent)
corpus.extend(sents3)
return corpus
Мне нужен способ выбора 5 предложений из каждых 100 в корпусе, чтобы у меня был список списков, содержащих только эти.Заранее спасибо!