Целью моего проекта является ответить на такие вопросы, как, например: «Я ищу американских женщин в возрасте от 20 до 30 лет, которые работают в Google» Я тогда должен обработать запрос и посмотреть в БД, чтобы найти ответ.NLTK: объединение stanford tagger и персонального tagger
Для этого мне нужно будет объединить NERTagger 3-го класса Stanford и собственный теггер. Действительно, мой теггер 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
Это будет означать, что Таггер первый использует мой Tagger, а затем Стэнфорд, чтобы пометить непомеченные слова.
Возможно ли совместить мою модель с моделью Стэнфорда, чтобы пометить организации? Если да, то каков наилучший способ выполнить это?
Спасибо!
Большое спасибо! Это то, что мне нужно. Я думаю, было бы хорошо, если бы он был по умолчанию в NLTK, но это просто мое мнение! – LM91