999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Django的中文關鍵詞提取系統的設計與實現

2019-07-08 02:23:41張少迪鄭炅艾山·吾買爾趙全軍
電腦知識與技術 2019年13期
關鍵詞:指令系統

張少迪 鄭炅 艾山·吾買爾 趙全軍

摘要:隨著機器學習的不斷興起,python編程語言也逐漸的被更多人所知和使用,而Django作為由python編寫的Web應用框架,也開始被更多的工程和項目所使用。但是隨著互聯網進程的不斷推進,人們對于速度的要求也在逐漸加大,多線程的成為了各大企業和機構不可或缺的需要,而傳統的Django在多線程上的拙劣表現也讓人大失所望,因此,本系統采用了Django+uWSGI+Nginx的框架,很好的解決了多線程和高并發的問題,而且還擁有了負載均衡的功能,使得中文關鍵詞提取系統的速度提升到了一個新的高度。

關鍵詞:python;Django;多線程;uWSGI;Nginx

中圖分類號:TP391 ? 文獻標識碼:A

文章編號:1009-3044(2019)13-0220-03

Abstract: With the rising of machine learning, python programming language is gradually known and used by more people, and Django, as a web application framework written by python, is also beginning to be used by more projects and projects. However, with the continuous advancement of the Internet process, people's demand for speed is also increasing. Multithreading has become an indispensable requirement for major enterprises and institutions. The poor performance of traditional Django on multithreading is also disappointing. Therefore, the system adopts the framework of Django+uWSGI+Nginx, which solves the problems of multithreading and high concurrency very well. With the function of load balancing, the speed of Chinese keyword extraction system has been raised to a new level.

Key Words: python; Django; multithreading; uWSGI; Nginx

1 引言

隨著互聯網進程的加快,人們產生的信息也在面臨指數級的增漲,如何從日益龐大的數據中過濾出關鍵的信息成為學者們逐漸關注的課題,信息抽取任務也因此應運而生。信息抽取包括文本摘要提取、文本關鍵短語提取、文本關鍵詞提取[1]等任務,關鍵詞提取作為最基礎也是需求量最大的一環,也成為學者們研究的最多也最為透徹的一環。

本文設計的中文關鍵詞提取系統是一個基于Django[2]的關鍵詞提取接口,當用戶調用該接口之時,會對用戶輸入的文本進行關鍵詞提取,并將結果返回給用戶。該系統采用了Django+uWSGI+Nginx的開源開發框架來進行web[3]設計的,需要分別對Django[4]、uWSGI以及Nginx[5]來進行配置,從而使得這三者能夠連接在一起,共同進行接口的調用。該關鍵詞提取系統的工作流程如圖1所示。

2 關鍵詞提取系統服務器環境配置

本文中關鍵詞提取系統使用的編程語言為pytthon語言為python3.5.2,操作系統為centos7.2。以下為關鍵詞提取系統服務器的配置過程,包括Anaconda的安裝,核心算法依賴包的安裝,Django的安裝與配置,uWSGI的安裝與配置以及Nginx的安裝與配置:

2.1 Anaconda的安裝

Anaconda指的是一個開源的Python發行版本,其中包含了conda、Python、numpy、pandas等180多個科學包及其依賴項,而且也可以用于在同一個機器上安裝不同版本的軟件包及依賴,能夠在不同的環境之間切換。

1) 下載Anaconda3-4.2.0-Linux-x86_64.sh版本。

2) 在安裝包目錄輸入以下指令

#bash Anaconda3-4.2.0-Linux-x86_64.sh

//同意許可證

#yes

//同意將Anaconda添加進環境變量

#yes

3) 安裝完成后,輸入python,顯示python版本和Anaconda版本即為安裝成功。

2.2 依賴包的安裝

1)安裝依賴包jieba 0.39

2)下載jieba 0.39的安裝包

3)在安裝包的目錄下打開命令行輸入以下指令

#pip install jieba-0.39.tar.gz

4)安裝networkx 1.11

5)下載networkx1.11的安裝包

6)在安裝包的目錄下打開命令行輸入以下指令

#pip install networkx-1.11.tar.gz

2.3 Django的安裝

1)下載Django-1.11.17.tar.gz

2)在安裝包的目錄下打開命令行輸入以下指令

#pip install Django-1.11.17.tar.gz

2.4 uWSGI的安裝

1)下載uwsgi-2.0.17.1.tar.gz

2)在安裝包的目錄下打開命令行輸入以下指令

#pip install uwsgi-2.0.17.1.tar.gz

2.5 Nginx的安裝

1)下載Nginx的安裝包,nginx-1.12.2.tar.gz

2)在安裝包目錄下打開命令行輸入以下指令

//解壓安裝包

#tar -zxvf nainx-1.12.2.tar.gz

//進入nginx文件目錄

#cd nginx-1.12.2

#./configure

#make

#make install

3)運行Nginx

//進入Nginx的目錄

#cd /usr/local/nginx/sbin

//啟動Nginx

#sudo ./nginx

