首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AttributeError:在使用BERT构建NER时,“list”对象没有属性‘ent’

AttributeError:在使用BERT构建NER时,“list”对象没有属性‘ent’
EN

Stack Overflow用户
提问于 2022-10-25 10:53:06
回答 1查看 63关注 0票数 0

我试图使用NERtweets dataset构建一个tweets dataset模型,并最终得到这个错误。请帮帮忙

这就是我所做的

代码语言:javascript
复制
from transformers import AutoTokenizer, AutoModelForTokenClassification
from transformers import pipeline

tokenizer = AutoTokenizer.from_pretrained("dslim/bert-base-NER")
model = AutoModelForTokenClassification.from_pretrained("dslim/bert-base-NER")

nlp = pipeline("ner", model=model, tokenizer=tokenizer)

# ---------

def all_ents(v):
        return [(ent.text, ent.label_) for ent in nlp(v).ents]

df1['Entities'] = df['text'].apply(lambda v: all_ents(v))

df1.head()
代码语言:javascript
复制
AttributeError: 'list' object has no attribute 'ents'

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-25 15:41:01

似乎你混合了不同模块的代码。

.ents存在于模块spacy中,而不存在于transformers中。

代码语言:javascript
复制
#import spacy
import en_core_web_sm

nlp = en_core_web_sm.load()

doc = nlp('Hello World of Python. Have a nice day')

print([(x.text, x.label_) for x in doc.ents])

transformers中,您应该直接使用nlp(v),但是它给出了带有ent["entity"], ent["score"], ent["index"], ent["word"], ent["start"], ent["end"]的目录

代码语言:javascript
复制
from transformers import AutoTokenizer, AutoModelForTokenClassification
from transformers import pipeline

tokenizer = AutoTokenizer.from_pretrained("dslim/bert-base-NER")
model = AutoModelForTokenClassification.from_pretrained("dslim/bert-base-NER")

nlp = pipeline("ner", model=model, tokenizer=tokenizer)

# ---------

import pandas as pd

df = pd.DataFrame({
    'text': ['Hello World of Python. Have a nice day']
})

# ---------

def all_ents(v):
    #print(nlp(v))
    return [(ent['word'], ent['entity']) for ent in nlp(v)]

df['Entities'] = df['text'].apply(all_ents)

#df1['Entities'] = df['text'].apply(lambda v: [(ent['word'], ent['entity']) for ent in nlp(v)])

print(df['Entities'].head())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74192948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档