当前位置: 首页 > 面试题库 >

Python-使用NLTK创建新的语料库

颜奇希
2023-03-14
问题内容

我认为标题的答案通常是去阅读文档,但是我浏览了NLTK书,但没有给出答案。我是Python的新手。

我有很多.txt文件,我希望能够使用NLTK为语料库提供的语料库功能nltk_data

我已经尝试过,PlaintextCorpusReader但是我无法超越:

>>>import nltk
>>>from nltk.corpus import PlaintextCorpusReader
>>>corpus_root = './'
>>>newcorpus = PlaintextCorpusReader(corpus_root, '.*')
>>>newcorpus.words()

如何newcorpus使用punkt分割句子?我尝试使用punkt函数,但punkt函数无法读取PlaintextCorpusReader类?

你还可以引导我介绍如何将分段数据写入文本文件吗?


问题答案:

我认为PlaintextCorpusReader,至少在你的输入语言是英语的情况下,已经使用punkt标记器对输入进行了细分。

PlainTextCorpusReader的构造函数

def __init__(self, root, fileids,
             word_tokenizer=WordPunctTokenizer(),
             sent_tokenizer=nltk.data.LazyLoader(
                 'tokenizers/punkt/english.pickle'),
             para_block_reader=read_blankline_block,
             encoding='utf8'):

你可以向读者传递一个单词和句子标记器,但是后者的默认值已经是nltk.data.LazyLoader('tokenizers/punkt/english.pickle')

对于单个字符串,将按以下方式使用标记器(此处说明,有关punkt标记器,请参见第5节)。

>>> import nltk.data
>>> text = """
... Punkt knows that the periods in Mr. Smith and Johann S. Bach
... do not mark sentence boundaries.  And sometimes sentences
... can start with non-capitalized words.  i is a good variable
... name.
... """
>>> tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
>>> tokenizer.tokenize(text.strip())


 类似资料:
  • 问题内容: 我认为标题的答案通常是去阅读文档,但是我遍历了NLTK书,但没有给出答案。我是Python的新手。 我有很多文件,我希望能够使用NLTK为语料库提供的语料库功能。 我已经尝试过,但是我无法超越: 如何使用punkt分割句子?我尝试使用punkt函数,但punkt函数无法读取类? 您还可以引导我介绍如何将分段数据写入文本文件吗? 问题答案: 我认为,至少在您的输入语言是英语的情况下,已经

  • 问题内容: 我遇到了一个与正则表达式和Python有关的问题。 我想创建一个自定义分类语料库,并在其上训练一个朴素贝叶斯分类器。我的问题如下:我想有两个类别,“ pos”和“ neg”。正文件全部位于一个目录中,而负文件均位于单独的目录中。 如何使用加载并标记pos目录中的所有肯定文件,并对否定文件执行相同的操作? 注意:设置与语料库()完全相同。 问题答案: 这是我的问题的答案。由于我一直在考虑

  • 问题内容: 我正在尝试学习如何使用NLTK标记西班牙语单词。 从nltk的书中,使用它们的示例标记英语单词非常容易。因为我是nltk和所有语言处理的新手,所以我对如何进行程序感到很困惑。 我已经下载了语料库。有没有办法指定一个语料库。我看了看文档,没有发现任何建议。我觉得我缺少一些关键概念。我是否需要在cess_esp语料库中手动标记文本中的单词?(通过手动,我的意思是标记我的情感,然后再次运行语

  • 问题内容: NLTK单词语料库没有短语“好”,“好”,“好”吗? 有什么想法吗? 问题答案: 在长 在文档中,单词是“ http://en.wikipedia.org/wiki/Words_(Unix) 在Unix中,您可以执行以下操作: 并阅读自述文件: 由于它是 234,936 的固定列表,因此该列表中 肯定 有不存在的单词。 如果需要扩展单词列表,则可以使用WordNet中的单词将单词添加到

  • 第二部分很简单,它用命令完成。这是我不知道如何接近的任务的第一部分。 欢迎所有的建议。我还特别欢迎提出建议,提出替代性的、更有效的办法,以取代我心目中的办法。 更新:

  • 我试图从文本或语料库中提取关键词。这些不是最常见的词,而是最“关于”文本的词。我有一个比较示例,我生成的列表与示例列表非常不同。你能给我一个指针来生成一个很好的关键字列表,其中不包括像“you”和“tis”这样的低义词吗? 我用“罗密欧与朱丽叶”作为我的文本。我的做法(见斯科特 我收到了很多像“你”、“她”和“它”这样的词,但它们并没有出现在它们的列表中,我也没有收到像“放逐”和“教堂墓地”这样的