🚀 GLiNER
GLiNERは、双方向トランスフォーマーエンコーダ(BERTライク)を使用して、任意のエンティティタイプを識別できる固有表現抽出(NER)モデルです。このモデルは、事前定義されたエンティティに限定される従来のNERモデルや、柔軟性はあるもののリソース制約のあるシナリオではコストが高く大規模な大規模言語モデル(LLM)に代わる実用的な選択肢を提供します。
🚀 クイックスタート
GLiNERは、双方向トランスフォーマーエンコーダを使用して、任意のエンティティタイプを識別できる固有表現抽出(NER)モデルです。このモデルは、事前定義されたエンティティに限定される従来のNERモデルや、柔軟性はあるもののリソース制約のあるシナリオではコストが高く大規模な大規模言語モデル(LLM)に代わる実用的な選択肢を提供します。
✨ 主な機能
- 双方向トランスフォーマーエンコーダを使用して、任意のエンティティタイプを識別できます。
- 事前定義されたエンティティに限定されないため、柔軟性が高いです。
- 大規模言語モデル(LLM)に比べて、リソース制約のあるシナリオでも使用できます。
📦 インストール
GLiNERパッケージをインストールまたは更新します。
pip install gliner -U
💻 使用例
基本的な使用法
GLiNERライブラリをダウンロードしたら、GLiNER
クラスをインポートできます。その後、GLiNER.from_pretrained
を使用してこのモデルをロードし、predict_entities
を使用してエンティティを予測できます。
from gliner import GLiNER
model = GLiNER.from_pretrained("knowledgator/gliner-poly-small-v1.0")
text = """
Cristiano Ronaldo dos Santos Aveiro (Portuguese pronunciation: [kɾiʃˈtjɐnu ʁɔˈnaldu]; born 5 February 1985) is a Portuguese professional footballer who plays as a forward for and captains both Saudi Pro League club Al Nassr and the Portugal national team. Widely regarded as one of the greatest players of all time, Ronaldo has won five Ballon d'Or awards,[note 3] a record three UEFA Men's Player of the Year Awards, and four European Golden Shoes, the most by a European player. He has won 33 trophies in his career, including seven league titles, five UEFA Champions Leagues, the UEFA European Championship and the UEFA Nations League. Ronaldo holds the records for most appearances (183), goals (140) and assists (42) in the Champions League, goals in the European Championship (14), international goals (128) and international appearances (205). He is one of the few players to have made over 1,200 professional career appearances, the most by an outfield player, and has scored over 850 official senior career goals for club and country, making him the top goalscorer of all time.
"""
labels = ["person", "award", "date", "competitions", "teams"]
entities = model.predict_entities(text, labels, threshold=0.25)
for entity in entities:
print(entity["text"], "=>", entity["label"])
Cristiano Ronaldo dos Santos Aveiro => person
5 February 1985 => date
Al Nassr => teams
Portugal national team => teams
Ballon d'Or => award
UEFA Men's Player of the Year Awards => award
European Golden Shoes => award
UEFA Champions Leagues => competitions
UEFA European Championship => competitions
UEFA Nations League => competitions
Champions League => competitions
European Championship => competitions
高度な使用法
大量のエンティティがあり、事前に埋め込みたい場合は、以下のコードスニペットを参照してください。
labels = ["your entities"]
texts = ["your texts"]
entity_embeddings = model.encode_labels(labels, batch_size = 8)
outputs = model.batch_predict_with_embeds([text], entity_embeddings, labels)
📚 ドキュメント
ベンチマーク
以下は、様々な固有表現抽出データセットでのベンチマーク結果の表です。
データセット |
スコア |
ACE 2004 |
25.4% |
ACE 2005 |
27.2% |
AnatEM |
17.7% |
Broad Tweet Corpus |
70.2% |
CoNLL 2003 |
67.8% |
FabNER |
22.9% |
FindVehicle |
40.2% |
GENIA_NER |
47.7% |
HarveyNER |
15.5% |
MultiNERD |
64.5% |
Ontonotes |
28.7% |
PolyglotNER |
47.5% |
TweetNER7 |
39.3% |
WikiANN en |
56.7% |
WikiNeural |
80.0% |
bc2gm |
56.2% |
bc4chemd |
48.7% |
bc5cdr |
60.5% |
ncbi |
53.5% |
平均 |
45.8% |
|
|
CrossNER_AI |
48.9% |
CrossNER_literature |
64.0% |
CrossNER_music |
68.7% |
CrossNER_politics |
69.0% |
CrossNER_science |
62.7% |
mit-movie |
40.3% |
mit-restaurant |
36.2% |
平均 (ゼロショットベンチマーク) |
55.7% |
Discordへの参加
モデルに関するニュース、サポート、および議論に参加するには、Discordでコミュニティに参加してください。Discordに参加しましょう。
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下でライセンスされています。