以下のテキストから句読点を削除しようとしています。私は後で出てくるエンコードの問題を避けるために、テキストをUnicodeに変換しています。translate関数とユニコード変換
import string
st = "I absolutely go incredibly far. Zach went fast over crab sand land.\n\nThis is a new paragraph. This is the second sentence in that paragraph. This exsquisite utterance is indubitably the third sentence of this fine text.\n\nPlagiarism detection can be operationalized by decomposing a document into natural sections, such as sentences, chapters, or topically related blocks, and analyzing the variance of stylometric features for these sections. In this regard the decision problems in Sect. 1.2 are of decreasing complexity: instances of AVFIND are comprised of both a selection problem (finding suspicious sections) and an AVOUTLIER problem; instances of AVBATCH are a restricted variant of AVOUTLIER since one has the additional knowledge that all elements of a batch are (or are not) outliers at the same time."
st = unicode(st, errors = 'ignore')
for word in st.split(' '):
wd = word.lower().translate(string.maketrans("",""), string.punctuation)
print wd
しかし、translate関数は、引数の数についてエラーを起こす可能性があります。
TypeError: translate() takes exactly one argument (2 given)
ユニコード変換ステップを削除すると、正しい実行が保証されますが、変換機能も必須です。どのようにしてエラーなく目標を達成し、両方の機能を維持することができますか?