国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于R-Shiny的中文文本可視化系統(tǒng)設(shè)計研究

2023-06-25 20:53:00淦亞婷安建業(yè)苗漉欣
現(xiàn)代信息科技 2023年7期
關(guān)鍵詞:R語言系統(tǒng)設(shè)計

淦亞婷 安建業(yè) 苗漉欣

摘? 要:基于R語言Shiny框架,搭建中文交互式在線可視化系統(tǒng),實現(xiàn)對中文文本數(shù)據(jù)的初步處理與可視化分析。首先,介紹中文文本可視化理論與Shiny框架下交互式應(yīng)用的搭建;其次,通過對用戶需求進(jìn)行分析,制定系統(tǒng)的設(shè)計目標(biāo)和原則,提出系統(tǒng)功能與Shiny框架下交互式界面,并設(shè)計相關(guān)模塊的實現(xiàn)。最后,進(jìn)行總結(jié),可知:系統(tǒng)能夠進(jìn)行文本分詞、清洗與向量化等文本初步處理;同時,能夠繪制基于詞頻、TF-IDF的條形圖,詞云圖以及基于時序、地理位置的動態(tài)圖等圖形。

關(guān)鍵詞:文本可視化;系統(tǒng)設(shè)計;R語言;Shiny

中圖分類號:TP274;TP391.1? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)07-0024-04

Abstract: Based on the R language Shiny framework, a Chinese interactive online visualization system has been built to realize the preliminary processing and visualization analysis of Chinese text data. Firstly, this paper introduces Chinese text visualization theory and the construction of interactive application under the Shiny framework. Secondly, through the analysis of user requirements, it formulates the design objectives and principles of the system, proposes the system functions and the interactive interface under the Shiny framework, and designs the implementation of related modules. Finally, it is concluded that the system can perform text segmentation, cleaning and vectorization and other preliminary text processing. At the same time, it can draw bar charts based on word frequency and TF-IDF, word cloud diagram, dynamic graphs based on time sequence and geographical location and other graphs.

Keywords: text visualization; system design; R language; Shiny

0? 引? 言

在大數(shù)據(jù)時代,線上社交媒體等互聯(lián)網(wǎng)平臺每天都在產(chǎn)生海量的諸如微博、博客、日志、商品描述以及用戶評論等文本數(shù)據(jù)。對這些數(shù)據(jù)加以合理利用,獲取其中大量有價值信息,為相關(guān)決策的制定提供參考,在商業(yè)、醫(yī)學(xué)等眾多領(lǐng)域具有重要意義。

然而,文本數(shù)據(jù)紛繁復(fù)雜,難以直觀快速地獲取數(shù)據(jù)中有價值的信息。文本可視化技術(shù)由此應(yīng)運而生,其通過一定的方法將文本中特定信息轉(zhuǎn)化為圖形信息進(jìn)行展示[1],人們通過觀察圖形能夠快速的獲取文本中關(guān)鍵信息,在很大程度上提高了信息獲取速度。但進(jìn)行文本可視化往往需要研究者掌握一定的編程能力;此外,目前能夠?qū)ξ谋具@類非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行簡單可視化分析的平臺很少[2]。同時,文本可視化不是簡單的將原始數(shù)據(jù)直接可視化展示,而是需要結(jié)合研究者對文本數(shù)據(jù)的理解,進(jìn)行交互式探索[3]。

目前,構(gòu)建在線系統(tǒng)的工具也有很多。Shiny是由Rstudio公司提供的一個基于R語言的開發(fā)框架,其集成了HTML、CSS和JavaScript等技術(shù)函數(shù)以及豐富的組件[4],在滿足多樣化需求的基礎(chǔ)上,不需要掌握較多的網(wǎng)頁設(shè)計相關(guān)技術(shù),就能較為容易的開發(fā)出交互式Web應(yīng)用程序。因此,本研究利用該框架開發(fā)一個交互式的中文文本可視化平臺,使得用戶在無須掌握文本可視化相關(guān)編程語言的情況下,能夠進(jìn)行文本的初步處理與可視化,從而為相關(guān)研究提供便利。

