Для современных компаний, которые имеют дело с огромными объемами документов, таких как контракты, счета-фактуры, резюме и отчеты, эффективная обработка и извлечение соответствующих данных имеет решающее значение для поддержания конкурентного преимущества. Однако традиционные методы хранения и поиска документов могут отнимать много времени и часто приводить к большим усилиям по поиску конкретного документа, особенно если они содержат рукописный ввод. Что, если бы существовал способ разумной обработки документов и обеспечения возможности поиска по ним с высокой точностью?
Это стало возможным благодаря Амазонка Текст, сервис интеллектуальной обработки документов AWS в сочетании с возможностями быстрого поиска Открытый поиск. В этой статье мы познакомим вас с быстрым созданием и развертыванием решения для индексирования поиска документов, которое поможет вашей организации лучше использовать и извлекать ценную информацию из документов.
Независимо от того, работаете ли вы в отделе кадров и ищете конкретные положения в контрактах с сотрудниками, или являетесь финансовым аналитиком, просматривающим гору счетов для извлечения данных о платежах, это решение создано специально для того, чтобы предоставить вам доступ к необходимой вам информации с беспрецедентной скоростью и точностью.
Благодаря предлагаемому решению ваши документы автоматически загружаются, их содержимое анализируется и впоследствии индексируется в быстро реагирующий и масштабируемый индекс OpenSearch.
Мы расскажем, как такие технологии, как Amazon Textract, AWS Lambda, Простой сервис хранения Amazon (Амазон S3) и Сервис Amazon OpenSearch может быть интегрирован в рабочий процесс, обеспечивающий беспрепятственную обработку документов. Затем мы углубимся в индексацию этих данных в OpenSearch и продемонстрируем возможности поиска, которые становятся доступными у вас под рукой.
Независимо от того, делает ли ваша организация первые шаги в эпоху цифровой трансформации или является признанным гигантом, стремящимся ускорить поиск информации, это руководство станет вашим компасом для использования возможностей, которые предлагают AWS Intelligent Document Processing и OpenSearch.
Ассоциация реализация используемый в этом посте, использует Конструкции Amazon Text IDP CDK – Компоненты AWS Cloud Development Kit (CDK) для определения инфраструктуры для рабочих процессов интеллектуальной обработки документов (IDP), которые позволяют создавать настраиваемые рабочие процессы IDP для конкретных сценариев использования. Конструкции и примеры IDP CDK представляют собой набор компонентов, позволяющих определять процессы IDP на AWS и публикуемых в GitHub. Основными используемыми концепциями являются AWS. Комплект облачной разработки (CDK) конструкции, фактические CDK-стеки и Шаговые функции AWS. Мастерская Используйте машинное обучение для автоматизации и обработки документов в большом масштабе является хорошей отправной точкой, чтобы узнать больше о настройке рабочих процессов и использовании других примеров рабочих процессов в качестве основы для своих собственных.
Обзор решения
В этом решении мы фокусируемся на индексировании документов в индексе OpenSearch для быстрого поиска и получения информации и документов. Документы в формате PDF, TIFF, JPEG или PNG помещаются в Amazon Simple Storage Service (Amazon S3) и впоследствии индексируется в OpenSearch с помощью рабочего процесса Step Functions.
Ассоциация OpenSearchWorkflow-решитель просматривает документ и проверяет, что он относится к одному из поддерживаемых типов MIME (PDF, TIFF, PNG или JPEG). Он состоит из одного AWS Lambda функции.
Ассоциация Разделитель документов генерирует из документов фрагмент объемом не более 2500 страниц. Это означает, что, хотя Amazon Textract поддерживает документы объемом до 3000 страниц, вы можете передавать документы с гораздо большим количеством страниц, и процесс по-прежнему работает нормально, помещает страницы в OpenSearch и создает правильные номера страниц. Разделитель документов реализован как функция AWS Lambda.
Ассоциация Состояние карты обрабатывает каждый фрагмент параллельно.
Ассоциация TextAsync задача вызывает Amazon Textract, используя асинхронный Интерфейс прикладного программирования (API) после лучшие практики с простой службой уведомлений Amazon (Amazon соцсети) уведомления и Выходная конфигурация для сохранения выходных данных Amazon Textract JSON в корзине Amazon S3 клиента. Он состоит из двух функций Amazon Lambda: одна для отправки документа на обработку, а другая активируется при уведомлении Amazon SNS.
Потому что ТексттрактАсиЗадача nc может создавать несколько выходных файлов с разбивкой на страницы, ТекстрактАсинктоJSON2 процесс объединяет их в один файл JSON.
Контекст Step Functions обогащен информацией, которая также должна быть доступна для поиска в индексе OpenSearch в SetMetaData шаг. Пример реализации добавляет ORIGIN_FILE_NAME
, START_PAGE_NUMBER
и ORIGIN_FILE_URI
. Вы можете добавить любую информацию, чтобы расширить возможности поиска, например, информацию из других серверных систем, конкретные идентификаторы или классификационную информацию.
Ассоциация СоздатьOpenSearchBatch берет сгенерированный выходной JSON Amazon Textract, объединяет его с информацией из контекста, заданного SetMetaData, и подготавливает файл, оптимизированный для пакетного импорта в OpenSearch.
В OpenSearchPushInvoke, этот файл пакетного импорта отправляется в индекс OpenSearch и доступен для поиска. Эта функция AWS Lambda связана с aws-лямбда-opensearch построить из Решения AWS библиотеку, используя экземпляры m6g.large.search, OpenSearch версии 2.7 и настроив Amazon Elastic Block Service (Амазон ЭБС) размер тома общего назначения 2 (GP2) с 200 ГБ. Вы можете изменить конфигурацию OpenSearch в соответствии с вашими требованиями.
Финал ЗадачаOpenSearchMapping шаг очищает контекст, который в противном случае мог бы выйти за пределы Шаг Функции Квота of Максимальный размер ввода или вывода для задачи, состояния или выполнения.
Предпосылки
Для развертывания примеров вам понадобится учетная запись AWS, Комплект для разработки облака AWS (AWS CDK), требуется текущая версия Python и Docker. Вам нужны разрешения для развертывания шаблонов AWS CloudFormation. Нажмите на Реестр Amazon Elastic Container (Amazon ECR), создать Управление идентификацией и доступом Amazon (AWS IAM), функции Amazon Lambda, корзины Amazon S3, Amazon Step Functions, кластер Amazon OpenSearch и Амазон Когнито пул пользователей. Убедитесь, что ваш Среда AWS CLI настроена с соответствующими разрешениями.
Вы также можете раскрутить Облако AWS9 экземпляр с предварительно установленными AWS CDK, Python и Docker для начала развертывания.
Прохождение
развертывание
- После настройки предварительных условий вам необходимо сначала клонировать репозиторий:
- Затем перейдите в папку репозитория и установите зависимости:
- Разверните стек OpenSearchWorkflow:
Развертывание занимает около 25 минут с настройками конфигурации по умолчанию из примеров GitHub и создает рабочий процесс Step Functions, который вызывается, когда документ помещается в корзину/префикс Amazon S3, и впоследствии обрабатывается до тех пор, пока содержимое документа не будет проиндексировано. в кластере OpenSearch.
Ниже приведен пример вывода, включающий полезные ссылки и информацию, полученную изcdk deploy OpenSearchWorkflow
команда:
Эта информация также доступна в консоли AWS CloudFormation.
Когда новый документ помещается в OpenSearchWorkflow.DocumentUploadLocation, для этого документа запускается новый рабочий процесс «Шаговые функции».
Чтобы проверить статус этого документа, OpenSearchWorkflow.StepFunctionFlowLink предоставляет ссылку на список выполнений StepFunction в Консоли управления AWS, отображая статус обработки каждого документа, загруженного в Amazon S3. Учебное пособие Просмотр и отладка выполнения на консоли Step Functions предоставляет обзор компонентов и представлений в консоли AWS.
Тестирование
- Сначала проверьте файл-образец.
- Выбрав ссылку на рабочий процесс StepFunction или открыв Консоль управления AWS и перейдя на страницу сервиса Step Functions, вы сможете просмотреть различные вызовы рабочих процессов.
- Ознакомьтесь с текущим примером выполнения документа, где вы можете следить за выполнением отдельных задач рабочего процесса.
Поиск
После завершения процесса мы можем убедиться, что документ проиндексирован в индексе OpenSearch.
- Для этого сначала мы создаем пользователя Amazon Cognito. Amazon Cognito используется для аутентификации пользователей по индексу OpenSearch. Выберите ссылку в выходных данных развертывания cdk (или посмотрите файл AWS CloudFormation вывод в консоли управления AWS) с именем OpenSearchWorkflow.CognitoUserPoolLink.
- Затем выберите Создать пользователя Кнопка, которая направляет вас на страницу для ввода имени пользователя и пароля для доступа к панели управления OpenSearch.
- После выбора Создать пользователя, вы можете перейти к панели управления OpenSearch, нажав на значок OpenSearchWorkflow.OpenSearchDashboard из результатов развертывания CDK. Войдите, используя ранее созданные имя пользователя и пароль. При первом входе в систему вам придется сменить пароль.
- После входа в панель управления OpenSearch выберите Управление стеком раздел, а затем Индексный шаблонs для создания индекса поиска.
- Имя индекса по умолчанию: индекс статей и имя шаблона индекса индекс статей* будет соответствовать этому.
- После нажатия кнопки Следующий шаг, наведите на отметка времени как Поле времени и Создать шаблон индекса.
- Теперь в меню выберите Ознакомиться.
В большинстве случаев вам необходимо изменить временной интервал в соответствии с вашим последним приемом. Значение по умолчанию — 15 минут, и часто за последние 15 минут не было активности. В этом примере срок изменен на 15 дней, чтобы визуализировать прием.
- Теперь вы можете начать поиск. Роман был проиндексирован, вы можете искать по любым терминам, например зови меня Измаил и посмотреть результаты.
В этом случае термин зови меня Измаил появляется на странице 6 документа по заданному универсальному идентификатору ресурса (URI), который указывает на расположение файла в Amazon S3. Это позволяет быстрее идентифицировать документы и находить информацию в большом массиве документов PDF, TIFF или изображений по сравнению с их пропуском вручную.
Масштабный запуск
Чтобы оценить масштаб и продолжительность процесса индексирования, реализация была протестирована на 93,997 1,583,197 документах и общей сумме 16.84 3755 5.5 страниц (в среднем 1 страницы на документ и самый большой файл с XNUMX страницами), все которые были проиндексированы в OpenSearch. Обработка всех файлов и их индексация в OpenSearch заняла XNUMX часов в регионе Восток США (Северная Вирджиния – us-east-XNUMX) при использовании по умолчанию. Квоты сервиса Amazon Textract. На графике ниже показан первоначальный тест в 18:00, за которым следует основной прием в 21:00 и все завершено к 2:30.
Для обработки используется tcdk.SFExecutionsStartThrottle был установлен executions_concurrency_threshold
=550, что означает, что одновременные рабочие процессы обработки документов ограничены 550, а лишние запросы ставятся в очередь на Амазонка SQS Очередь «первым пришел — первым обслужен» (FIFO), которая впоследствии опорожняется после завершения текущих рабочих процессов. Пороговое значение в 550 основано на квоте Textract Service в 600 в регионе us-east-1. Таким образом, глубина очереди и возраст самого старого сообщения — это показатели, которые стоит отслеживать.
В этом тесте все документы были загружены в Amazon S3 одновременно, поэтому Приблизительное количество видимых сообщений имеет резкий рост, а затем медленное снижение, поскольку новые документы не принимаются. Приблизительный возраст самого старого сообщения увеличивается до тех пор, пока все сообщения не будут обработаны. Амазонка SQS Период хранения сообщения установлен на 14 дней. При очень длительной обработке невыполненной работы, которая может превышать 14 дней, начните с обработки меньшего подмножества репрезентативных документов и отслеживайте продолжительность выполнения, чтобы оценить, сколько документов вы можете передать, прежде чем превысите 14 дней. Метрики Amazon SQS CloudWatch выглядят аналогично для случая обработки большого количества невыполненных документов, которые принимаются сразу, а затем полностью обрабатываются. Если ваш вариант использования — постоянный поток документов, обе метрики, Приблизительное количество видимых сообщений и Приблизительный возраст самого старого сообщения будет более линейным. Вы также можете использовать пороговый параметр, чтобы смешать постоянную нагрузку с обработкой невыполненной работы и распределить мощность в соответствии с вашими потребностями в обработке.
Еще одна метрика, которую необходимо отслеживать, — это работоспособность кластера OpenSearch, которую следует настроить в соответствии с Лучшие практики работы с Amazon OpenSearch Service. В развертывании по умолчанию используются экземпляры m6g.large.search.
Вот снимок ключевых показателей эффективности (KPI) для кластера OpenSearch. Никаких ошибок, постоянная скорость индексации данных и задержка.
Выполнение рабочего процесса Step Functions показывает состояние обработки каждого отдельного документа. Если вы видите казни в Oшибка состояние, затем выберите детали. Хорошей метрикой для мониторинга является AWS. Автоматическая информационная панель CloudWatch для Step Functions, в котором раскрываются некоторые из Шаг Функции Метрики CloudWatch.
На этом графике панели мониторинга AWS CloudWatch показано успешное выполнение пошаговых функций с течением времени.
А на этом изображены неудавшиеся казни. Их стоит изучить в обзоре пошаговых функций консоли AWS.
На следующем снимке экрана показан один из примеров неудачного выполнения из-за того, что исходный файл имеет нулевой размер, что имеет смысл, поскольку файл не имеет содержимого и не может быть обработан. Важно фильтровать сбойные процессы и визуализировать сбои, чтобы вы могли вернуться к исходному документу и проверить основную причину.
Другие сбои могут включать документы, которые не относятся к типу mime: application/pdf, image/png, image/jpeg или image/tiff, поскольку другие типы документов не поддерживаются Amazon Textract.
Цена
Общая стоимость загрузки 1,583,278 XNUMX XNUMX страниц была разделена между сервисами AWS, использованными для реализации. Следующий список представляет собой приблизительные цифры, поскольку фактическая стоимость и продолжительность обработки варьируются в зависимости от размера документов, количества страниц в документе, плотности информации в документах и региона AWS. Amazon DynamoDB потреблял 0.55 доллара, Amazon S3 — 3.33 доллара, OpenSearch Service — 14.71 доллара, Step Functions — 17.92 доллара, AWS Lambda — 28.95 доллара и Amazon Textract — 1,849.97 доллара. Кроме того, имейте в виду, что развернутый кластер Amazon OpenSearch Service оплачивается почасово и при эксплуатации в течение определенного периода времени будет накапливать более высокие затраты.
изменения
Скорее всего, вы захотите изменить реализацию и настроить ее под свой вариант использования и документы. Мастерская Используйте машинное обучение для автоматизации и обработки документов в большом масштабе представляет собой хороший обзор того, как манипулировать реальными рабочими процессами, изменять их и добавлять новые компоненты. Чтобы добавить настраиваемые поля в индекс OpenSearch, посмотрите SetMetaData задачу в рабочем процессе с помощью установить-манифест-мета-данные-opensearch Функция AWS Lambda для добавления метаданных в контекст, которые будут добавлены в качестве поля в индекс OpenSearch. Любая информация метаданных станет частью индекса.
Убираться
Удалите примеры ресурсов, если они вам больше не нужны, чтобы избежать будущих затрат, используя команду Followin:
в той же среде, что и cdk deploy
команда. Помните, что при этом будет удалено все, включая кластер OpenSearch, все документы и корзину Amazon S3. Если вы хотите сохранить эту информацию, создайте резервную копию корзины Amazon S3 и создать снимок индекса из вашего кластера OpenSearch. Если вы обработали много файлов, вам, возможно, придется сначала очистить корзину Amazon S3 с помощью консоли управления AWS (т. е. после того, как вы сделали резервную копию или синхронизировали их с другой корзиной, если вы хотите сохранить информацию), поскольку функция очистки может истечь тайм-аут, а затем уничтожить стек AWS CloudFormation.
Заключение
В этом посте мы показали вам, как развернуть полнофункциональное решение для включения большого количества документов в индекс OpenSearch, которые готовы к использованию в сценариях поиска. Были обсуждены отдельные компоненты реализации, а также вопросы масштабирования, стоимости и вариантов модификации. Весь код доступен как OpenSource на GitHub как Образцы IDP CDK и как Конструкции IDP CDK создавать собственные решения с нуля. В качестве следующего шага вы можете начать изменять рабочий процесс, добавлять информацию к документам в индексе поиска и изучать семинар для внутренне перемещенных лиц. Пожалуйста, прокомментируйте ниже свой опыт и идеи по расширению текущего решения.
Об авторе
Мартин Шаде является Senior ML Product SA в команде Amazon Textract. Он имеет более чем 20-летний опыт работы с интернет-технологиями, инженерными и архитектурными решениями. Он присоединился к AWS в 2014 году, сначала консультируя некоторых из крупнейших клиентов AWS по наиболее эффективному и масштабируемому использованию сервисов AWS, а затем сосредоточился на искусственном интеллекте и машинном обучении, уделяя особое внимание компьютерному зрению. В настоящее время он одержим извлечением информации из документов.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Автомобили / электромобили, Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- ЧартПрайм. Улучшите свою торговую игру с ChartPrime. Доступ здесь.
- Смещения блоков. Модернизация права собственности на экологические компенсации. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/implement-smart-document-search-index-with-amazon-textract-and-amazon-opensearch/
- :имеет
- :является
- :нет
- :куда
- $3
- $UP
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 15%
- 16
- 17
- 20
- 20 лет
- 200
- 2014
- 216
- 220
- 25
- 30
- 3000
- 32
- 33
- 7
- 700
- 8
- 820
- 84
- 9
- a
- О нас
- доступ
- доступной
- доступа
- По
- Учетная запись
- скапливаться
- точность
- через
- деятельность
- фактического соединения
- Добавить
- добавленный
- добавить
- Добавляет
- После
- против
- возраст
- AI / ML
- Все
- выделять
- позволять
- причислены
- Amazon
- Амазон Когнито
- Сервис Amazon OpenSearch
- Амазонка Текст
- Amazon Web Services
- an
- аналитик
- и
- любой
- API
- появляется
- приблизительный
- МЫ
- около
- AS
- At
- Аутентификация
- автоматизировать
- Автоматический
- автоматически
- доступен
- в среднем
- избежать
- AWS
- AWS CloudFormation
- AWS Lambda
- Консоль управления AWS
- назад
- Backend
- Восстановление
- Использование темпера с изогнутым основанием
- основанный
- BE
- , так как:
- становиться
- до
- не являетесь
- ниже
- ЛУЧШЕЕ
- лучшие практики
- Лучшая
- берегись
- Заблокировать
- изоферменты печени
- строить
- кнопка
- by
- Объявления
- CAN
- возможности
- Пропускная способность
- случаев
- случаев
- Вызывать
- CD
- изменение
- менялась
- изменения
- проверка
- Выбирая
- классификация
- облако
- Кластер
- код
- лыжных шлемов
- комбинаты
- комментарий
- Компании
- сравненный
- Компас
- конкурентоспособный
- компоненты
- компьютер
- Компьютерное зрение
- понятия
- параллельный
- Конфигурация
- настроить
- подключенный
- соображения
- состоит
- Консоли
- постоянная
- строить
- Container
- содержание
- контекст
- продолжать
- контрактов
- исправить
- Цена
- Расходы
- может
- соединенный
- чехол для варгана
- Создайте
- создали
- создает
- критической
- Текущий
- В настоящее время
- изготовленный на заказ
- клиент
- Клиенты
- настраиваемый
- настроить
- приборная панель
- щитки
- данным
- Дней
- сделка
- Отклонить
- По умолчанию
- определять
- определение
- демонстрировать
- Зависимости
- в зависимости
- развертывание
- развернуть
- развертывание
- глубина
- уничтожить
- подробнее
- Развитие
- Диалог
- различный
- Интернет
- цифровое преобразование
- обнаружить
- обсуждается
- отображать
- погружение
- do
- Docker
- документ
- Документация
- сделанный
- осушенных
- два
- продолжительность
- e
- каждый
- восток
- Edge
- эффективный
- эффективно
- усилие
- Сотрудник
- расширение прав и возможностей
- включить
- Проект и
- огромный
- обогащать
- обогащенный
- Enter
- Окружающая среда
- Эпоха
- ошибки
- особенно
- установленный
- оценка
- Даже
- многое
- пример
- превышать
- превышение
- избыток
- выполнение
- Расширьте
- опыт
- Больше
- извлечение
- Oшибка
- БЫСТРО
- быстрее
- поле
- Поля
- фигура
- Файл
- Файлы
- фильтр
- окончательный
- финансовый
- Найдите
- конец
- Кончики пальцев
- окончание
- Во-первых,
- первые шаги
- Впервые
- поток
- Фокус
- внимание
- следовать
- следует
- после
- Что касается
- формат
- от
- полный
- Полный стек
- полностью
- функция
- Функции
- будущее
- Общие
- генерируется
- генерирует
- получающий
- гигант
- GitHub
- данный
- Go
- будет
- хорошо
- график
- инструкция
- упряжь
- Есть
- имеющий
- he
- Медицина
- помогает
- High
- высший
- очень
- час
- ЧАСЫ
- Как
- How To
- Однако
- HTML
- HTTPS
- человек
- Набор персонала
- i
- идеи
- идентификатор
- определения
- Личность
- идентификаторы
- if
- изображение
- осуществлять
- реализация
- в XNUMX году
- Импортировать
- важную
- in
- включают
- В том числе
- Увеличение
- Увеличивает
- индекс
- индексированный
- индикаторы
- individual
- информация
- Инфраструктура
- начальный
- инициировать
- вход
- размышления
- устанавливать
- пример
- интегрированный
- Умный
- Интеллектуальная обработка документов
- в
- расследование
- вызывается
- IT
- присоединился
- путешествие
- JPG
- JSON
- Сохранить
- Основные
- большой
- крупнейших
- Фамилия
- Задержка
- новее
- УЧИТЬСЯ
- изучение
- Библиотека
- такое как
- Вероятно
- LINK
- связи
- Список
- загрузка
- расположение
- Войти
- Войти
- Длинное
- дольше
- посмотреть
- искать
- ВЗГЛЯДЫ
- машина
- обучение с помощью машины
- сделанный
- Главная
- поддерживать
- Сохранение
- сделать
- ДЕЛАЕТ
- управление
- вручную
- многих
- Совпадение
- максимальный
- Май..
- me
- означает
- Меню
- сообщение
- Сообщения
- методы
- метрический
- Метрика
- может быть
- против
- Минут
- смешивать
- ML
- Модерн
- изменять
- монитор
- Мониторинг
- БОЛЕЕ
- самых
- гора
- с разными
- имя
- Названный
- навигационный
- Необходимость
- потребности
- Новые
- следующий
- нет
- уведомление
- Уведомления
- роман
- номер
- номера
- of
- предлагают
- .
- самый старший
- on
- консолидировать
- ONE
- открытый
- с открытым исходным кодом
- Возможности
- оптимизированный
- Опции
- or
- заказ
- организация
- происхождения
- Другое
- в противном случае
- внешний
- выходной
- за
- обзор
- собственный
- страница
- страниц
- Параллельные
- параметр
- часть
- pass
- Пароль
- шаблон
- паттеранами
- оплата
- для
- производительность
- период
- Разрешения
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пожалуйста
- Точка
- пунктов
- бассейн
- возможное
- После
- практиками
- Готовит
- предпосылки
- разрабатывает
- предварительно
- процесс
- Обработанный
- Процессы
- обработка
- производит
- Продукт
- Программирование
- предложило
- приводит
- опубликованный
- цель
- Push
- положил
- Оферты
- Питон
- САЙТ
- быстро
- Обменный курс
- готовый
- область
- Отчеты
- хранилище
- представитель
- Запросы
- обязательный
- Требования
- ресурс
- Полезные ресурсы
- отзывчивый
- результат
- Итоги
- сохранять
- роли
- корень
- Run
- Бег
- SA
- то же
- масштабируемые
- Шкала
- масштабирование
- поцарапать
- легко
- Поиск
- поиск
- Раздел
- посмотреть
- поиск
- выбор
- старший
- смысл
- послать
- служит
- обслуживание
- Услуги
- набор
- настройки
- установка
- должен
- показывать
- показал
- Шоу
- аналогичный
- просто
- Размер
- медленной
- меньше
- умный
- Снимок
- So
- Решение
- Решения
- некоторые
- Источник
- конкретный
- скорость
- Вращение
- раскол
- стек
- Начало
- и политические лидеры
- Начало
- Область
- Области
- Статус:
- устойчивый
- Шаг
- Шаги
- По-прежнему
- диск
- магазин
- хранение
- отправить
- впоследствии
- успешный
- такие
- Поддержанный
- Поддержка
- Убедитесь
- системы
- с учетом
- взять
- принимает
- с
- Сложность задачи
- задачи
- команда
- технологии
- шаблоны
- срок
- terms
- тестXNUMX
- проверенный
- текст
- который
- Ассоциация
- График
- информация
- Источник
- Государство
- их
- Их
- тогда
- Там.
- следовательно
- Эти
- они
- этой
- хоть?
- порог
- Через
- к
- время
- кропотливый
- в
- приняли
- Всего
- традиционный
- трансформация
- срабатывает
- учебник
- два
- напишите
- Типы
- под
- беспрецедентный
- до
- загружено
- us
- использование
- прецедент
- используемый
- Информация о пользователе
- пользователей
- использования
- через
- использует
- VALIDATE
- ценностное
- версия
- очень
- Просмотры
- Виргиния
- видение
- визуализации
- объем
- тома
- хотеть
- законопроект
- Путь..
- we
- Web
- веб-сервисы
- ЧТО Ж
- были
- Что
- когда
- , которые
- будете
- рабочий
- Рабочие процессы
- работает
- семинар
- Семинары
- стоимость
- лет
- Ты
- ВАШЕ
- зефирнет