word netを使用して単語間の意味的類似性を見つけるプログラムをPythonで作成しました。しかし、私はそれが静的だと感じています。ダイナミックなアプローチをしたい。ウィキペディアから各単語の定義にアクセスしたい。そのような単語の定義にアクセスするにはどうすればよいですか? グーグルで調べたところ、ウィキペディアのダンプファイルを解析することで定義を取得できることがわかりました。しかし、それを解析する方法がわかりません。ダンプされたファイルから単語の定義を取得するパーサーを実装できる人はいますか? これが唯一の方法ですか?メソッドは真です。
2 に答える
車輪を再発明する必要はありません。ワイカト大学の研究者は、WikipediaMiner という非常に優れたウィキペディアデータ マイニング サービスを立ち上げました。
このパッケージは、通常の Wikipedia ダンプを MySql データベース形式に変換し、記事、曖昧さ回避ページ、ハイパーリンクなど、Wikipedia の一部へのオブジェクト指向アクセスを提供します。ウィキペディア マイナーは、マウイがウィキペディアの記事に対するドキュメントのあいまいさを解消するために使用する、記事間の意味的な関連性を計算するためのアルゴリズムと、セマンティックな特徴を計算するためのアルゴリズムも実装しています。
その上で、さまざまな API も公開しました。たとえば、 の定義を取得したい場合はLogistic Regression
、そのexploreArticle
API を使用してください。
応答 xml は次のようになります。
<message service="/services/exploreArticle" id="226631" title="Logistic regression">
<request>
<param name="title">logistic regression</param>
<param name="definition">true</param>
</request>
<definition><![CDATA[In <a href="http://www.en.wikipedia.org/wiki/Statistics">statistics</a>, <b>logistic regression</b> (sometimes called the <b>logistic model</b> or <b><a href="http://www.en.wikipedia.org/wiki/Logit">logit</a> model</b>) is used for prediction of the <a href="http://www.en.wikipedia.org/wiki/Probability">probability</a> of occurrence of an event by fitting data to a logit function <a href="http://www.en.wikipedia.org/wiki/Logistic function">logistic curve</a>.]]>
</definition>
</message>
単語間の意味的類似性を比較するには、 compare
APIを試すことができます。
たとえば、 と比較するkiwi
とtakahe
、以下の API 呼び出しを使用します。
関連性測定に使用するアルゴリズムの詳細を次に示します。
独自の wikipediaMiner サービスをホストすることもできます (詳細はこちら)。サービスの使用方法の詳細については、こちらをご覧ください。関連する出版物はこちらです。
ウィキペディアではなく、シソーラスを実際に探していると思います。それらのいくつかは、機械可読コーパスとして利用できます。ただし、いくつかの特殊な場合を除いて、テキストの定義は単語の類似性を判断するための優れた情報源とは思えないことを認めなければなりません。
これらは、単語の類似性測定に関するかなりの量の作業であるため、車輪を再発明する代わりに、最先端の技術やツールを調べることができます。ウィキペディアはそれらのいくつかについて言及しています。