4)打開瀏覽器,輸入本機地址,127.0.0.1,如果看到頁面上顯示“Welcome to nginx”即為安裝成功。

3 項目部署

配置整個中文關鍵詞提取系統需要配置三方面內容,包括配置Django,配置uWSGI以及配置Nginx。

3.1 配置Django

配置Django需要先創建Django工程,修改相關的視圖函數以及url,同時修改settings.py的設置。具體操作如下:

1)創建一個Django工程zh_KeyExtraction

#django-admin.py startproject zhKeyExtraction

創建成功后會在目錄下生成文件夾zh_KeyExtraction以及文件manage.py,文件夾zh_KeyExtraction下有__init__.py,settings.py,urls.py,wsgi.py。

2)新建一個名為keyextraction_app的app

#django-admin.py startapp keyextraction_app

創建成功后會生成keyextraction_app的文件夾,其中包含admin.py,apps.py,__init__.py,models.py,tests.py以及views.py。

4) 將核心代碼放入keyextraction_app文件夾中,并配置views.py,創建get請求和post請求,以及json格式數據的解析和封裝,核心代碼如下:

#k_w = Key_Word_Extraction()

#def processkey(request):

# ? ?if request.method == 'GET':

# ? ? ? ?text = request.GET.get('text')

# ? ? ? ?retdata=k_w.keywordextraction(text)

# ? return HttpResponse(Tojson(retdata), charset='utf8')

# ? ?else:

# ? ? ? ?dt = request.body.decode()

# ? ? ? ?jsdt = json.loads(dt)

#return HttpResponse(Tojson(jsdt['text']), charset='utf8')

#def Tojson(data):

# ? ?dt={}

# ? ?dt['code']=200

# ? ?dt['data']=data

# ? ?return json.dumps(dt,ensure_ascii=False)

4)配置zh_KeyExtraction文件夾下的urls.py文件,具體如下:

#urlpatterns = [

# ? url(r'^admin/', admin.site.urls),

# ? url(r'^keyextraction$', views.processkey,name='keyextraction$')]

5)配置settings.py文件,具體如下:

//將ALLOWED_HOSTS改為*可以保證該服務在不同ip的服務器上也可以順利運行。

#ALLOWED_HOSTS = ['*']

//注釋掉MIDDLEWARE可以有效防止post請求時,檢測到沒有csrf字符串而產生報錯。

# #'django.middleware.csrf.CsrfViewMiddleware'

至此,Django就全部配置完成了。

3.2 配置uWSGI

配置uWSGI需要在django項目的根目錄下創建配置文件,uwsgi.ini,配置文件的內容如下:

[uwsgi]

// 對外提供 http 服務的端口

#http = :10920 #這里改為自己的

//用于和 nginx 進行數據交互的端口

#socket = 127.0.0.1:10930

//django 程序的主目錄

#chdir=/home/zsd/zh_KeyExtraction

//django中wsgi.py文件的目錄

#wsgi-file=/home/zsd/zh_KeyExtraction/KeyExtraction/wsgi.py

//最大的進程數

#processes = 4

//每個進程中的線程數

#threads = 2

3.3配置Nginx

配置Nginx需要進如Nginx的文件夾下,配置相應的配置文件,并重啟Nginx。

1)進入Nginx的目錄

#cd /usr/local/nginx/conf/

2)創建文件夾conf.d用于存放配置文件

#mkdir conf.d

3)進入conf.d文件夾下并創建配置文件zh_kw.conf

#cd conf.d

#sudo vim zh_kw.conf

4)編輯配置文件,配置內容如下

#upstream zh_kw{

//假設有兩臺服務器,而且都部署有相同的服務,兩臺服務器ip分別為10.11.12.3和10.11.12.4,設置nginx可以將請求平均分配到這兩個端口號上,即可將效率大幅提升。

#server 10.11.12.3:10910

#server 10.11.12.4:10910 }

#server {

# ? listen ? ?10940;

# ? server_name localhost;

# ? location / {

# ? ? ? proxy_set_header Host $http_host;

# ? ? ? proxy_pass http://zh_kw;

# include /usr/local/nginx/conf/uwsgi_params;}}

# server {

# ? ? listen ? ? ? 10910;

# ? ? server_name ?localhost;

# ? ? location / {

# ? ? ? ? uwsgi_pass 127.0.0.1:12130;

# ? ? ? ? uwsgi_send_timeout 600;

# ? ? ? ? uwsgi_connect_timeout 600;

# ? ? ? ? uwsgi_read_timeout 600;

# ? ? ? ? client_max_body_size 500m;

# ? ? ? ? client_body_buffer_size 1024k;

# include /usr/local/nginx/conf/uwsgi_params;}

# error_page ? 500 502 503 504 ?/50x.html;

# ? ? location = /50x.html {

# ? ? ? ? root ? etc/nginx/default-site/;}}

5)重新啟動Nginx

//進入nginx啟動程序的目錄

#cd /usr/local/nginx/sbin

//啟動nginx

#sudo ./nginx

4 遠程測試

經過以上的配置,中文關鍵詞提取系統已經完成,啟動服務后即可進行測試,啟動方式如下:

