Как использовать маргинальный, вероятностный метод в pycrfsuite.Tagger () - PullRequest
1 голос
/ 08 марта 2019

Документация мне вообще не помогает.

enter image description here

Сначала я попытался использовать set(), но я не понимаю, что это значит под

установить экземпляр для будущих вызовов

Я мог бы успешно передать свои данные, используя структуру моего набора данных, описанную ниже. Поэтому я не уверен, почему мне нужно использовать set для этого, как было сказано.

Вот моя последовательность функций типа scipy.sparse после того, как я вызвал nonzero() метод.

[['66 = 1', '240 = 1', '286 = 1', '347 = 10', '348 = 1'], ...]

где ... подразумевается, та же структура, что и у предыдущих элементов

Вторая проблема, с которой я столкнулся, это Tagger.probability () и Tagger.marginal ().

enter image description here

enter image description here

Для Tagger.probability я использовал тот же ввод, что и Tagget.tag (), и получил следующую ошибку.

enter image description here

и если мой ввод просто list вместо list of list. Я получаю следующую ошибку.

Traceback (most recent call last):
  File "cliner", line 60, in <module>
    main()
  File "cliner", line 49, in main
    train.main()
  File "C:\Users\Anak\PycharmProjects\CliNER\code\train.py", line 157, in main
    train(training_list, args.model, args.format, args.use_lstm, logfile=args.log, val=val_list, test=test_list)
  File "C:\Users\Anak\PycharmProjects\CliNER\code\train.py", line 189, in train
    model.train(train_docs, val=val_docs, test=test_docs)
  File "C:\Users\Anak\PycharmProjects\CliNER\code\model.py", line 200, in train
    test_sents=test_sents, test_labels=test_labels)
  File "C:\Users\Anak\PycharmProjects\CliNER\code\model.py", line 231, in train_fit
    dev_split=dev_split     )
  File "C:\Users\Anak\PycharmProjects\CliNER\code\model.py", line 653, in generic_train
    test_X=test_X, test_Y=test_Y)
  File "C:\Users\Anak\PycharmProjects\CliNER\code\machine_learning\crf.py", line 220, in train
    train_pred = predict(model,     X) # ANAK
  File "C:\Users\Anak\PycharmProjects\CliNER\code\machine_learning\crf.py", line 291, in predict
    print(tagger.probability(xseq[0]))
  File "pycrfsuite/_pycrfsuite.pyx", line 650, in pycrfsuite._pycrfsuite.Tagger.probability
ValueError: The numbers of items and labels differ: |x| = 12, |y| = 73

Для Tagger.marginal () я могу выдавать только ошибку, аналогичную первой ошибке, показанной в Tagger.probabilit ().

enter image description here

Есть какие-нибудь подсказки, как использовать эти 3 метода? Пожалуйста, дайте мне краткий пример использования этих трех методов.

Я чувствую, что должен быть какой-то пример этих 3 методов, но я не смог найти один. Я смотрю в правильном месте. Это сайт, с которого я читаю документацию

Дополнительная информация: Я использую CliNER. в случае, если кто-то из вас знаком с этим.

https://python -crfsuite.readthedocs.io / ен / последний / pycrfsuite.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...