2017-02-01 7 views
-1

ファイルからストップワードを削除するパーサーまたはスクリプトを探しています。ファイル内のストップワードを削除するUnixスクリプトまたはパーサー

これはサンプルファイルです:

IS, OF ,WITH ,WON,WOULD,X,©,® FOR BEST ACTRESS PRESENTING,À,È,ÉS,ŞI,АND,И 

私はそれぞれの行全体ではなく、ラインから単語を削除する:これは、単語リストを停止している

entities_0_confidence|entities_0_name|entities_0_entity|entities_1_confidence|relation_relation| 
-1.1956528741743269|ellen brown|Ellen_Brown|-3.9166730593775214|WOULD ATTORNEY FROM||||||||||||||||||||| 
-2.3889038197374015|rick santorum|Rick_Santorum||CRITICIZED||||||||||||||||||||| 
-1.5485422793287602|thomas jefferson|Thomas_Jefferson|-1.7299349891097682||IS LETTER TO||||||||||||||||||||| 
-1.229126527004769|lewis powell|Lewis_Powell_%28conspirator%29|-3.024385187632112|IS JUSTICE OF||||||||||||||||||||| 
-2.2268355006701155|michael bloomberg|Michael_Bloomberg|-2.1242762129476493|WON MAYOR OF À||||||||||||||||||||| 

。私の現在のスクリプトは、これらの単語を他の単語からも削除しています。例えば

:ファイル内

  • 私のライン -
  • "この行の使用を停止するように言われ、" ストップワード -
  • 出力 "を" -
"この行を使用したLD SP"

ファイル/データセットには70,000件のエントリが含まれています。

+0

また、現在のスクリプト、その出力、および取得する出力を表示する必要があります。 –

答えて

0

このコードは、fields変数に渡された列番号の先頭から末尾までのストップワードを置き換えます。

fields="col_num=1“ #pass the column you want to remove stop words from 

    while word i; 
    do 
    str=“word=$i";  
    cat file | 'BEGIN{'$str';'$fields'} {gsub("^'$word'[ ]|[ ]'$word'$|^'$word'$",X,$col_num); gsub("[ ]'$word'[ ]", " ",$col_num); gsub(/^ /,X,$col_num); gsub(/ $/,X,$col_num); print}' > file".temp"; 
    mv file".temp" file; 

    done < stop_words.txt 

希望がある!

関連する問題