Bert Fda Nutrition Ner
模型概述
該模型主要用於從文本數據中識別和分類營養成分,如配料表、營養價值等,適用於營養標籤分析。
模型特點
營養標籤專用
專門針對營養標籤數據設計,能夠準確識別和分類營養成分。
多數據源訓練
結合FDA公開數據集、Yelp評論和亞馬遜食品評論,增強模型對多樣化營養信息的理解。
噪聲增強
訓練數據中引入故意噪聲(如拼寫錯誤、句子交換),提高模型在現實場景中的魯棒性。
模型能力
識別營養成分
分類營養實體
處理拼寫錯誤
分析多樣化文本結構
使用案例
食品標籤分析
配料表解析
從食品配料表中識別和分類各種成分,如維生素、礦物質、添加劑等。
準確標記出各類營養實體,如'番茄醬'被分類為碳水化合物。
營養信息提取
從食品評論或標籤中提取營養信息,如卡路里、蛋白質含量等。
識別並分類營養數據,如'每100克250卡路里'被標記為近似值。
🚀 sgarbi/bert-fda-nutrition-ner模型
這是一個專門為營養標籤領域的命名實體識別(NER)設計的BERT模型。其主要目標是從文本數據中檢測和分類不同的營養成分,從而為理解營養標籤和其他營養材料中的信息提供系統的方法。該模型還可作為從增強數據中訓練模型的基準和學習工具。
🚀 快速開始
此模型可直接從Hugging Face平臺加載使用,以下是簡單的使用示例:
# 假設使用Hugging Face的transformers庫
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
# 加載模型和分詞器
tokenizer = AutoTokenizer.from_pretrained("sgarbi/bert-fda-nutrition-ner")
model = AutoModelForTokenClassification.from_pretrained("sgarbi/bert-fda-nutrition-ner")
# 輸入文本
text = "Here are the ingredients to use: Tomato Paste, Sesame Oil, Cheese Cultures, Ground Corn, Vegetable Oil, Brown rice, sea salt, Tomatoes, Milk, Onions, Egg Yolks, Lime Juice Concentrate, Corn Starch, Condensed Milk, Spices, Artificial Flavor, red 5, roasted coffee"
# 分詞
inputs = tokenizer(text, return_tensors="pt")
# 模型推理
with torch.no_grad():
outputs = model(**inputs)
# 獲取預測結果
predictions = torch.argmax(outputs.logits, dim=2)
# 打印預測結果
print(predictions)
✨ 主要特性
- 精準識別:能夠準確識別營養標籤文本中的各種營養成分實體。
- 多數據源訓練:使用了來自美國食品藥品監督管理局(FDA)、Yelp餐廳評論和亞馬遜食品評論等多源數據進行訓練,增強了模型的泛化能力。
- 數據增強:通過引入噪聲等數據增強技術,提高了模型處理真實世界不完美數據的能力。
📦 安裝指南
如果你想使用這個模型,可通過以下步驟安裝所需依賴:
pip install transformers torch
💻 使用示例
基礎用法
# 上述快速開始中的代碼示例
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
tokenizer = AutoTokenizer.from_pretrained("sgarbi/bert-fda-nutrition-ner")
model = AutoModelForTokenClassification.from_pretrained("sgarbi/bert-fda-nutrition-ner")
text = "Here are the ingredients to use: Tomato Paste, Sesame Oil, Cheese Cultures, Ground Corn, Vegetable Oil, Brown rice, sea salt, Tomatoes, Milk, Onions, Egg Yolks, Lime Juice Concentrate, Corn Starch, Condensed Milk, Spices, Artificial Flavor, red 5, roasted coffee"
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=2)
print(predictions)
高級用法
# 批量處理文本數據
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
tokenizer = AutoTokenizer.from_pretrained("sgarbi/bert-fda-nutrition-ner")
model = AutoModelForTokenClassification.from_pretrained("sgarbi/bert-fda-nutrition-ner")
texts = [
"Here are the ingredients to use: Tomato Paste, Sesame Oil, Cheese Cultures, Ground Corn, Vegetable Oil, Brown rice, sea salt, Tomatoes, Milk, Onions, Egg Yolks, Lime Juice Concentrate, Corn Starch, Condensed Milk, Spices, Artificial Flavor, red 5, roasted coffee",
"Beef: 250 calories per 100g Chicken: 165 calories per 100g Salmon: 206 calories per 100g Tofu: 76 calories per 100g Lentils: 116 calories per 100g Carrots: 41 calories per 100g Spinach: 23 calories per 100g Apples: 52 calories per 100g Bananas: 89 calories per 100g Oranges: 47 calories per 100g Rice: 130 calories per 100g cooked Pasta: 131 calories per 100g cooked Bread: 265 calories per 100g Olive oil: 884 calories per 100g Butter: 717 calories per 100g"
]
inputs = tokenizer(texts, return_tensors="pt", padding=True, truncation=True)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=2)
print(predictions)
📚 詳細文檔
訓練數據描述
sgarbi/bert-fda-nutrition-ner
模型的訓練數據經過精心策劃,主要來源於以下幾個方面:
數據來源
數據來源 | 詳情 |
---|---|
美國食品藥品監督管理局(FDA) | 數據來自FDA的FoodData Central網站(FDA FoodData Central),包含了各種食品的詳細營養信息和標籤,如成分列表、營養值、份量等。 |
Yelp餐廳評論 | 使用了Hugging Face的 Yelp Review Full dataset,並通過Mistral 7B進行通用標註增強,以豐富模型對餐廳相關營養提及的理解。 |
亞馬遜食品評論 | 結合了Hugging Face的 Amazon Food Reviews dataset,同樣使用Mistral 7B進行增強,提高了模型從不同食品產品評論中識別和分類營養信息的能力,並與FDA數據相關聯。 |
預處理和增強步驟
- 提取:從FDA數據集中提取關鍵文本數據,包括營養事實和成分列表。
- 歸一化:對所有文本進行歸一化處理,包括轉換為小寫和去除冗餘格式。
- 實體標註:手動標註重要的營養元素,創建用於訓練的標註數據集,包括宏營養素、維生素、礦物質和各種特定的飲食成分。
- 分詞和格式化:對數據進行分詞和格式化,以滿足BERT模型的輸入要求。
- 引入噪聲:為了提高模型處理真實世界不完美數據的能力,在訓練集中引入了故意噪聲,包括句子交換和引入拼寫錯誤。
注意事項
- 數據使用:模型僅使用了食品產品標籤的公開數據,未使用任何私人或敏感數據。
- 標註問題:標註任務由mistral.ai提供的Mistral 7B-Instruct執行(https://docs.mistral.ai/),標註過程中可能出現幻覺現象,導致分類不準確。
- 功能限制:該工具僅從文本中提取營養實體,不能用於營養或健康建議,營養建議應由專業專家提供。
- 語言偏差:某些類型食品產品標籤的語言和措辭可能會給模型帶來偏差。
- 模型用途:此模型主要用於探索BERT架構和NER任務。
標籤映射
label_map = {
0: 'O',
1: 'I-VITAMINS',
2: 'I-STIMULANTS',
3: 'I-PROXIMATES',
4: 'I-PROTEIN',
5: 'I-PROBIOTICS',
6: 'I-MINERALS',
7: 'I-LIPIDS',
8: 'I-FLAVORING',
9: 'I-ENZYMES',
10: 'I-EMULSIFIERS',
11: 'I-DIETARYFIBER',
12: 'I-COLORANTS',
13: 'I-CARBOHYDRATES',
14: 'I-ANTIOXIDANTS',
15: 'I-ALCOHOLS',
16: 'I-ADDITIVES',
17: 'I-ACIDS',
18: 'B-VITAMINS',
19: 'B-STIMULANTS',
20: 'B-PROXIMATES',
21: 'B-PROTEIN',
22: 'B-PROBIOTICS',
23: 'B-MINERALS',
24: 'B-LIPIDS',
25: 'B-FLAVORING',
26: 'B-ENZYMES',
27: 'B-EMULSIFIERS',
28: 'B-DIETARYFIBER',
29: 'B-COLORANTS',
30: 'B-CARBOHYDRATES',
31: 'B-ANTIOXIDANTS',
32: 'B-ALCOHOLS',
33: 'B-ADDITIVES',
34: 'B-ACIDS'
}
示例輸出
INPUT:
'Here are the ingredients to use: Tomato Paste, Sesame Oil, Cheese Cultures, Ground Corn, Vegetable Oil, Brown rice, sea salt, Tomatoes, Milk, Onions, Egg Yolks, Lime Juice Concentrate, Corn Starch, Condensed Milk, Spices, Artificial Flavor, red 5, roasted coffee'
Output:
['CLS', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'B-CARBOHYDRATES', 'I-CARBOHYDRATES', 'O', 'B-LIPIDS', 'I-LIPIDS', 'O', 'B-PROBIOTICS', 'I-PROBIOTICS', 'O', 'B-CARBOHYDRATES', 'I-CARBOHYDRATES', 'O', 'B-LIPIDS', 'I-LIPIDS', 'O', 'B-CARBOHYDRATES', 'I-CARBOHYDRATES', 'O', 'B-MINERALS', 'I-MINERALS', 'O', 'B-CARBOHYDRATES', 'O', 'B-PROXIMATES', 'O', 'B-CARBOHYDRATES', 'O', 'B-LIPIDS', 'I-LIPIDS', 'I-LIPIDS', 'I-LIPIDS', 'O', 'B-CARBOHYDRATES', 'I-CARBOHYDRATES', 'I-CARBOHYDRATES', 'O', 'B-CARBOHYDRATES', 'I-CARBOHYDRATES', 'I-CARBOHYDRATES', 'O', 'B-PROXIMATES', 'I-PROXIMATES', 'O', 'B-FLAVORING', 'O', 'B-FLAVORING', 'I-FLAVORING', 'O', 'B-COLORANTS', 'I-COLORANTS', 'O', 'B-STIMULANTS', 'I-STIMULANTS', 'O', 'I-STIMULANTS']
代碼倉庫
https://github.com/ESgarbi/bert-fda-nutrition-ner
📄 許可證
本項目採用MIT許可證。
Indonesian Roberta Base Posp Tagger
MIT
這是一個基於印尼語RoBERTa模型微調的詞性標註模型,在indonlu數據集上訓練,用於印尼語文本的詞性標註任務。
序列標註
Transformers 其他

I
w11wo
2.2M
7
Bert Base NER
MIT
基於BERT微調的命名實體識別模型,可識別四類實體:地點(LOC)、組織機構(ORG)、人名(PER)和雜項(MISC)
序列標註 英語
B
dslim
1.8M
592
Deid Roberta I2b2
MIT
該模型是基於RoBERTa微調的序列標註模型,用於識別和移除醫療記錄中的受保護健康信息(PHI/PII)。
序列標註
Transformers 支持多種語言

D
obi
1.1M
33
Ner English Fast
Flair自帶的英文快速4類命名實體識別模型,基於Flair嵌入和LSTM-CRF架構,在CoNLL-03數據集上達到92.92的F1分數。
序列標註
PyTorch 英語
N
flair
978.01k
24
French Camembert Postag Model
基於Camembert-base的法語詞性標註模型,使用free-french-treebank數據集訓練
序列標註
Transformers 法語

F
gilf
950.03k
9
Xlm Roberta Large Ner Spanish
基於XLM-Roberta-large架構微調的西班牙語命名實體識別模型,在CoNLL-2002數據集上表現優異。
序列標註
Transformers 西班牙語

X
MMG
767.35k
29
Nusabert Ner V1.3
MIT
基於NusaBert-v1.3在印尼語NER任務上微調的命名實體識別模型
序列標註
Transformers 其他

N
cahya
759.09k
3
Ner English Large
Flair框架內置的英文4類大型NER模型,基於文檔級XLM-R嵌入和FLERT技術,在CoNLL-03數據集上F1分數達94.36。
序列標註
PyTorch 英語
N
flair
749.04k
44
Punctuate All
MIT
基於xlm-roberta-base微調的多語言標點符號預測模型,支持12種歐洲語言的標點符號自動補全
序列標註
Transformers

P
kredor
728.70k
20
Xlm Roberta Ner Japanese
MIT
基於xlm-roberta-base微調的日語命名實體識別模型
序列標註
Transformers 支持多種語言

X
tsmatz
630.71k
25
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98