Williams Mullen mejora la productividad con ML.NET
Cliente
Williams Mullen
Productos y servicios
ML.NET
Azure
Visual Studio
SQL Server
Office 365
Sector
Despacho de abogados / Servicios profesionales
Tamaño de la organización
Mediano (100-1000 empleados)
País o región
EE. UU.
Williams Mullen, un bufete de abogados corporativos de servicio completo que se especializa en derecho corporativo, litigios, finanzas y bienes raíces, se dio cuenta de que tener a los abogados revisando millones de documentos les quitaba tiempo para trabajar realmente para sus clientes. Esto llevó a la empresa a investigar una solución de aprendizaje automático. Una vez que se dieron cuenta de que muchos de sus problemas eran realmente problemas de clasificación, decidieron explorar más a fondo con ML.NET.
Problema empresarial
En lo que respecta a la tecnología, los abogados residen principalmente en dos aplicaciones: Word y Outlook. Esto se traduce en una cantidad bastante grande de datos no estructurados en forma de documentos, archivos PDF y correos electrónicos de Word que se colocan en un sistema de administración de documentos, que puede contener décadas de información digital. Esto se convierte en un desafío cuando los abogados quieren encontrar información específica en estos documentos, lo que hacen mediante la búsqueda de metadatos de documentos en los que a menudo falta información, es incorrecta o está obsoleta.
Debido a este proceso manual, Óscar Padilla descubrió que millones de documentos tenían problemas que impedían que se pudieran buscar fácilmente, lo que hacía perder tiempo a los abogados y contribuía a la pérdida de ingresos.
¿Por qué ML.NET?
El sector legal está más bien centrado en Microsoft en lo que respecta a las opciones tecnológicas. Williams Mullen no es diferente; sus desarrolladores son grandes usuarios de C#. Estos han empezado a buscar soluciones de aprendizaje automático aproximadamente al mismo tiempo que se anunciaba ML.NET, por lo que era una opción natural empezar a usar ML.NET para su escenario de clasificación.
Impacto de ML.NET
A través de su investigación, William Mullen descubrió que el 20% de los documentos de su sistema (por ejemplo, millones de documentos) tenían problemas que impedían que los documentos fueran fácilmente buscables, lo que hacía perder tiempo a los abogados y contribuía a la pérdida de ingresos. Si no fuera por ML.NET, la empresa no habría emprendido el proyecto en absoluto, o habría tenido que retirar a personas del trabajo real para arreglar manualmente estos problemas, lo que podría haber supuesto un coste de cientos de miles de dólares para el proyecto.
"Con ML.NET, podemos entrenar el modelo y, a continuación, probarlo inmediatamente dentro de nuestro código. Esto hace que el envío de nuevos cambios sea más rápido porque todas las herramientas están juntas en un solo lugar."
Arquitectura de la solución
Creación de una aplicación con ML.NET
La arquitectura es solo dos aplicaciones de consola de .NET Core y una base de datos. Una aplicación de consola extrae los datos de entrenamiento, prepara los datos y entrena el modelo. La otra aplicación de consola extrajo los datos necesarios para ejecutar el modelo, cargó el modelo para clasificar los datos y lo quitó antes de volver a colocar los datos en la base de datos.
Lo bueno de este proyecto era tan simple como empezar a trabajar, por lo que no necesitábamos nada más complejo. Quiero decir que la aplicación de entrenamiento era un total de 200 líneas de código, con comentarios, registro, etc. y la aplicación para ejecutar el modelo era incluso más pequeña. La mayor parte de todo esto era el código de transformación que entraba en 13 líneas de código."
Procesamiento de datos
Los datos del entrenamiento, que son aproximadamente 2 millones de documentos, proceden del sistema de administración de documentos del estudio de abogados. Los propios datos incluyen contenido del documento, el título, el autor, el destinatario (para los correos electrónicos) y otros bits de metadatos en función de los campos que se limpien.
Transformaciones de datos y algoritmos de aprendizaje automático
Williams Mullen ha probado varias transformaciones de datos y algoritmos de entrenamiento diferentes en un par de aplicaciones distintas. Las transformaciones de datos incluyen NormalizeText, TokenizeWords, RemoveDefaultStopWords, OneHotHashEncoding, FeaturizeText, ExtractWordEmbeddings y ProduceNGrams. Para el entrenamiento, se usan principalmente los algoritmos de clasificación StochasticDualCoordinateAscent y OneVersusAll.
Al usar los algoritmos y transformaciones de datos de ML.NET para crear una solución de aprendizaje automático, Óscar Padilla ha podido hacer que millones de documentos sean más fáciles de buscar, lo que a su vez ha ayudado a que sus abogados sean más productivos.
¿Listo para empezar?
Nuestro tutorial paso a paso le ayudará a ejecutar ML.NET en su equipo.