0

全て、

クリーンアップする必要があるテキストがいくつかあり、「ほとんど」機能する小さなアルゴリズムがあります。

def removeStopwords(self, data):
    with open(r'stopwords.txt') as stopwords:
        wordList = []
        for i in stopwords:
            wordList.append(i.strip())
        charList = list(data)
        cat = ''.join(char for char in charList if not char in wordList).split()
        return ' '.join(cat)

このページの最初の行を見てください。http://en.wikipedia.org/wiki/Paragraphに移動し、関心のないすべての文字を削除します。この場合、英数字以外のすべての文字です。

パラグラフ (ギリシャ語のパラグラフから、「横に書く」または「横に書かれる」) は、特定のポイントまたはアイデアを扱う書面での談話の自己完結型の単位です。段落は、1 つまたは複数の文で構成されます。[1][2] 段落の開始は、新しい行から始まることで示されます。最初の行がインデントされることがあります。さまざまな時点で、段落の開始はピルクロウによって示されてきました: ¶.

一部の単語が正しく再結合されておらず、それを修正する方法がわからないことを除いて、出力はかなり良さそうです。

ギリシア語のパラグラフからの段落は、横に書くか、横に書かれ、自己完結型の単位です。

「自己完結型」という言葉は「自己完結型」であることに注意してください。

編集:文字の束であるストップワードファイルの内容。

! $ % ^ , & * ( ) { } [ ] <

、 。/ | \ ? ~ `:; "

この場合は句読点である文字を実際に削除しようとしただけなので、単語のリストはまったく必要ないことがわかりました。

        cat = ''.join(data.translate(None, string.punctuation)).split()
        print ' '.join(cat).lower()
4

3 に答える 3

2

バージョン 2.x

line = 'hello!'
line.translate(None, '!$%') #'hello'

答え

于 2012-02-22T19:45:42.073 に答える
1

ストップワード/ストップ文字を別の関数にロードします。

ファイル名/パスをハードコーディングしないでください。

あなたの wordList はsetリストではなく、 でなければなりません。

ただし、単語ではなく文字を使用している場合は、str.translate を調べてください。

于 2012-02-22T20:00:10.997 に答える
-2

方法の1つは、replaceメソッドを使用して、不要な文字の完全なリストを作成することです。

例えば:

c=['a','h']
a= 'john'
for item in c:
    a =a.replace(item,'')
    print a

以下を印刷します:John Jon

于 2012-02-22T19:51:49.130 に答える