[例说NLP]使用gensim处理wiki百科中文数据

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")

猜你喜欢

转载自blog.csdn.net/jade07/article/details/81434088