2009-06-20 4 views
0

特定のテキストが名前、人、場所またはオブジェクト(デバイス)であるかどうかを検出するWebサービスまたはツールはありますか。Person、PlaceまたはObjectを検出するWebサービスまたはメカニズム

例:

入力:ビル・クリントン出力:人

入力:ブラックベリー出力:デバイス

入力:ニューヨークの出力:場所

精度が低いことができます。私はopencycを見ましたが、うまく動作しませんでした。これにWikiPediaを使用する方法はありますか?

人や物を分けることができます。

+0

ウィキペディアの使用は興味深い考えです。これを行う場合は、データの用途に応じてライセンスの問題に注意してください。 – balpha

+0

なぜopencycを動かすことができませんでしたか? –

答えて

1

私はウィキペディアが非常に良い情報源になると思います。入力があれば、wikipediaでエントリを見つけて結果のページをスクラップできます(存在する場合)。

PersonsとPlacesには、物語の中で誕生日や場所などのかなり異なるデータセットが必要です。記事の中にはそれらを区別するために使うことができ、その他のものはオブジェクトです。

とにかく価値があります。

1

検索エンジンの使用はどうですか? Googleは良いだろうと思うし、Yahoo!あなた自身の検索を構築するためのツールがあります。

私はGoogleで検索:

Results 1 - 10 of about 27,100,000 for "bill clinton" person 
Results 1 - 10 of about 6,050,000 for "bill clinton" place 
Results 1 - 10 of about 601,000 for "bill clinton" device 

彼は人です!

Results 1 - 10 of about 391,000,000 for "new york" place. 
Results 1 - 10 of about 280,000,000 for "new york" person. 
Results 1 - 10 of about 84,100,000 for "new york" device. 

これは場所です!

Results 1 - 10 of about 11,000,000 for "blackberry" person 
Results 1 - 10 of about 36,600,000 for "blackberry" place 
Results 1 - 10 of about 28,000,000 for "blackberry" device 

残念ながら、ブラックベリーは場所です。 : -/

「ブラックベリー」の場合のみ、「デバイス」が閉じてしまうことに注意してください。たぶん、ページヒット値に重み付けする必要があります。あなたのアプリケーションは何ですか?分類しなければならない「デバイス」は何ですか?入力の可能な範囲は?

あなたは、さまざまなソースから得た結果を組み合わせたいと思うかもしれません。

+0

Googleは明らかに非常に便利ですが、質問形式が常にあなたが探している意味関係を反映しているわけではないので、恐ろしい分類子を作ることがわかりました。上位N Googleの検索結果からテキストを抽出し、訓練されたSVMを使用して単語の袋に基づいて人物/場所/デバイスを予測する方が良い場合があります。 – Cerin

1

Wolfram Alphaの出力を見ると、あなたがおそらくBill Clinton BirthdayまたはちょうどBill Clintonを検索することにより、個人を識別することができ、またはあなたがより良い結果を得るため、New York GPS coordinatesまたは単にNew Yorkを検索して場所を特定できるようです。ブラックベリーはそれを果実として解釈し続けたいので、アルファにとっては難しい言葉のように思えます。デバイスを識別するためにFroogleを検索するのは幸運かもしれません。

少なくとも、あなたが有名な人物/場所を使用している場合、WAはあなたにかなりまともな精度を与えるようです。

+0

+1ヴォルフラムアルファはかなり正確です - デバイスとして "ブラックベリー"は果物として "ブラックベリー"よりも具体的です - OPは完全な精度を必要とせず、確かに計算アルゴリズムを期待することはできませんそれ以上の文脈なしで入力。 –

0

あなたが達成しようとしている基本的な仕事は、正式にはnamed entity recognitionです。この作業は重要なことではなく、コンテキストを取り除いた名前を入力するだけで、さらに難しくなります。

たとえば、「Bill Clinton」や「New York」などの例は明らかに明白ですが、Wikipediaの曖昧さ回避ページでは、それらが参照する可能性があるいくつかの実体があることを示しています。 「ニューヨーク」は州、都市、映画の両方のタイトルです。あなたがウィキペディアだけを見ているならば、「ビル・クリントン」はあまりあいまいではありませんが、あなたは数十のビル・クリントンズを電話帳で見つけることができます。それはまた、誰かのヨットやペットの犬の名前かもしれません。誰かが「ワシントン」を入力すればどうなるでしょうか?それは、米国の大統領、国家、地区、市、湖、通り、島、映画、いくつかの米国海軍船、橋、およびその他のものの両方になる可能性があります。どのような "正しい"使用法を決定すると、Webサービスを返すのが非常に複雑になる可能性があります。

Cycが知っているほど、Wikipediaほど包括的ではないことがわかります。しかし、Wikipediaの主な欠点は、それが本質的に構造化されていないことです。個人的には、CycのAPIが畳み込まれていて、文書化されていないことがわかりました.Wikipediaの自然言語を解析するのが簡単だと思われます。

このようなWebサービスをゼロから実装しなければならない場合は、まずdownloadingというウィキペディアのスナップショットを作成し、すべての記事を読むパーサーを作成し、記事タイトルに基づいて名前付きエンティティインデックスを生成します。人/場所/オブジェクトとして数十の例を手作業で「分類」し、それらの記事の単語頻度に基づいて他の例を自動的に分類する分類子(Bayesian、Maxent、SVM)を訓練することができます。

関連する問題