Я хочу подсчитать, в скольких документах появляется то или иное слово. Например, слово «Собака» появилось в 67 документах из 100.
1 документ соответствует 1 файлу.
Таким образом, частоту слова «собака» не нужно учитывать. Например, в документе 1 слово «Собака» появилось 250 раз, НО это будет считаться только одним подсчетом, поскольку моя цель состоит в том, чтобы подсчитать документы, а не сколько раз слово «Собака» появлялось в конкретном документе.
Пример:
- Документ 1: Собака появлялась 250 раз
- Документ 2: Собака появлялась 1000 раз
- Документ 3: Собака появилась 1 раз
- Документ 4: Собака появлялась 0 раз
- Документ 5: Собака появлялась 2 раза
Значит ответ должен быть 4
У меня есть свой собственный алгоритм, но я считаю, что есть эффективный способ сделать это. Я использую Python 3.4 с библиотеками NLTK. Мне нужна помощь. Спасибо, ребята!
Вот мой код
# DOCUMENT FREQUENCY
for eachadd in wordwithsource:
for eachaddress in wordwithsource:
if eachaddress == eachadd:
if eachaddress not in copyadd:
countofdocs=0
copyadd.append(eachaddress)
countofdocs = countofdocs+1
addmanipulation.append(eachaddress[0])
for everyx in addmanipulation:
documentfrequency = addmanipulation.count(everyx)
if everyx not in otherfilter:
otherfilter.append(everyx)
documentfrequencylist.append([everyx,documentfrequency])
#COMPARE WORDS INTO DOC FREQUENCY
for everywords in tempwords:
for everydocfreq in documentfrequencylist:
if everywords.find(everydocfreq[0]) !=-1:
docfreqofficial.append(everydocfreq[1])
for everydocfrequency in docfreqofficial:
docfrequency=(math.log10(numberofdocs/everydocfrequency))
docfreqanswer.append(docfrequency)