//進入django項目的根目錄下

#cd /home/zsd/zh_KeyExtraction

//啟動django項目

#uwsgi --ini uwsgi.ini

啟動完成后,打開瀏覽器,在地址欄輸入以下數據:

#127.0.0.1:10910/extraction?text=”我感謝中國共產黨的領導。”

得到以下結果:

{“code”:200,”data”:{“中國”,”共產黨”,”領導”,”感謝”}}

可以發現該服務已經正常啟動了,用戶可以通過上述方式的get請求對該接口進行訪問,或者通過post請求對該接口進行訪問,提取所需的中文關鍵詞。

此外,我們選擇從騰訊大豫網上面爬取了10000篇中文新聞作為測試語料,對該接口的速度進行并發性測試,測試數據如下表所示:

由上表可知,Django+uWSGI+Nginx在一定的范圍內,多線程的效果提升非常顯著,當達到硬件的瓶頸后,速度不再提升,但是仍然十分穩定,所有的請求都能夠成功返回。

5 總結

綜上所述,基于Django的中文關鍵詞提取系統,在加入了uWSGI和Nginx之后,在多線程方面的表現非常出色,有效的解決了Django在多線程方面的缺陷,使得關鍵詞提取的速度更加的快捷,極大的提升了使用者的工作效率。

參考文獻:

[1] 趙京勝,朱巧明,周國棟,等.自動關鍵詞抽取研究綜述[J].軟件學報,2017,28(09):2431-2449.

[2] 郭鹍,蔣曉龍,趙甲文.基于Django框架的電子海圖服務器設計[J].電腦知識與技術,2018,14(19):61-63.

[3] 楊改紅,趙冬,鄧豪,等.基于WEB的遠程體育教學平臺的開發與設計[J].電子設計工程,2018,26(22):10-13+18.

[4] 楊剛.基于Django的在線考試系統的設計與實現[J].電腦知識與技術,2016,12(14):40-42.

[5] 戴偉,馬明棟,王得玉.基于Nginx的負載均衡技術研究與優化[J/OL].計算機技術與發展,2019(03):1-7[2019-03-02].http://kns.cnki.net/kcms/detail/61.1450.TP.20181219.1511.038.html.

【通聯編輯:梁書】

猜你喜歡
指令系統
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
主站蜘蛛池模板: 国产成人乱码一区二区三区在线| 三级国产在线观看| 精品国产成人国产在线| 亚洲福利片无码最新在线播放| 国产免费人成视频网| av一区二区三区在线观看 | 婷婷色丁香综合激情| 四虎在线高清无码| 热re99久久精品国99热| 亚洲精品爱草草视频在线| 亚洲一区无码在线| 久久这里只精品热免费99| 粉嫩国产白浆在线观看| 操美女免费网站| 99视频精品全国免费品| 99草精品视频| 亚洲欧洲AV一区二区三区| 日韩欧美亚洲国产成人综合| 亚洲一区毛片| 国产亚洲精品在天天在线麻豆 | 亚洲AV永久无码精品古装片| 日本精品αv中文字幕| 亚洲无码高清免费视频亚洲| 国产美女91视频| 91免费国产在线观看尤物| 国产精品亚洲片在线va| 欧美a级完整在线观看| 一级毛片网| 国产成人综合网在线观看| 日本一区二区三区精品国产| 亚洲无线观看| 国产哺乳奶水91在线播放| 性色生活片在线观看| 成人蜜桃网| 亚洲h视频在线| 欧美成人综合在线| 亚洲三级片在线看| 最新国产网站| 精品亚洲麻豆1区2区3区| 亚洲美女一级毛片| 国产精品制服| 伊人精品视频免费在线| 欧美日韩成人在线观看| 日韩大乳视频中文字幕 | 欧美日韩亚洲综合在线观看| 3p叠罗汉国产精品久久| 国产极品美女在线播放| 国产欧美亚洲精品第3页在线| 日韩午夜伦| 黄色网址手机国内免费在线观看| 中文字幕在线欧美| 怡红院美国分院一区二区| 538精品在线观看| 亚洲国产综合精品一区| 色妞www精品视频一级下载| 亚洲一区毛片| 国产99精品视频| 免费国产不卡午夜福在线观看| 亚洲熟女中文字幕男人总站| 国产精品v欧美| 亚洲欧美人成电影在线观看| 丝袜美女被出水视频一区| 亚洲精品制服丝袜二区| 91精品亚洲| 亚洲视频在线观看免费视频| 在线精品欧美日韩| 中文无码精品A∨在线观看不卡 | 欧美成人一级| 成人国产精品一级毛片天堂| 深夜福利视频一区二区| 国产一区二区影院| 欧美色99| 色婷婷亚洲十月十月色天| a亚洲视频| 久久毛片基地| 欧洲免费精品视频在线| 国产精品无码AⅤ在线观看播放| 欧美日韩久久综合| 欧美亚洲一区二区三区在线| 国产手机在线观看| 国产成人亚洲综合a∨婷婷| 亚洲天堂精品在线|