1? 設(shè)計基礎(chǔ)

在系統(tǒng)設(shè)計前期進(jìn)行相關(guān)準(zhǔn)備工作,主要為中文文本可視化分析、Shiny框架下交互式應(yīng)用等理論和技術(shù)的學(xué)習(xí)以及用戶需求分析。

1.1? 中文文本可視化分析

文本可視化是通過數(shù)據(jù)挖掘、文本分析以及數(shù)據(jù)可視化等知識和技術(shù),將文本中難以表達(dá)的信息通過圖形元素形式表達(dá)出來,并通過視覺與人們進(jìn)行交互快速獲取文本數(shù)據(jù)中的關(guān)鍵信息[5]。文本可視化一般分為:基于文本內(nèi)容可視化、基于文本關(guān)系可視化以及基于多層面信息可視化[6]?;谖谋緝?nèi)容統(tǒng)計的文本可視化的一般步驟為:文本預(yù)處理、文本內(nèi)容特征信息提取與圖形設(shè)計。文本預(yù)處理是對文本進(jìn)行分詞、清洗等;文本內(nèi)容特征信息提取主要是獲取詞頻、關(guān)鍵詞等。圖形設(shè)計則是基于獲取的特征信息來構(gòu)建圖形,展現(xiàn)文本信息。詞頻、關(guān)鍵詞作為重要的文本特征,通過可視化技術(shù)能夠生成詞云圖[7,8]、文檔散等圖形直觀地展示出文本中最關(guān)鍵信息?;谖谋娟P(guān)系的可視化則是重點展示文本間關(guān)系信息,例如文本間相似度、TF-IDF值。對文本關(guān)系信息進(jìn)行展示的經(jīng)典圖形有Word Tree[9]、短語網(wǎng)絡(luò)[10]等?;诙鄬用嫘畔⒖梢暬瘎t是從多角度提取多種特征進(jìn)行可視化,如時間、位置信息等,通過融合多種信息進(jìn)行可視化。

在R語言中,具有眾多專門用于文本處理與可視化的開源程序包[11]。主要有g(shù)gplot2、jiebaR、stringr、wordcloud2等。ggplot2是將數(shù)據(jù)映射為對象,通過圖層的形式來繪制圖形,并且其命令式作圖的方式,便于進(jìn)行調(diào)整與更改。jiebaR是一款中文分詞包,支持多種中文分詞模式,同時具有詞性標(biāo)注、關(guān)鍵詞提取等功能。stringr是對字符串進(jìn)行處理的包。wordcloud2是繪制詞云圖的包,并能通過函數(shù)里的參數(shù)對圖形進(jìn)行調(diào)整。R語言的眾多開源程序包為文本處理與可視化提供了極大的便利,保證了本系統(tǒng)構(gòu)建的可行性。

1.2? Shiny框架下交互式應(yīng)用

Shiny框架下,創(chuàng)建交互式應(yīng)用程序一般需要建立兩個R腳本:前端頁面腳本(Ui.R)和服務(wù)端腳本(Sever.R)。前端頁面腳本主要是對系統(tǒng)的組件和外觀的控制,并起到數(shù)據(jù)接受與結(jié)果展示的功能;服務(wù)端則是在后臺分析處理由前端頁面?zhèn)鱽淼臄?shù)據(jù),并將結(jié)果返回給前端頁面進(jìn)行展示。這種B/S模式(瀏覽器/服務(wù)器),只需要通過瀏覽器在前端頁面將輸入傳給服務(wù)器,然后服務(wù)器進(jìn)行實際數(shù)據(jù)處理,使得Shiny具有較好的交互功能。利用Shiny設(shè)計一個Web應(yīng)用程序最基本的代碼為:

library(shiny)

ui<-fluidPage(titlePanel(‘tittle),

sidebarLayout(sidebarPanel(),mainPanel(‘main panel)))

sever<-function(input,output){}

