gpt4 book ai didi

python-3.x - 如何从 Pandas 数据框创建语料库以使用 NLTK

转载 作者:行者123 更新时间:2023-12-03 17:15:23 25 4
gpt4 key购买 nike

这是我的问题:

  • 我有一个 csv 文件,其中包含带有列的文章数据集:ID、CATEGORY、TITLE、BODY。
  • 在 python 中,我将文件读取到一个 Pandas 数据框,如下所示:
    import pandas as pd
    df = pd.read_csv('my_file.csv')
  • 现在我需要以某种方式转换这个 df要获取语料库对象,我们将其命名为 my_corpus .但我到底能做什么呢?我假设我需要使用:
    from nltk.corpus.reader import CategorizedCorpusReader
    my_corpus = some_nltk_function(df) # <- what is the function?
  • 最后我可以使用NLTK方法来分析语料库。例如:
    import nltk
    my_corpus.fileids() # <- I expect values from column ID
    my_corpus.categories() # <- I expect values from column CATEGORY
    my_corpus.words(categories='cat_A') # <- I expect values from column TITLE and BODY
    my_corpus.sents(categories=['cat_A', 'cat_B', 'cat_C']) # <- I expect values from column TITLE and BODY

  • 请指教。

    最佳答案

    我想你需要做两件事。

    首先,您需要将数据帧 df 的每一行转换为语料库文件。以下功能应该为您完成

    def CreateCorpusFromDataFrame(corpusfolder,df):
    for index, r in df.iterrows():
    id=r['ID']
    title=r['TITLE']
    body=r['BODY']
    category=r['CATEGORY']
    fname=str(category)+'_'+str(id)+'.txt'
    corpusfile=open(corpusfolder+'/'+fname,'a')
    corpusfile.write(str(body) +" " +str(title))
    corpusfile.close()

    CreateCorpusFromDataFrame('yourcorpusfolder/',df)

    其次,你需要从你的语料库文件夹中读取文件,然后做你需要的NLTK处理
    from nltk.corpus.reader import CategorizedPlaintextCorpusReader
    my_corpus=CategorizedPlaintextCorpusReader('yourcorpusfolder/',
    r'.*', cat_pattern=r'(.*)_.*')
    my_corpus.fileids() # <- I expect values from column ID
    my_corpus.categories() # <- I expect values from column CATEGORY
    my_corpus.words(categories='cat_A') # <- I expect values from column TITLE and BODY
    my_corpus.sents(categories=['cat_A', 'cat_B']) # <- I expect values from column TITLE and BODY

    一些有用的引用资料:
  • https://groups.google.com/forum/#!topic/nltk-users/YFCKjHbpUkY
  • Need to set categorized corpus reader in NLTK and Python, corpus texts in one file, one text per line
  • 关于python-3.x - 如何从 Pandas 数据框创建语料库以使用 NLTK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49088978/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com