step1.获取维基百科数据
下载链接:http://download.wikipedia.com/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2
step2.第三方包gensim自带处理类:
class WikiCorpus(TextCorpus):
def __init__(self, fname, processes=None, lemmatize=utils.has_pattern(), dictionary=None,
filter_namespaces=('0',), tokenizer_func=tokenize, article_min_tokens=ARTICLE_MIN_WORDS,
token_min_len=TOKEN_MIN_LEN, token_max_len=TOKEN_MAX_LEN, lower=True):
解释一下各个参数(整理这些只为梳理一下自己的思路, 大神直接绕路就好)
fname: str类型,输入wiki数据文件路径
processes: int类型,线程数取值范围:1~~cpu数-1
lemmatize: bool类型,词元化 如果安装了pattern就
dictionary:Dictionary
filter_namespaces: str组成的元祖
tokenizer_func:
article_min_tokens: int类型
token_max_len: int类型
lower: bool类型
核心工作区
inp, outp = sys.argv[1:3]
space = " "
i = 0
output = open(outp, 'w')
wiki = WikiCorpus(inp, lemmatize=False, dictionary={})
for text in wiki.get_texts():
output.write(space.join(text) + "\n")
i += 1
if(i % 10000 == 0):
logger.info("saved " + str(i) + " articles")