shinyApp(ui=ui,sever=sever)

前端頁面腳本Ui.R搭建前端用戶交互界面時,必須要添加fluidPage函數(shù)構(gòu)建整個用戶界面的排布結(jié)構(gòu),其內(nèi)部包括標(biāo)題欄tittlePanel和側(cè)邊欄sidebarLayout兩個模塊;標(biāo)題欄主要是起到系統(tǒng)介紹的功能;側(cè)邊欄中的sidebarPanel和mainPanel兩個參數(shù)主要是對側(cè)邊欄和主面板進(jìn)行設(shè)計。此外,Shiny中滑動條、輸入框、彈出窗口、下拉按鈕等眾多小組件能夠有助于快速地搭建出交互友好的用戶界面。

服務(wù)器腳本Sever.R主要是在后端通過R語言的眾多程序包構(gòu)建函數(shù)進(jìn)行文本分析,并將結(jié)果傳到用戶交互界面。

1.3? 用戶需求分析

幫助文本研究人員對雜亂的文本數(shù)據(jù)進(jìn)行可視化研究,從文本數(shù)據(jù)中發(fā)現(xiàn)有價值信息,使得用戶能更好的觀察、分析文本數(shù)據(jù),輔助開展相關(guān)研究,是搭建本可視化系統(tǒng)的目的。通過對文本研究人員調(diào)研分析,進(jìn)一步明確了可視化系統(tǒng)應(yīng)該滿足如下需求。

1.3.1? 封裝性與易操作需求

對文本進(jìn)行可視化需要研究人員掌握諸如文本分析、數(shù)據(jù)挖掘以及文本可視化等相關(guān)理論技術(shù),特別是需要具備良好的編程能力,這在一定程度上阻礙相關(guān)研究的發(fā)展。因此需要對系統(tǒng)代碼進(jìn)行封裝并且系統(tǒng)滿足易操作性,使用戶無須掌握編程語言,通過簡單的操作也能根據(jù)自身需求進(jìn)行文本可視化。

1.3.2? 文本數(shù)據(jù)查詢與選擇需求

文本數(shù)據(jù)龐大,在一張圖上一般只能展示某部分信息,因此系統(tǒng)應(yīng)該具有查詢與選擇功能。

1.3.3? 文本處理與可視化需求

對于文本數(shù)據(jù),需要進(jìn)行清洗、分詞以及向量化等處理,以獲得滿足可視化要求的數(shù)據(jù)形式。可視化是系統(tǒng)的重點,可視化結(jié)果應(yīng)該具備較高的準(zhǔn)確性并且應(yīng)具備良好的交互性。

1.3.4? 展示需求

結(jié)果展示是系統(tǒng)與用戶交互重要的一環(huán),用戶需要觀察相關(guān)結(jié)果對分析進(jìn)行調(diào)整,因此在展示界面應(yīng)盡量簡潔;另外,需要具有放大、保存等功能。

2? 系統(tǒng)設(shè)計

系統(tǒng)在文本可視化理論學(xué)習(xí)、Shiny框架下交互式應(yīng)用的構(gòu)架以及對用戶需求進(jìn)行分析等前期準(zhǔn)備工作的基礎(chǔ)上,在R平臺上完成系統(tǒng)的功能設(shè)計、交互設(shè)計和設(shè)計實現(xiàn)。

2.1? 設(shè)計原則

為保證系統(tǒng)的順利實現(xiàn)與穩(wěn)定持久性的使用,系統(tǒng)的設(shè)計應(yīng)堅持以下原則。

2.1.1? 統(tǒng)一性原則

在設(shè)計系統(tǒng)時,特別是在系統(tǒng)的整體架構(gòu)以及系統(tǒng)的擴(kuò)展等方面需要進(jìn)行全局性考慮,保證系統(tǒng)的界面、功能等各個方面盡量達(dá)到一致化,不會出現(xiàn)互現(xiàn)矛盾的問題。

2.1.2? 適用性原則

