2011-02-04 5 views
2

テキスト調査回答からウェブサイトを抽出する必要があります。アルゴリズムは広く一致する必要があります。例えば、「私のような患者」または「patientslikeme」は、「patientslikeme.org」として認識されるべきです。テキストからURLを抽出し、辞書を使用してフリーテキストでfacebook.comに翻訳する

以下のデータセットの回答を記載しました。私はこれを行うためのスクリプトを書き始めましたが、追加のフィルタと辞書を受け入れる堅牢なデザインパターンを使用していないことに気付きました。マッチがあまりにも正確であるか、あまりにも一般的であるため、十分な数のマッチをキャッチできないため、単純な正規表現は機能しませんでした。完璧な世界では、aspellのようなものを使ってスペルミスを訂正したり、levensteinアルゴリズムを使って単語をマッチさせることもできます。

データクレンジングのアルゴリズム、フレームワーク、またはリソースの方向性について私に指摘していただきありがとうございます。

「オンライン コミュニティ」の全体の美しさは、彼らが、 大きな程度に、匿名であるということです。ただし、 アクセシブルガーデニングフォーラム、 Davesgarden.com; Patientslikeme.com; 、もちろんFACEBOOKです。

$sites = array("davesgarden.com","patientslikeme.com","facebook.com"); 

$sites = array("yahoo.com","webmd.com"); 
webmd.co私のような患者のMs協会のFacebook Thisismsは

$sites = array("patientslikeme.com","mssociety.org","facebook.com","thisisms.com"); 

yaoo 0

MS治療options.com

$sites = array("mstreatmentoptions.com"); 
+0

これらは正しいサイトになるのですか? whole.comやbeauty.com、onlinecommunities.comはどうですか? – Yuliy

+0

良い点。私は、既知のサイトについての知識があり、それらとのマッチングがあると思います。データセットは十分に小さく、検疫に結果の差をつけて、手動で一致エンジンに追加することができます。 –

答えて

0

ここではRubyスクリプトです。

それをinputfile.txtという名前のこの形式でのドメインのリストを、フィード:

myurl.com 
otherurl.com 

保存このconvert.rb

while line = gets 
     line =~ /(.+)\.\w+$/ 
     print "/" 
     $1.each_char{|c| 
       print "#{c}\\W*" 
     } 
     print "/i" 
     puts 
end 

と呼ばれるファイルに続いて、このコマンドを実行します。猫の入力ファイルを。 txt | ruby convert.rb> outputfile.txt

これは正規表現のリストです。それらを取って、あなたの入力テキストにそれぞれ一致させてみてください。

関連する問題