2011-08-05 58 views
-2

我需要创建PDF的内容。创建PDF的内容

+0

对我来说,这仍然看起来像http://stackoverflow.com/questions/6822884/how-do-i-index-pdf-files-and-search-for-keywords的副本。它有什么不同? – katrielalex

回答

0

您可以使用collections.Counter跟踪字数。我将使用正则表达式来捕获页面上的所有单词,将每个单词添加到计数器,然后转到下一页。您可以为每个单词同时保留查找索引,然后过滤常用单词(counter[word] > threshold),或者可以再次运行文档,仅构建常用单词的索引。

a)这将会有点慢 b)你必须处理像'a','','和'等单词,以确保这些不被计数。

1

如果你所有的文本都是Python中的字符串(我假设你是因为你的相关文章而做的),那么你可以使用Python的Natural Language Toolkit。你可以下载它from here

实施例:

import nltk, re, pprint 
from nltk import FreqDist 

tokens = nltk.word_tokenize(pdf_text) 
text = nltk.Text(tokens) 
fdist = FreqDist(text) 
vocabulary = fdist.keys() 

print vocabulary[:50] # Print the 50 most common words 

有关的基础知识的更多信息检查出BookChapter 1

+0

它是包含PDF文本的变量 - 作为字符串。 – betamax

+0

您需要在循环之前创建'pdf_text'变量,然后遍历PDF页面并将每个页面附加到'pdf_text',就像'pdf_text + = text'一样。 – betamax

+0

是的 - 如果'pdf_text'包含PDF中的文本,上面的代码将起作用。 – betamax