系統(tǒng)設(shè)計的總體目標(biāo)是為文本研究人員提供一個可視化工具,因此系統(tǒng)必須遵循適用性原則。在設(shè)計時要考量用戶業(yè)務(wù)邏輯,使得用戶無須提前培訓(xùn)就能使用;另外,在界面設(shè)計上,盡量做到簡潔、便于操作。

2.1.3? 可擴(kuò)展性原則

文本可視化技術(shù)處在不斷發(fā)展的過程中,新的技術(shù)不斷被提出,因此在設(shè)計系統(tǒng)時,需要注意系統(tǒng)的先進(jìn)性,系統(tǒng)能夠隨著文本可視化技術(shù)的發(fā)展,相關(guān)組件不斷更新優(yōu)化。

2.2? 功能設(shè)計

通過系統(tǒng)的需求分析并遵循基本設(shè)計原則,系統(tǒng)應(yīng)具備主要的功能模塊為:用戶服務(wù)模塊、預(yù)處理模塊、基礎(chǔ)可視化模塊以及動態(tài)可視化模塊,其架構(gòu)如圖1所示。

2.2.1? 用戶服務(wù)模塊

該模塊的功能是為用戶使用提供幫助,包括對系統(tǒng)的定位和功能進(jìn)行整體性說明,向用戶展示如何使用系統(tǒng)以及幫助導(dǎo)航欄。另外,向用戶提供反饋渠道,不斷收集相關(guān)意見,以便后期不斷優(yōu)化系統(tǒng)。

2.2.2? 預(yù)處理模塊

預(yù)處理主要是為了滿足文本可視化要求進(jìn)行的處理。中文文本作為非結(jié)構(gòu)化數(shù)據(jù),其預(yù)處理主要包括兩個階段,第一階段是去除特殊表情、符號等,并對文本進(jìn)行分詞、去停用詞等處理。第二階段是對文本進(jìn)行向量化表示。

2.2.3? 基礎(chǔ)可視化模塊

該模塊是在預(yù)處理基礎(chǔ)上基于詞頻進(jìn)行可視化。通過統(tǒng)計每個詞的詞頻,構(gòu)建出詞頻表、詞頻條形圖以及詞云圖。

2.2.4? 動態(tài)可視化模塊

在線社交平臺上,人們往往非常關(guān)注近期的研究熱點的動態(tài)演變過程。該模塊基于時間和地點進(jìn)行動態(tài)可視化。

2.3? 交互設(shè)計

Shiny框架下進(jìn)行交互式設(shè)計,主要是構(gòu)建良好的網(wǎng)頁界面,用戶在界面上能夠輸入相關(guān)數(shù)據(jù)和參數(shù),服務(wù)端接收數(shù)據(jù)和參數(shù)并進(jìn)行分析,將得出的結(jié)果展示在界面上反饋給用戶,進(jìn)而與用戶實現(xiàn)交互。

不同于以往的系統(tǒng)設(shè)計,Shiny框架下系統(tǒng)設(shè)計無須掌握較多的Web設(shè)計理論和技術(shù),而且能在網(wǎng)頁上自動更新計算,以及具有諸如輸入框、下拉選擇框、選擇按鈕、滑動條等眾多組件,為搭建交互式界面提供了搭建交互式系統(tǒng)奠定了基礎(chǔ)。本系統(tǒng)構(gòu)建標(biāo)題欄、側(cè)邊欄與主面板。標(biāo)題欄主要是區(qū)分不同的功能模型,在不同的標(biāo)題下是不同的功能界面。側(cè)邊欄則是利用組件構(gòu)建用戶數(shù)據(jù)和參數(shù)輸入,當(dāng)用戶在側(cè)邊欄完成輸入后,點擊繪制,服務(wù)端就能夠完成分析將結(jié)果展示在主面板區(qū)。例如,系統(tǒng)在搭建詞云圖交互設(shè)計時,在側(cè)邊欄添加上傳文件控件、輸入框、滑動條以及下拉選擇框等控件,用戶能夠通過上傳文件控件上傳矢量圖來改變詞云圖的形狀、通過輸入框指定詞云圖的尺寸、最低頻數(shù)、詞的個數(shù)以及通過下拉選擇框選擇不同的字體顏色、背景顏色。

