python - python中的文本转换

标签 python text machine-learning pybrain supervised-learning

我正在使用 PyBrain 构建一个循环神经网络来解决文本分类问题。经过多次尝试,我仍然无法弄清楚如何将字符串列表转换为可用作数据集的数组。我做了什么:

import collections,re
from pybrain.datasets import SupervisedDataSet

#create the supervised dataset variable with 5 inputs and 1 output
windowSize=5
main_ds = SupervisedDataSet(windowSize,1)

with open('ltest5lg_d1.fr','r') as train_1:
        import_data_train=train_1.readlines()

train_data = []

for lines in import_data_train:
    s = lines.split()        
    for words in s:
        train_data.append(words)

bagsofwords = [collections.Counter(re.findall(r'\w+', txt)) for txt in train_data]

sumbags = sum(bagsofwords, collections.Counter())

所以我得到了训练数据的频率表,但我无法弄清楚如何将数据本身转换为可以用作 main_ds 变量输入的某种格式。

最佳答案

在学习环境中表示单词的标准方式是单词嵌入模型。

您想要的(这只是粗略地浏览一下 PyBrain 的数据集页面 [1])是通过将文本转换为其矢量表示来构建数据集。

有关如何自行操作的示例,请参阅 glove-python [2]。如果您想使用现有的包来执行此操作,请参阅 Google 的 word2vec [3] 或斯坦福的 GloVe [4],其中 Python 版本是一个简单的实现。

然后您可以使用此表示来训练您的神经网络。

[1] http://pybrain.org/docs/quickstart/dataset.html
[2] https://github.com/maciejkula/glove-python
[3] https://code.google.com/p/word2vec/
[4] http://www-nlp.stanford.edu/projects/glove/

关于python - python中的文本转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28281218/

相关文章:

css - 可查看的文本和图像网站导航菜单 - CSS

Java将多行字符串保存到文本文件

machine-learning - 将在 Google Cloud 中训练的模型导入到 Android 设备

python - 我在 google colab 中将图像转换为文本时出现 TesseractError : (2, 'Usage: pytesseract [-l lang] input_file' ) 错误

machine-learning - 如何在Python中执行肘法?

python - self.Bind 上的 wxPython 方法 "takes 1 positional argument but 2 were given"

python - Tensorflow 数据集 API 评估输出形状需要 10 多分钟

java - 创建类文件时出现问题

python & maven (单元测试集成)

python - 直接从 C 调用 mpmath