2016-11-18 5 views
3

これはかなりの質問であり、具体的な実装を探しているわけではありません(この問題を解決するものが既に存在すれば、それはすばらしいでしょう)。要求された情報がどのように取得されるかについて、誰かが私の考えを伝えることができれば、それは完璧です。情報の検索 - 用語の同義語を探して

この例で問題を説明します。私は大学(オックスフォード大学など)の名前を持っています。そして、私はこの大学に言及するtwitsを見つけるためにtwitterをフィルターにかけるつもりです。明らかに、彼らのほとんどは直接「Oxford大学」という言葉を含んでいないでしょうが、代わりに「Oxon」、「Oxf」または単に「Oxford」のようなものが使用されるかもしれません。

私の質問は、単語のすべての同義語を自動的に見つける方法です(正確には、私は大学の名前にのみ興味があります)。

+0

私は、人々がTwitterで使っている言葉のすべての変種ではなく、同義語を探しているわけではないと思いますか?同義語が必要な場合は、WordNetのような辞書を使用して、類義語、反意語などを見つけることができます! –

答えて

1

通常、これに対する答えは単語ステミングを使用することです。問題は、あなたが辞書の単語を使用していないということです。大学名には、通常、規則に従わない略語が多数あります。次の論理的なステップは正規表現を使うことですが、twitterは正規表現をサポートしていないので、すべての情報を一般的に検索して後処理する必要があります。

クエリ演算子の組み合わせを使用して可能な限り検索範囲を絞り込むことをお勧めします。https://dev.twitter.com/rest/public/searchその後、サーバー側でプロセスをポストします。これは多くの手作業による非エレガントな答えですが、別の方法論は見当たりません。

3

問題のこれらの種類は、シンプルなストレートのソリューションを持っていないが、あなたはこの論文を実装することができますNamed Entity Recognition from Tweets

をそして、あなたがこの問題についての詳細を読みたい場合は、固有表現認識(NER)を検索します。

0

使用する言語とプラットフォームに応じて、Javaのように利用できるNER抽出機能があります。使用できるライブラリはStandfordです。したがって、自分で書く必要はありません。 Javaの場合はanswerもご覧ください。さらに便利なツールがあります。

ツールを実行した後、さまざまなカテゴリをブラウズして最初に視覚的に(Oxford Oxf MITなどのような)関連するものを特定し、wordmingなどの単語クラスタリングを実行して後処理を行う必要があります。

関連する問題