2.4? 設(shè)計實現(xiàn)

系統(tǒng)在Shiny框架下,利用眾多的R程序包,編寫R語言程序進(jìn)行實現(xiàn)。

2.4.1? 用戶服務(wù)模塊實現(xiàn)

用戶服務(wù)模塊主要是起到幫助用戶快速上手的作用,包含系統(tǒng)概述、功能介紹、使用步驟、重要提示以及聯(lián)系方式。

2.4.2? 預(yù)處理模塊實現(xiàn)

1)文本清洗。通過jiebaR使用worker引入分詞引擎,利用segment函數(shù)完成分詞;通過判斷是否為字符型以及正則項匹配,來剔除特殊符號和a-z、0-9非中文自字符;系統(tǒng)默認(rèn)使用哈工大停用詞表對文本進(jìn)行去停用詞處理;運用lapply函數(shù)將保留下來的詞保存為列表格式。

2)文本向量表示。系統(tǒng)提供兩種向量化方式:一種是計算詞的TD-IDF值,作為其向量表示;另一種是根據(jù)預(yù)先導(dǎo)入的中文維基百科詞向量文件,將每個詞表示為一個300維的向量。

2.4.3? 基礎(chǔ)可視化模塊實現(xiàn)

1)文本數(shù)據(jù)預(yù)覽。通過readlines函數(shù)讀取文本數(shù)據(jù)并在主面板上進(jìn)行展示。

2)詞頻、TF-IDF條形圖。獲取文本的預(yù)處理后的詞表,分別利用table函數(shù)和bind_tf_idf函數(shù)計算計算詞的頻數(shù)和TF-IDF值,再通過ggplot畫出基于詞頻條形圖和基于TF-IDF條形圖。

3)詞云圖?;讷@取的詞頻特征,并利用wordcloud2函數(shù)繪制詞云圖。

2.4.4? 動態(tài)可視化模塊實現(xiàn)

1)基于時序的動態(tài)圖。先通過jiebaR里的analyse. textrank提取關(guān)鍵詞,然后演示一段時間內(nèi),關(guān)鍵詞的變化。

2)基于地理位置的可視化。包含地理位置信息的文本數(shù)據(jù),對該類數(shù)據(jù)進(jìn)行平面空間維度的可視化展示。

基于上述的系統(tǒng)設(shè)計,本系統(tǒng)的基本界面如圖2所示。

3? 結(jié)? 論

本文在Shiny框架下搭建了一個交互式的可視化系統(tǒng),用戶只需導(dǎo)入文本數(shù)據(jù),并通過側(cè)邊欄中的相關(guān)組件進(jìn)行參數(shù)選擇,主面板區(qū)就會自動展示出可視化的結(jié)果。系統(tǒng)不僅提供基礎(chǔ)的諸如詞頻條形圖、詞云圖等基于詞頻的可視化分析技術(shù)實現(xiàn),還能基于時序以及位置等信息進(jìn)行可視化,能有效關(guān)注到社交平臺信息的動態(tài)變化,為文本研究人員提供了一個交互式、易操作的文本可視化平臺。

系統(tǒng)遵循可擴(kuò)展性原則進(jìn)行設(shè)計,在所構(gòu)建的框架下能夠引入更新、更深層的文本可視化技術(shù),達(dá)到拓展系統(tǒng)功能的目的。因此,在后續(xù)研究中將結(jié)合文本可視化技術(shù)的發(fā)展,不斷擴(kuò)展系統(tǒng)可視化功能,探究諸如基于聚類、語義等更為深入的文本可視化技術(shù)實現(xiàn)方法。

參考文獻(xiàn):

[1] 馬創(chuàng)新,陳小荷.文本的可視化知識表示 [J].情報科學(xué),2017,35(3):122-127.

