Size: a a a

Natural Language Processing

2021 August 10

TM

Toemik Mnemonic in Natural Language Processing
Ребята, какой наиболее универсальных подход к чистке контекста от  не цифр и от небуквенных символов? В стеке  SpaCy, подумали о проверке  через
token.is_alpha
но это выкинет и токены с цифрами. Грубо говоря нужно убивать
'1ый!$#& переулок д!!!!2%'
, но не  
'1ый переулок д2'
пусть пример вас не смущает, в нашей задаче это не NER'ы
источник

TM

Toemik Mnemonic in Natural Language Processing
ну кроме очевидного - регэксы
источник

IS

Ivan Stankov in Natural Language Processing
Еще очевиднее, посимвольно выбивать non Ascii символы)

В пайтоне смотри для символа фичу вида ord()
источник

IG

Ilya Gusev in Natural Language Processing
token.isalnum? :D
источник

IG

Ilya Gusev in Natural Language Processing
а non ascii выкинет кириллицу
источник

TM

Toemik Mnemonic in Natural Language Processing
что то не вижу такого поля или метода у токена)
источник

IG

Ilya Gusev in Natural Language Processing
источник

IG

Ilya Gusev in Natural Language Processing
то есть token.text.isalnum()
источник

KV

Kirill V in Natural Language Processing
возможно, не самый элегантный способ, но если известен конечный набор того, от чего надо очистить, то:

import string
#print(string.punctuation) # ← здесь дефолтные фильтры, их не оч много.
spec_chars = string.punctuation + '\n\xa0«»\t—…'
clean_text = " ".join([ch for ch in text if ch not in spec_chars])
источник

TM

Toemik Mnemonic in Natural Language Processing
Спасибо, я смотрел примерно в эту сторону, но тоже подумал что может есть что то элегантнее. @YallenGusev вот и подсказал что следовало бы в стандартную библиотеку заглядывать))
источник
2021 August 11

SS

Sergey Shulga in Natural Language Processing
Такой вопрос, есть текстовый файл, в котором находится несколько типов документов (акт сдачи-приемки, счёт-фактура, договор купли-продажи, приложения к нему и т.д.). Как это разделить на отдельные файлы? Что посоветуете? Перечень всех возможных документов известен.
источник

OB

Olga Bystrova in Natural Language Processing
Если каждый документ лежит на новой странице, то можно с помощью бинарного классификатора (является ли текст на новой странице продолжением документа на предыдущей странице) сегментировать один файл на несколько, но понадобится разметка для обучения.  Если задача ещё в том, чтобы отдельно положить счета-фактуры, отдельно акты и т.д., то получившийся набор документов классифицировать по шапке документа.  На ods выступали со схожей задачей из ВТБ осенью.
источник

SS

Sergey Shulga in Natural Language Processing
Да, задача как раз положить отдельно
источник

SS

Sergey Shulga in Natural Language Processing
Блин, разметка это сложно. Для данной задачи у меня в моменте нет большой выборки (
источник

AF

Alexander Fedorenko in Natural Language Processing
ИМХО самый простой способ.
суть идеи - для каждой пустой формы (бланка документов) считаете свой мешок слов.
Проверяете на всякий случай, что нет одинаковых мешков слов и вот вам критерий для типа.
По каждому документу считаете мешок слов и сверяете с мешками слов, которые посчитали для пустых бланков.
источник

NK

Nikolay Karelin in Natural Language Processing
Желательно хоть по десятку доков каждого типа разметить, дальше хоть бы TF-IDF. Но без разметки мультиков не будет.
источник

SS

Sergey Shulga in Natural Language Processing
Это позволяет типизировать документы, но не решает проблему деления на документы. Если у меня идут два документа одного типа подряд, то такой подход не сработает.
источник

TM

Toemik Mnemonic in Natural Language Processing
Может быть через  мешки / similarity строить на заголовках , последних n токенах каждого документа , а по условию что между  [0:n-1] и n упаковывать в файл с шапкой и последними токенами .
источник

NK

Nikolay Karelin in Natural Language Processing
Для разделения каждая страница становится документом ;)
источник

G

Gwyn_ny in Natural Language Processing
Ребята у вас есть запикленный лист со всеми именами и отчествами из СНГ, хотелось бы удалить всё из своих текстов?
источник