質問: ### 前提・実現したいこと 指定したWebサイトから複数の記事の本文を自動的に取得し、文章の類似度を計算、類似している点(できれば文で)を出力する。 つまりWebサイトで多くの人が言っていることを抽出したいな。ということです。 ### 発生している問題 上記のようなソフトを作成したいのですが、何から手をつければ良いのかわかりません。 必要になりそうだと思ったものが合っているのか、どのような順番で勉強したらいいのかわからないのです。 なるべくアプリケーションを実装しながら学習することが好きなので、オススメの勉強法があれば教えていただきたいです。 よろしくお願いいたします。 ### 必要になりそうだと思ったもの 記事をサイトから取得する為:Webスクレイピング技術,PHP 文章類似度計算:文章のベクトル化、形態要素解析など自然言語処理 ### 補足情報(FW/ツールのバージョンなど) Python,Cの基本的な文法を学んだ程度のプログラミング初心者です。 Python3.7.4 Mac OS
回答: まずは本文のスクレイピングをしないといけないのですが、サイトごとに構造が違う訳ですからこれは一般論としては難しい部類の処理になると思います。「コンテンツだけを抜き出す」手法は探せばいろいろ提案されていると思いますから、よさそうなものを見つけて使ってください(ライブラリまであるかは微妙。自分で実装しないといけないかもしれません)。 スクレイピングのコードはPHPでも書けるとは思いますが、PHPの知識がなければPythonでも書けるし、手間とかやりやすさは大差ないでしょう。 文ごとにベクトル化して似ている文ごとにまとめる、のはそう難しくはないと思いますが、ベクトルの距離が近かったときに人の目で見て似ていると言えるかどうかはまた別。意味のある結果が出るのかもまた別(ナイーブにやると定型文的なのばっかり引っかかるだろうけど、それでいいの? とか)。 こちらはもう少し「やりたいこと」を明確にした方が良いかと。