【发布时间】:2015-05-11 08:24:46
【问题描述】:
我的项目的目标是回答查询,例如: “我正在寻找在 Google 工作的 20 至 30 岁的美国女性” 然后我必须处理查询并查看数据库以找到答案。
为此,我需要将斯坦福 3-class NERTagger 和我自己的标注器结合起来。事实上,我的 NER 标注器可以标注年龄、国籍和性别。但我需要斯坦福标记器来标记组织,因为我没有任何培训文件。
现在,我有这样的代码:
def __init__(self, q):
self.userQuery = q
def get_tagged_tokens(self):
st = NERTagger('C:\stanford-ner-2015-01-30\my-ner-model.ser.gz','C:\stanford-ner-2015-01-30\stanford-ner.jar')
result = st.tag(self.userQuery.split())[0]
return result
我想要这样的东西:
def get_tagged_tokens(self):
st = NERTagger('C:\stanford-ner-2015-01-30\my-ner-model.ser.gz','C:\stanford-ner-2015-01-30\stanford-ner.jar')
st_def = NERTagger('C:\stanford-ner-2015-01-30\classifiers\english.all.3class.distsim.crf.ser.gz','C:\stanford-ner-2015-01-30\stanford-ner.jar')
tagger = BackoffTagger([st, st_def])
result = st.tag(self.userQuery.split())[0]
return result
这意味着标记器首先使用我的标记器,然后使用斯坦福的标记器来标记未标记的单词。
是否可以将我的模型与斯坦福模型结合起来仅用于标记组织?如果是,执行此操作的最佳方法是什么?
谢谢!
【问题讨论】:
标签: python nlp nltk stanford-nlp named-entity-recognition