2014-09-03 5 views
0

Я установил mailgun/прикуп на БКА и попробовать пример в разделе README, но он бросил следующую ошибку у меня:Mailgun Talon: Подпись Пример извлечения метания ошибки

>>> from talon import signature 
>>> message = """Thanks Sasha, I can't go any higher and is why I limited it to the 
... homepage. 
... 
... John Doe 
... via mobile""" 
>>> message 
"Thanks Sasha, I can't go any higher and is why I limited it to the\nhomepage.\n\nJohn  Doe\nvia mobile" 
>>> text,signtr = signature.extract(message, sender='[email protected]') 
ERROR:talon.signature.extraction:ERROR when extracting signature with classifiers 
Traceback (most recent call last): 
    File "talon/signature/extraction.py", line 57, in extract 
    markers = _mark_lines(lines, sender) 
    File "talon/signature/extraction.py", line 99, in _mark_lines 
    elif is_signature_line(line, sender, EXTRACTOR): 
    File "talon/signature/extraction.py", line 40, in is_signature_line 
    return classifier.decisionFunc(data, 0) > 0 
AttributeError: 'NoneType' object has no attribute 'decisionFunc' 

мне нужно тренироваться делать модель каким-то образом (эта подпись, по-видимому, является примером ML)? Я установил его с помощью pip.

ответ

1

Если вы хотите использовать парсинг подписи с классификаторами, вам просто нужно вызвать talon.init() перед использованием lib - он загружает обученные классификаторы. Другие методы, такие как talon.signature.bruteforce.extract_signature() или talon.quotations.extract_from(), не требуют классификаторов. Вот полный пример кода:

import talon 
# don't forget to init the library first 
# it loads machine learning classifiers 
talon.init() 

from talon import signature 


message = """Thanks Sasha, I can't go any higher and is why I limited it to the 
homepage. 

John Doe 
via mobile""" 

text, signature = signature.extract(message, sender='[email protected]') 
# text == "Thanks Sasha, I can't go any higher and is why I limited it to the\nhomepage." 
# signature == "John Doe\nvia mobile" 
+0

Сергей, спасибо за помощь ... один вопрос, когда я изменил отправитель к [email protected], он был не в состоянии угадать подпись ... его довольно обычное явление среди админов электронной почты ([email protected]), нужно ли мне инициализировать более сложные модели? Мне интересно узнать о различии между этим подходом ML и иметь некоторые простые эвристики, соответствующие таким вещам, как (имя, фамилия и т. Д.). Благодаря! –

+1

Эвристика может быть очень эффективной. Сначала мы используем эвристику, а не резерв ML. Вы можете захотеть заглянуть в talon.signature.bruteforce для некоторых эвристик. В тот момент, когда когтя не использует имя/фамилию в качестве простой эвристики, но это одна из функций/проверок в ML. Мы нашли его одним из самых эффективных проверок. –

+1

Проблема с простыми проверками заключается в том, что легко упустить случаи общего края. В настоящее время имя/фамилия извлекается из адреса электронной почты. Было бы здорово улучшить логику. Как и ваш образец: удаление первой буквы и поиск (часть) последнего имени могут дать хорошие результаты. –

 Смежные вопросы

  • Нет связанных вопросов^_^