私は100から4000語の範囲のテキストをたくさん持っています。テキストは、句読点や文法で書かれた作品としてフォーマットされています。すべてが英語です。テキストからWikiDataエンティティを効率的に抽出します。
問題は簡単です:どのように特定のテキストからすべてのWikiDataエンティティを抽出するのですか?
エンティティは、すべての名詞として定義されます。すなわち、これまでのところ、私は次のことを試してみた人、組織、場所や椅子のようなものの名前、ジャガイモなど
:
- OpenNLPとテキスト、および使用のトークン化人、場所、組織と定期名詞を抽出するpre-trained models 。
- 適用可能であれば、Porter Stemmingを適用してください。
- 抽出されたすべての名詞をwmflabs-APIと照合して、潜在的なWikiData IDを取得します。
このはとなりますが、うまくいくと思います。 WikiDataの関連する部分をローカルにキャッシュすることは明らかな改善の1つです。しかし、私がそれをする前に、私は他の解決策があるかどうかチェックしたい。
提案?私は仕事のためSparkを使用していますので、
は、私は質問のScalaのタグ付き。
実際だけ過半数されていない、非適切で複数として同定名詞で行われます。 dbpediaスポットライトを指摘してくれてありがとう。私はこれらについて知らなかった。 – habitats
DBpediaのは、実際に(何らかの理由で、私はあることを逃した)、ウィキデータにリンクされているので、私は受け入れられたとして、私はDBpediaのIDを取得するためにDBpediaのスポットライトを使用することができたことから、あなたの答えをマークし、ウィキデータIDのを取得するためにSPARQL + RDFを使用します直接。 – habitats