[2] 劉玉琴,汪雪鋒,雷孝平.科研關(guān)系構(gòu)建與可視化系統(tǒng)設(shè)計與實現(xiàn) [J].圖書情報工作,2015,59(8):103-110+125.

[3] 何巍.社交媒體數(shù)據(jù)可視化分析綜述 [J].科學(xué)技術(shù)與工程,2020,20(32):13085-13090.

[4] shiny 官方網(wǎng)站[EB/OL].(2022-10-22).https://shiny.rstudio.com.

[5] 熊輝.職業(yè)健康數(shù)據(jù)的可視化分析研究 [D].福州:福州大學(xué),2018.

[6] Wise J A,Thomas J J,Pennock K,et al. Visualizing the non-visual:Spatial Analysis and Interaction with Information from Text Documents [C]//Proceedings of Visualization 1995 Conference. IEEE,1995:51-58.

[7] 馬明明.面向文本的標(biāo)簽云可視化度量模型的研究 [D].北京:北京交通大學(xué),2018.

[8] 袁海,陳康,陶彩霞,等.基于中文文本的可視化技術(shù)研究 [J].電信科學(xué),2014,30(4):114-122.

[9] WATTENBERG M,VI?GAS F B. The Word Tree. An Interactive Visual Concordance [J]. IEEE transactions on visualization and computer graphics,2008,14(6):1221.

[10] HAM F V,WATTENBERG M,VI?GAS F B. Mapping Text with Phrase Nets [J]. IEEE transactions on visualization and computer graphics,2009,15(6).

[11] 蘭德.R語言 [M].蔣家坤,譯.北京:機(jī)械工業(yè)出版社,2015.

作者簡介:淦亞婷(1997—),女,漢族,江西九江人,研究生在讀,研究方向:短文本分類;安建業(yè)(1969—),男,漢族,內(nèi)蒙古烏蘭察布人,教授,碩士,研究方向:文本挖掘、統(tǒng)計建模與統(tǒng)計模式識別;苗漉欣(2000—),女,漢族,山西長治人,研究生在讀,研究方向:中文文本可視化。

猜你喜歡
R語言系統(tǒng)設(shè)計
基于GPS軌跡數(shù)據(jù)進(jìn)行分析改善城市交通擁擠
基于R語言的Moodle平臺數(shù)據(jù)挖掘技術(shù)的研究
一種基于SATA硬盤陣列的數(shù)據(jù)存儲與控制系統(tǒng)設(shè)計研究
工業(yè)熱電偶計量檢定系統(tǒng)設(shè)計
基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運輸管理系統(tǒng)設(shè)計與應(yīng)用
目標(biāo)特性測量雷達(dá)平臺建設(shè)構(gòu)想
科技視界(2016年22期)2016-10-18 14:34:34
基于R語言的湖南產(chǎn)業(yè)結(jié)構(gòu)對其經(jīng)濟(jì)增長貢獻(xiàn)分析
商(2016年24期)2016-07-20 08:03:39
星級酒店建筑電氣及弱電智能系統(tǒng)設(shè)計分析
信息管理服務(wù)平臺項目應(yīng)用系統(tǒng)設(shè)計探析
注重統(tǒng)計思維培養(yǎng)與應(yīng)用為主導(dǎo)的生物統(tǒng)計學(xué)課程建設(shè)
考試周刊(2016年15期)2016-03-25 04:09:43
云龙县| 房山区| 宝鸡市| 绥芬河市| 温泉县| 民权县| 湾仔区| 启东市| 自治县| 股票| 浙江省| 应城市| 顺义区| 白城市| 许昌市| 恩施市| 宜章县| 弥渡县| 梁河县| 丹棱县| 隆子县| 潢川县| 东乌珠穆沁旗| 明光市| 疏附县| 奉新县| 恭城| 祁东县| 阿拉善左旗| 高陵县| 江阴市| 南岸区| 木里| 平阴县| 团风县| 保山市| 个旧市| 凤凰县| 崇阳县| 岳阳县| 鸡西市|