Около двух недель назад, из-за низкого спроса в моем проекте, мне был назначен совершенно необычный запрос: автоматически извлекать ответы из документов, основанных на машинном обучении.Я никогда не читал ничего о ML, AI или NLP, поэтому я в основном занимался этим в течение последних двух недель.
Когда речь идет о ML, большинство книг и рекомендаций, которые я нашелДо сих пор использовали язык и инструменты Python, поэтому я потратил первую неделю на изучение Python, NumPy, Scikit, Panda, Matplotlib и так далее.Затем на этой неделе я начал читать о самом НЛП, потратив несколько дней на чтение общих алгоритмов ML.
До сих пор я в основном читал о Bag of Words, используя TF-IDF (или просто подсчет терминов).) преобразовать слова в числовые представления и несколько методов, таких как гауссовские и многочленные наивные байесовские методы для обучения и прогнозирования значений.Методы также указывают на важность использования обычных методов предварительной обработки, таких как лемматизация и тому подобное.Тем не менее, в основном все примеры предполагают, что данный текст можно классифицировать в одной из разделенных на категории тем, например, в случае использования анализа настроений.Боюсь, это не соответствует моему варианту использования, поэтому я хотел бы описать его здесь, чтобы вы могли помочь мне определить, какие методы мне следует искать.
У нас есть система с тысячамитранзакции / сделки вводятся вручную специализированной командой.Каждая сделка имеет набор документов (обычно десяток на сделку), а некоторые документы могут содержать сотни страниц.Команда ввода должна извлечь около тысячи полей из этих документов для любой конкретной сделки.Итак, в нашей базе данных у нас есть все их данные, и мы, как правило, также знаем специфические фрагменты документа, связанные с каждым значением поля.
Итак, моя задача состоит в том, чтобы, учитывая новый документ и сделку, и основываясь на предыдущемответы, заполните как можно больше полей, автоматически найдя соответствующие фрагменты в новых документах.Я не уверен, как мне следует подходить к этой проблеме.
Например, я мог бы рассматривать каждое предложение документа как отдельный документ для анализа и сравнения с фрагментами, которые у меня уже есть для соответствующих данных.Однако я не могу быть уверен, что некоторые из этих предложений действительно ответят на вопрос.Например, возможно, в документах есть 6 вхождений, которые ответили бы на конкретный вопрос / поле, но, возможно, авторы ввода указали только 2 или 3 из них.
Кроме того, для любого данного предложения можно сказать, чтоответом для данного поля является A или B, или может быть, что нет абсолютно никакой связи между предложением и полем / вопросом, как это было бы в случае большинства предложений.Я знаю, что Scikit предоставляет метод предиката_процесса, так что я могу попытаться считать предложение только актуальным, если, например, вероятность ответа на вопрос будет выше 80%, но на основе нескольких быстрых тестов, которые я сделал снесколько слов и слов, я подозреваю, что это не очень хорошо сработает.Кроме того, может быть довольно медленно обрабатывать каждое предложение документов объемом 500 сотен страниц как отдельный документ для анализа, поэтому я не уверен, что существуют лучшие методы для обработки этого варианта использования.
Некоторые из полей являются свободными текстами, например, названия компаний и фирм, и я подозреваю, что на них будет сложнее всего ответить, поэтому я пытаюсь начать с полей с множественным выбором, с конечным набором классификации.
Как бы вы посоветовали мне посмотреть на эту проблему?Существуют ли какие-либо алгоритмы, которые вы бы порекомендовали мне изучить для решения этой конкретной проблемы?
Пожалуйста, простите меня за любые неточные / неправильные термины или понимание по этой теме, поскольку это все очень ново для меня.Спасибо за любую помощь, спасибо.
Обновление: меня попросили более подробную информацию, поэтому вы здесь.
Одно из полей называется «Структура сделки» и может иметь следующие значения: «Покупка активов», «Покупка акций или акций» или «Слияние с публичными целями» (есть несколько других, но это дает вам идея).
Итак, вот несколько предложений, выделенных для сделок слияния с публичными целями (эти документы поступают из публичной базы данных Edgar Filings, которые свободно доступны для сделок в США):
сделка 1 / документ 1:
«СОГЛАШЕНИЕ И ПЛАН СЛИЯНИЯ от 14 марта 2018 года (настоящее« Соглашение »), заключенное между корпорацией HarborOne Bancorp, Inc., Массачусетская корпорация (« Покупатель »), Massachusetts Acquisitions, LLC, Мэриленд, общество с ограниченной ответственностью который Покупатель является единственным участником («Merger LLC»), и Coastway Bancorp, Inc., корпорация в Мэриленде («Компания»). "
«ПОСКОЛЬКУ, Покупатель, ООО« Слияние »и Компания намерены осуществить слияние (« Слияние ») ООО« Слияние »с Компанией и в ее состав в соответствии с настоящим Соглашением и Законом об общих корпорациях штата Мэриленд (« MGCL ») и Закон о компаниях с ограниченной ответственностью штата Мэриленд с внесенными в него поправками («MLLCA»), в котором Компания является выжившим лицом в результате слияния. За слиянием немедленно последует слияние Компании с покупателем и в него («Слияние в восходящем направлении»). »), При этом Покупатель является выжившим лицом в Слиянии в восходящем потоке. Предполагается, что Слияние будет взаимозависимым и является прецедентом для Слияния в восходящем направлении и что Слияние в восходящем направлении должно, посредством обязательного обязательства, подтвержденного настоящим Соглашением, вступать в силу немедленно после вступления в силу (как определено ниже) без дальнейшего одобрения, разрешения или направления со стороны или любой из сторон настоящего Соглашения, а также "
сделка 2 / документ 1:
"ПОСКОЛЬКУ также предлагается, чтобы, как только это стало практически возможным после реализации Предложения, Стороны хотели бы осуществить приобретение Компании Материнской компанией путем слияния Покупателя с Компанией и в нее, при этом Компания является выживающее существо («Слияние»); "
Теперь для сделок по покупке активов:
сделка 3 / документ 1:
"В соответствии с положениями и условиями настоящего Соглашения, Продавцы готовы продать Покупателю, а Покупатель готов приобрести у Продавцов все свои активы, относящиеся к Бизнесу, как указано в настоящем документе."
сделка 4 / документ 1:
"ПОСКОЛЬКУ Продавец желает продать и переуступить Покупателю, а Покупатель желает приобрести и принять от Продавца права и обязанности Продавца по приобретенным активам (согласно определению в настоящем документе) в соответствии с условиями, изложенными в настоящем документе. . "
Я надеюсь, что эти примеры могут помочь в определении проблемы, пожалуйста, дайте мне знать в комментариях и ответах, если вам нужно больше деталей.