問題タブ [entity-linking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - spaCyのEntity Linking候補生成でNER-Labelを利用することはできますか?
Entity Linking (EL) に spaCy を使用したい。ドメイン固有のコーパスでカスタム ラベルを使用して、spaCy Named Entity Recognition (NER) モデルをトレーニング済みです。ただし、次の例では、通常のエンティティ ラベル PERSON と LOCATION を使用します。
ナレッジ ベース (KB) にエイリアスを設定すると、KB は認識されたエンティティの出現候補を返します。たとえば、「パリ」の候補は、ウィキデータ エントリ Q47899 (パリス ヒルトン)、Q7137357 (パリス テメン)、Q5214166 (ダン パリス)、Q90 になります。 (パリ、フランスの首都)、または Q830149 (パリ、米国テキサス州ラマー郡の郡庁所在地)。
私の質問は、認識されたエンティティ ラベルに関するものです。NER が「パリ」を PERSON として認識すると、Q90 (フランスの首都パリ) と Q830149 (パリ、米国テキサス州ラマー郡の郡庁所在地) が候補から除外され、3 つの候補が残ります。一方、「パリ」が LOCATION として認識された場合、残りの候補は 2 つだけです。
検出された NER ラベルを考慮して、どのエンティティ セットから候補を選択するかを KB または EL モデルにアドバイスすることは可能ですか? ELモデルのトレーニングの前後?
spacy - スコアがすべて 1 の場合、scispacy から UMLS リンクされたエンティティの順序を制御するもの
私はScispacyを使用しています(これは素晴らしいです!)が、ここにあるアプリに「tau」と入力すると、https: //scispacy.apps.allenai.org/ UMLSエンティティが「MAPT遺伝子」の正規名を与えてくれます。私が欲しいもの。しかし、アプリコードに基づいてPythonコードでまったく同じことを行うと( https://gist.github.com/DeNeutoy/b20860b40b9fa9d33675893c56afde42を参照)、リストの最初の正規名は「ウリジントリアセテート」です(2番目は「MAPT遺伝子」)
アプリのコードには「if show_only_top:break」という呼び出しがあるため、何らかの形でアプリの実装がリンクされたエンティティを異なる順序で並べていると思います。
誰かが注文の違いとそれを修正する方法を説明できれば、感謝します!!
spacy-3 - トレーニング後にスペイシーのエンティティ リンク知識ベースを更新できますか?
Entity Linking モデルのトレーニングに成功し、問題なく動作しているとしましょう。しかし、最終的には、ナレッジ ベースのいくつかのエイリアスを更新する予定です。説明や新しいエンティティではなく、いくつかのエイリアスです。
私は、スペイシーがそうする方法を持っていることを知っています: kb.add_alias(alias="Emerson", entities=qids, probabilities=probs)
. しかし、トレーニング プロセスの後にそれを行う必要がある場合はどうすればよいでしょうか? すべてを再実行する必要がありますか、それとも KB を更新しますか?