栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

NLTK的高效术语文档矩阵

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NLTK的高效术语文档矩阵

感谢Radim和Larsmans。我的目标是要拥有一个与您在R tm中获得的DTM类似的DTM。我决定使用scikit-
learn,部分受此博客文章的启发。这是我想出的代码。

我将其发布在这里,希望其他人会发现它有用。

import pandas as pdfrom sklearn.feature_extraction.text import CountVectorizerdef fn_tdm_df(docs, xColNames = None, **kwargs):    ''' create a term document matrix as pandas Dataframe    with **kwargs you can pass arguments of CountVectorizer    if xColNames is given the dataframe gets columns Names'''    #initialize the  vectorizer    vectorizer = CountVectorizer(**kwargs)    x1 = vectorizer.fit_transform(docs)    #create dataframe    df = pd.Dataframe(x1.toarray().transpose(), index = vectorizer.get_feature_names())    if xColNames is not None:        df.columns = xColNames    return df

在目录中的文本列表上使用它

DIR = 'C:/Data/'def fn_CorpusFromDIR(xDIR):    ''' functions to create corpus from a Directories    Input: Directory    Output: A dictionary with   Names of files ['ColNames']  the text in corpus ['docs']'''    import os    Res = dict(docs = [open(os.path.join(xDIR,f)).read() for f in os.listdir(xDIR)],    ColNames = map(lambda x: 'P_' + x[0:6], os.listdir(xDIR)))    return Res

创建数据框

d1 = fn_tdm_df(docs = fn_CorpusFromDIR(DIR)['docs'],          xColNames = fn_CorpusFromDIR(DIR)['ColNames'],stop_words=None, charset_error = 'replace')


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626540.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号