El análisis del lenguaje basado en IA ha pasado recientemente por un “cambio de paradigma” (Bommasani et al., 2021, p. 1), gracias en parte a una nueva técnica denominada modelo de lenguaje transformador (Vaswani et al., 2017, Liu et al. al., 2019). Las empresas, incluidas Google, Meta y OpenAI, han lanzado tales modelos, incluidos BERT, RoBERTa y GPT, que han logrado grandes mejoras sin precedentes en la mayoría de las tareas lingüísticas, como la búsqueda net y el análisis de sentimientos. Si bien estos modelos de lenguaje son accesibles en Python, y para tareas típicas de IA a través de AbrazandoCarael paquete R textual content
hace que HuggingFace y los modelos de lenguaje transformador de última generación sean accesibles como canalizaciones científicas sociales en R.
Introducción
desarrollamos el textual content
paquete (Kjell, Giorgi y Schwartz, 2022) con dos objetivos en mente: Servir como una solución modular para descargar y usar modelos de lenguaje transformador. Esto, por ejemplo, incluye la transformación de incrustaciones de texto en palabras, así como el acceso a tareas comunes del modelo de lenguaje, como la clasificación de texto, el análisis de opiniones, la generación de texto, la respuesta a preguntas, la traducción, and so forth. Proporcionar una solución integral que esté diseñada para análisis a nivel humano, incluidas canalizaciones para técnicas de IA de última generación diseñadas para predecir las características de la persona que produjo el idioma o para obtener información sobre los correlatos lingüísticos de los atributos psicológicos.
Esta publicación de weblog muestra cómo instalar el textual content
paquete, transforme el texto en incrustaciones de palabras contextuales de última generación, use tareas de análisis de lenguaje y visualice palabras en el espacio de incrustación de palabras.
Instalación y configuración de un entorno python
Él textual content
El paquete está configurando un entorno de python para obtener acceso a los modelos de lenguaje HuggingFace. La primera vez después de instalar el textual content
paquete que necesita para ejecutar dos funciones: textrpp_install()
y textrpp_initialize()
.
# Set up textual content from CRAN
set up.packages("textual content")
library(textual content)
# Set up textual content required python packages in a conda atmosphere (with defaults)
textrpp_install()
# Initialize the put in conda atmosphere
# save_profile = TRUE saves the settings so that you just shouldn't have to run textrpp_initialize() once more after restarting R
textrpp_initialize(save_profile = TRUE)
Ver el guía de instalación extendida para más información.
Transformar incrustaciones de texto a palabra
Él textEmbed()
La función se utiliza para transformar texto en incrustaciones de palabras (representaciones numéricas de texto). Él mannequin
El argumento le permite establecer qué modelo de lenguaje usar desde HuggingFace; si no ha usado el modelo antes, descargará automáticamente el modelo y los archivos necesarios.
# Remodel the textual content knowledge to BERT phrase embeddings
# Observe: To run sooner, strive one thing smaller: mannequin = 'distilroberta-base'.
word_embeddings <- textEmbed(texts = "Hiya, how are you doing?",
mannequin = 'bert-base-uncased')
word_embeddings
remark(word_embeddings)
La palabra incrustaciones ahora se puede usar para tareas posteriores, como modelos de entrenamiento para predecir variables numéricas relacionadas (por ejemplo, consulte el textoTren() y Predecirtexto() funciones).
(Para obtener el token y la salida de capas individuales, consulte el textEmbedRawLayers() función.)
Hay muchos modelos de lenguaje transformador en HuggingFace que se pueden usar para diversas tareas de modelos de lenguaje, como clasificación de texto, análisis de sentimientos, generación de texto, respuesta a preguntas, traducción, and so forth. Él textual content
El paquete comprende funciones fáciles de usar para acceder a estos.
classifications <- textClassify("Hiya, how are you doing?")
classifications
remark(classifications)
generated_text <- textGeneration("The that means of life is")
generated_text
Para obtener más ejemplos de tareas de modelos de lenguaje disponibles, por ejemplo, consulte sumatexto(), textoQA(), textTranslate()y textoZeroShot() por debajo Tareas de análisis de lenguaje.
Visualización de palabras en el textual content
El paquete se logra en dos pasos: primero con una función para preprocesar los datos y segundo para trazar las palabras, incluido el ajuste de características visuales como el colour y el tamaño de fuente. Para demostrar estas dos funciones usamos datos de ejemplo incluidos en el textual content
paquete: Language_based_assessment_data_3_100
. Mostramos cómo crear una figura bidimensional con palabras que las personas han usado para describir su armonía en la vida, trazadas de acuerdo con dos cuestionarios de bienestar diferentes: la escala de armonía en la vida y la escala de satisfacción con la vida. Entonces, el eje x muestra palabras que están relacionadas con puntajes de escala de armonía en la vida bajos versus altos, y el eje y muestra palabras relacionadas con puntajes de escala de satisfacción con la vida bajos versus altos.
word_embeddings_bert <- textEmbed(Language_based_assessment_data_3_100,
aggregation_from_tokens_to_word_types = "imply",
keep_token_embeddings = FALSE)
# Pre-process the info for plotting
df_for_plotting <- textProjection(Language_based_assessment_data_3_100$harmonywords,
word_embeddings_bert$textual content$harmonywords,
word_embeddings_bert$word_types,
Language_based_assessment_data_3_100$hilstotal,
Language_based_assessment_data_3_100$swlstotal
)
# Plot the info
plot_projection <- textProjectionPlot(
word_data = df_for_plotting,
y_axes = TRUE,
p_alpha = 0.05,
title_top = "Supervised Bicentroid Projection of Concord in life phrases",
x_axes_label = "Low vs. Excessive HILS rating",
y_axes_label = "Low vs. Excessive SWLS rating",
p_adjust_method = "bonferroni",
points_without_words_size = 0.4,
points_without_words_alpha = 0.4
)
plot_projection$final_plot
Esta publicación demuestra cómo llevar a cabo un análisis de texto de última generación en R usando el textual content
paquete. El paquete pretende facilitar el acceso y el uso de modelos de lenguaje de transformadores de HuggingFace para analizar el lenguaje pure. Esperamos sus comentarios y contribuciones para que dichos modelos estén disponibles para las aplicaciones científicas sociales y otras más típicas de los usuarios de R.
- Bommasani et al. (2021). Sobre las oportunidades y riesgos de los modelos de fundación.
- Kjell et al. (2022). El paquete de texto: un paquete R para analizar y visualizar el lenguaje humano mediante el procesamiento del lenguaje pure y el aprendizaje profundo.
- Liu et al. (2019). Roberta: Un enfoque de preentrenamiento de bert sólidamente optimizado.
- Vaswaniet al (2017). La atención es todo lo que necesitas. Avances en los sistemas de procesamiento de información neuronal, 5998–6008
correcciones
Si ve errores o desea sugerir cambios, por favor crear un problema en el repositorio fuente.
Reutilizar
El texto y las figuras tienen licencia de Artistic Commons Attribution CC POR 4.0. El código fuente está disponible en https://github.com/OscarKjell/ai-blog, a menos que se indique lo contrario. Las figuras que se han reutilizado de otras fuentes no se incluyen en esta licencia y se pueden reconocer por una nota en su título: “Figura de…”.
Citación
Para la atribución, cite este trabajo como
Kjell, et al. (2022, Oct. 4). Posit AI Weblog: Introducing the textual content bundle. Retrieved from https://blogs.rstudio.com/tensorflow/posts/2022-09-29-r-text/
cita BibTeX
@misc{kjell2022introducing, writer = {Kjell, Oscar and Giorgi, Salvatore and Schwartz, H Andrew}, title = {Posit AI Weblog: Introducing the textual content bundle}, url = {https://blogs.rstudio.com/tensorflow/posts/2022-09-29-r-text/}, 12 months = {2022} }