fiddenmar / pybico_crf Goto Github PK
View Code? Open in Web Editor NEWpybico crf
pybico crf
Необходимо добавить еще один тип для аргумента -i - doc и реализовать обработку doc(x) файлов.
Передача библиографической записи для обработки через аргумент командной строки
Добавить новые зависимости и варианты применения
Добавить возможность передачи через аргумент командной строки имени файла для построчной обработки библиографических записей.
Если вызвать python pybico_crf.py -u 12
то это пройдёт, и не выведет никакого сообщения об ошибке, хотя на самом деле аргументы user и password нужны только, когда "-l" тоже есть.
Также при вызове с любым аргументом кроме -b не происходит никаких проверок на то, что мы действительно передали inputString.
Необходимо добавить зависимость между командными аргументами:
-b - обязателен всегда;
-u и -p - обязательны при -l;
и т.д.
При команде: python pybico_crf.py -a
выводит:
usage: python3 pybico_crf.py [-s ]
На самом деле этот файл поддерживает другие/больше командных аргументов, чем написано в usage.
Проверить работоспособность проекта на дистрибутиве Linux Debian Jessie (Stable).
Составление ТЗ к программе.
Добавить в проект новый файл doc2text.py, добавить в него метод doc2text, преобразующий файл doc или docx в plain text.
При вызове python learn.py каждый раз выводится сообщение:
D:\Programs\python\lib\site-packages\sklearn\cross_validation.py:43: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored class
es and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
"This module will be removed in 0.20.", DeprecationWarning)
D:\Programs\python\lib\site-packages\sklearn\grid_search.py:43: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes an
d functions are moved. This module will be removed in 0.20.
DeprecationWarning)
Так как, это будет затруднять будущую разработку (deprecated модули будут удалены), то лучше избавиться от их использования сейчас
При запуске python learn.py выдаёт следующую ошибку.
Traceback (most recent call last):
File "learn.py", line 18, in
token_lines = file_with_tokens.readlines()
File "D:\Programs\python\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 29: character maps to
Workaround: Изменить кодировку tokens на 1251.
Скорее всего вам необходимо прописать вручную с помощью какой кодировки открывать файл.
Исправить опечатку (sentance -> sentence).
flat_classification_report получает на вход два массива - массив истинных значений и массив предположений.
Сейчас в нее передается массив слов и массив меток, но такая метрика не совсем верна, так как если, к примеру, в названии статьи одно слово распознано неверно, то все название распознано неверно.
Нужно обработать входные данные (массивы y_test и y_pred) таким образом, чтобы flat_classification_report выдавал долю правильно обработанных подклассов (Авторы, Название статьи, Название журнала, Издание, Год, Cтраницы и т.д.), а не слов.
Необходимо продемонстрировать работу приложения на следующей презентации.
Резюме на проект, который мы тестировали.
Можно написать/использовать существующий алгоритм распознавания кодировки, чтобы пользователь не занимался лишней работой (и не ошибался) по выбору из списка.
Ожидается, что список поддерживаемых кодировок будет содержать бОльшую часть кириллических для удобства пользователя.
Сейчас функция predict обрабатывает одну библиографическую запись (массив слов).
Нужно переименовать ее в predict_one и написать функцию predict, обрабатывающую массив библиографических записей (массив массивов слов).
Если вызываешь python pybico_crf.py -l
то получаешь сообщение:
Traceback (most recent call last):
File "pybico_crf.py", line 77, in
publication = compose_publication(result)
File "pybico_crf.py", line 29, in compose_publication
authors = Author.parse_authors(grouped_publication.get("T_AUTHOR"))
File "D:\src\univer\kononova\pybico_crf\author.py", line 8, in parse_authors
authors = string.split(', ')
AttributeError: 'NoneType' object has no attribute 'split'
Это также происходит, когда в целом авторы не нашлись (потому что проблема как раз в этом насколько я понял)
Сейчас doc2text.py возвращает слепленные через ; ячейки. Нужно добавить пробел после точки с запятой.
В readme.md стоит sklearn-crfsuite, а в коде sklearn_crfsuite, выяснилось, что это разные пакеты
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.