ドメイン名のリストがあり、ドメインの名前がポルノサイトであるかどうかを確認したいと思います。これを行うためのより良い方法は何ですか?ポルノドメインのリストはhttp://dumpz.org/56957/のようになります。このドメインは、ポルノドメインがどのように見えるかをシステムに教えるために使用できます。また、私は他のリストを持っています-http://dumpz.org/56960/-このリストの多くのドメインもポルノであり、名前でそれらを決定したいと思います。
6 に答える
そのためにドメイン名に頼ることはできません。まともな名前のポルノドメインが多すぎて、ポルノのような名前で安全なコンテンツを持つ他のドメインはほとんどありません。
それはあなたの目標が何であるかに依存するかもしれません。あなたは主にフォールスネガティブを最小限に抑えることに関心があると思います(そうでない場合は、誤ってドメインを適切なドメインと呼んでいます)。これは、たとえば、フォーラム内のすべてのポルノリンクを投稿する前にスパムについて確認したい場合に当てはまります。一部のポルノ以外のリンクにレビューのフラグが付けられた場合は、問題ありません。
この場合、おそらくかなり単純なことを行うことができます。ポルノっぽい単語のリストを思い付くことができれば、それらの単語のいずれかを含むすべてのドメインをサブストリングとしてマークすることができます。ただし、これはいくつかの安全なドメインをキャッチします。expertsexchange.comは「sex」または「sexchange」と一致する可能性がありますが、「yahoo」は決してポジティブにフラグを立てることはありません。実装、理解、調整が簡単です。
わいせつな単語のリストは、お気に入りの検索エンジンを使用して見つけることができます。ドメインのリストを使用して、ドメイン全体で共通の長い部分文字列を単語として抽出することもできます。
ただし、本当に正しい答えを取得したい場合は、それらのドメインに何があるかを確認する必要があります。Site-About-Kitty-Porn.comは、lolcatsドメインまたは違法なポルノである可能性があります。いくつかのクロールを行わない限り、知ることは不可能です。実際のコンテンツを取得してリストと照合すると、もう少しうまくいくでしょう。
また、子供に安全なインターネットフィルタなど、サードパーティのサービスに対して各ドメインを試してみたり、お気に入りの検索エンジンでセーフ検索結果にドメインが表示されるかどうかをテストしたりすることもできます。もちろん、各サービスのTOSとそのすべてに従っていることを確認してください。
誰かがすでに指摘したように、あなたはあなたがしようとしていることを達成するためにある種の分類が必要です。ただし、全体的な精度(適合率と再現率)は、使用しているトレーニングデータセットによって異なります。この目的のために、SVM、決定木などの分類器を使用できます。
さまざまなURLをクラスター化し、各クラスターからのいくつかの代表的なURLをチェックして、それがポルノであるかどうかを確認する半教師ありアプローチを採用することをお勧めします。利点は、トレーニングが不要であり、トレーニングデータセットをカバーしていない可能性のあるポルノURLを見つけることができることです。一般的なクラスタリング手法は、k-means、階層的、dbscanなどです。これは、URLのようなポルノを持たないポルノサイトには適用されません。そのためには、ページを取得し、Webページのコンテンツに対して同様のトレーニング/クラスタリングを行う必要があります。
このような意味ですか?
scala> val pornList = List("porn1.com","porn2.com","porn3.com")
pornList: List[java.lang.String] = List(porn1.com, porn2.com, porn3.com)
scala> val sites = List("porn1.com","site1.com","porn3.com","site2.com","site3.com")
sites: List[java.lang.String] = List(porn1.com, site1.com, porn3.com, site2.com, site3.com)
scala> val result = sites filterNot { pornList contains _ }
result: List[java.lang.String] = List(site1.com, site2.com, site3.com)
トピックによるWebページの分類に関するこのブログ投稿を確認してください。ポジティブな例として悪いサイトのリストから始め、ネガティブな例として良いサイト(いくつかの無実のGoogle検索がシードされた基本的なWebクローラー)を見つけるためのヒューリスティックを使用します。この投稿では、ページからコンテンツを抽出するプロセスと、Wekaに触れ、基本的な学習者をどのように適用するかについて説明します。
ページのコンテンツだけを使用するのではなく、問題のドメインに固有のデータをトレーニングセットに追加したい場合があることに注意してください。たとえば、ページ上の画像の数やサイズは、考慮したい要素かもしれません。