🚀 多語言詞性標註模型
本項目提供了使用Hugging Face進行詞性標註的腳本,可提取文本中的詞性信息,還能自動檢測和提取名詞與停用詞。同時,對多語言詞性標註模型的評估框架和訓練配置進行了概述。
🚀 快速開始
本項目提供了使用Hugging Face進行詞性標註的腳本,可提取文本中的詞性信息,還能自動檢測和提取名詞與停用詞。
✨ 主要特性
- 多語言支持:能夠處理多種語言的詞性標註任務。
- 詞性分類:可以準確識別不同詞性的類別。
- 停用詞提取:自動檢測並提取文本中的名詞和停用詞。
📦 安裝指南
本項目依賴於Hugging Face的transformers
庫,可使用以下命令進行安裝:
pip install transformers
💻 使用示例
基礎用法
以下代碼展示瞭如何使用Hugging Face的pipeline
進行詞性標註:
from transformers import pipeline
pos_pipeline = pipeline("token-classification", model="jordigonzm/mdeberta-v3-base-multilingual-pos-tagger")
text = "On January 3rd, 2024, the $5.7M prototype—a breakthrough in AI-driven robotics—successfully passed all 37 rigorous performance tests!"
words = text.split(" ")
tokens = pos_pipeline(words)
for word, group_token in zip(words, tokens):
print(f"{word:<15}", end=" ")
for token in group_token:
print(f"{token['word']:<8} → {token['entity']:<8}", end=" | ")
print("\n" + "-" * 80)
高級用法
以下代碼展示瞭如何進行詞性標註並提取名詞和停用詞:
from transformers import pipeline
pos_pipeline = pipeline("ner", model="jordigonzm/mdeberta-v3-base-multilingual-pos-tagger")
text = "Companies interested in providing the service must take care of signage and information boards."
tokens = pos_pipeline(text)
print("\nTokens POS tagging:")
for token in tokens:
print(f"{token['word']:10} → {token['entity']}")
words, buffer, labels = [], [], []
for token in tokens:
raw_word = token["word"]
if raw_word.startswith("▁"):
if buffer:
words.append("".join(buffer))
labels.append(buffer_label)
buffer = [raw_word.replace("▁", "")]
buffer_label = token["entity"]
else:
buffer.append(raw_word)
if buffer:
words.append("".join(buffer))
labels.append(buffer_label)
print("\nPOS tagging results:")
for word, label in zip(words, labels):
print(f"{word:<15} → {label}")
noun_tags = {"NOUN", "PROPN"}
stopword_tags = {"DET", "ADP", "PRON", "AUX", "CCONJ", "SCONJ", "PART"}
filtered_nouns = [word for word, tag in zip(words, labels) if tag in noun_tags]
stopwords = [word for word, tag in zip(words, labels) if tag in stopword_tags]
print("\nFiltered Nouns and Proper Nouns:", filtered_nouns)
print("\nStopwords detected:", stopwords)
📚 詳細文檔
多語言詞性標註概述
本報告概述了多語言詞性標註模型的評估框架和潛在的訓練配置。該模型基於Transformer架構,並在有限的訓練輪次後進行評估。
預期範圍
屬性 |
詳情 |
驗證損失 |
通常在0.02 到0.1 之間,具體取決於數據集的複雜性和正則化。 |
總體精度 |
預期範圍為96% 到99% ,受數據集多樣性和分詞質量的影響。 |
總體召回率 |
通常在96% 到99% 之間,受與精度類似的因素影響。 |
總體F1分數 |
預期範圍為96% 到99% ,平衡了精度和召回率。 |
總體準確率 |
可能在97% 到99.5% 之間,取決於語言變體和模型的魯棒性。 |
評估速度 |
通常為100 - 150樣本/秒 或 25 - 40步/秒 ,取決於批量大小和硬件。 |
訓練配置
屬性 |
詳情 |
模型 |
基於Transformer的架構(如BERT、RoBERTa、XLM - R) |
訓練輪次 |
2 到5 ,取決於收斂情況和驗證性能。 |
批量大小 |
1 到16 ,平衡內存限制和穩定性。 |
學習率 |
1e - 6 到5e - 4 ,根據優化動態和預熱策略進行調整。 |