1
私はセマンティック分析のためにいくつかの使用可能なデータを設定しています。私は反復処理中の生のテキストデータのコーパスを持っています。データを開き、文字列として読み込み、リストに分割し、後でデータセットに組み込むデータを準備します。しかし、私がデータセットを構築するとき、最も一般的な言葉は句読点になります。データをさらに処理する前に、リストから句読点をすべて削除する必要があります。リストから句読点を削除する
import os
import collections
import string
import sys
import tensorflow as tf
import numpy as np
from six.moves import xrange
totalvocab = []
#Loop for: loop through all files in 'Data' directory
for subdir, dirs, files in os.walk('Data'):
for file in files:
filepath = subdir + os.sep + file
print(filepath)
#Function for: open file, convert input to string, split into list
def read_data(filepath):
with open(filepath, 'r') as f:
data = tf.compat.as_str(f.read()).split()
return data
#Run function on data, add file data to full data set.
filevocab = read_data(filepath)
totalvocab.extend(filevocab)
filevocab_size = len(filevocab)
print('File vocabulary size: %s' % filevocab_size)
totalvocab_size = len(totalvocab)
print('Total vocabulary size: %s' % totalvocab_size)
私は次の操作を行う場合は、次の
def read_data(filepath):
with open(filepath, 'r') as f:
data = tf.compat.as_str(f.read())
data.translate(string.punctuation)
data.split()
return data
言葉は個々の文字に分割されています。 私が試行した他の方法でエラーが発生しました。
ありがとうございます!それはまさに私が必要としたことでした。 また、ハイフネーションされた単語を自分のデータに含める必要があるため、将来のニーズを予測するのも正しいです。どの句読点を置き換えるかを宣言するにはどうすればよいですか? – Sabolis