У меня есть файл .txt с 3 столбцами: положение слова, слово и тег (NN, VB, JJ и т. Д.).
Пример файла txt:
1 i PRP
2 want VBP
3 to TO
4 go VB
Я хочу найти частоту слова и тега как пары в списке, чтобы найти наиболее часто назначаемый тег для слова.Пример результатов: 3 (еда, NN), 2 (храбрый, ADJ)
Моя идея состоит в том, чтобы начать, открыв файл из папки, прочитав файл построчно и разделив, установить счетчик, используя словарьи печатать с наиболее часто встречающихся в порядке убывания.
Мой код очень грубый (я почти стесняюсь его опубликовать):
file=open("/Users/Desktop/Folder1/trained.txt")
wordcount={}
for word in file.read().split():
from collections import Counter
c = Counter()
for d in dicts.values():
c += Counter(d)
print(c.most_common())
file.close()
Очевидно, я не получаю никаких результатов.Все поможет.Спасибо.
ОБНОВЛЕНИЕ:
, поэтому я разместил здесь этот код, который сработал, но мои результаты довольно прикольные.вот код (автор удалил его, так что я не знаю, кого кредитовать):
file=open("/Users/Desktop/Folder1/trained.txt").read().split('\n')
d = {}
for i in file:
if i[1:] in d.keys():
d[i[1:]] += 1
else:
d[i[1:]] = 1
print (sorted(d.items(), key=lambda x: x[1], reverse=True))
вот мои результаты:
[('', 15866), ('\t.\t.', 9479), ('\ti\tPRP', 7234), ('\tto\tTO', 4329), ('\tlike\tVB', 2533), ('\tabout\tIN', 2518), ('\tthe\tDT', 2389), ('\tfood\tNN', 2092), ('\ta\tDT', 2053), ('\tme\tPRP', 1870), ('\twant\tVBP', 1713), ('\twould\tMD', 1507), ('0\t.\t.', 1427), ('\teat\tVB', 1390), ('\trestaurant\tNN', 1371), ('\tuh\tUH', 1356), ('1\t.\t.', 1265), ('\ton\tIN', 1237), ("\t'd\tMD", 1221), ('\tyou\tPRP', 1145), ('\thave\tVB', 1127), ('\tis\tVBZ', 1098), ('\ttell\tVB', 1030), ('\tfor\tIN', 987), ('\tdollars\tNNS', 959), ('\tdo\tVBP', 956), ('\tgo\tVB', 931), ('2\t.\t.', 912), ('\trestaurants\tNNS', 899),
там, похоже, сочетание хорошихрезультаты со словами и другие результаты с пробелами или случайными числами, кто-нибудь знает способ удалить то, что не настоящие слова?Кроме того, я знаю, что \ t должен означать вкладку, есть ли способ удалить это?вы, ребята, очень помогли