当前位置: 首页 > news >正文

flash网站的优势一个网站怎么做2个服务器

flash网站的优势,一个网站怎么做2个服务器,深圳高端家政服务公司,天津装修设计平台大家都知道python在数据处理、数据分析和机器学习等方面的强大之处#xff0c;那么如何使用Python实现Web方式的HTTP应用和服务呢#xff0c;其实有很多种方式#xff0c;比如利用gradio、streamlit实现web应用#xff0c;利用FastApi实现web服务等等#xff0c;具体详见之…        大家都知道python在数据处理、数据分析和机器学习等方面的强大之处那么如何使用Python实现Web方式的HTTP应用和服务呢其实有很多种方式比如利用gradio、streamlit实现web应用利用FastApi实现web服务等等具体详见之前的大模型应用文章本文采用tornado框架实现http web服务并结合自然语言处理NLP的分词和实体识别的需求分别实现如何提供相应的http服务。具体如下运行环境python3.10tornadojiebatimelogging等运行命令python httpServer_nlp.py调用方法http://localhost:8082/cutsegment?content油气勘探开发文档的语义分析及提取方法的研究与实现三个方面研究search_type1识别结果分词{cut: [油气勘探, 开发, 文档, 语义, 分析, 提取, 方法, 研究, 三个, 研究], entities: [], returncode: 0, message: ok, runtime: 0.3878319263458252}识别结果实体{cut: [], entities: [方法, 语义, 分析, 提取, 实现, 文档, 方面], returncode: 0, message: ok, runtime: 0.4005763530731201} import sys import os import time import tornado.httpserver from tornado.options import define, options import json from collections import OrderedDict import re import jieba from jieba import analyse import logging # 设置日志记录 logger logging.getLogger() # 获取日志记录器 logger.setLevel(logging.INFO) # 设置全局日志输出级别 # 创建文件日志记录处理器并指定一些设置选项 fileHandler logging.FileHandler(filenamef./log/service.log, modea, encodingutf-8, delayFalse) # 定义日志输出风格格式器 format_option %(asctime)s - %(filename)s[line:%(lineno)d] - %(threadName)s - %(levelname)s: %(message)s fileHandler.setFormatter(logging.Formatter(format_option)) # 将日志记录处理器加入日志对象 logger.addHandler(fileHandler) # logger.info(result:{}.format(output)) # 本地日志记录示例 # 设置端口 define(port, default8082, help--port, typeint) # 获取分词结果 def get_kg_result_0(text): jieba.load_userdict(./data/StopWord/user_dict.txt) # 加载自定义分词词典 # 2 获取停用词 stwlist get_stop_words() text,theDateget_date(text) # 3 分词并去除停用词 out_dict remove_special_tokens(jieba.cut(text, cut_allFalse), stwlist) print(\n\n1.加载自定义分词词典\n / .join(out_dict)) return out_dicttheDate # 利用TF-IDF获取实体 def get_entity_0(text): # 抽取前多少的关键词并按照权重值由高到低返回 print(抽取前多少的关键词 //) textrank analyse.textrank keywords2 textrank(text) print(keywords2) return keywords2 # 读取停用词 def get_stop_words(pathr./data/StopWord/NLPIR_stopwords.txt): file open(path, r,encodingutf-8).read().split(\n) return set(file) # 去掉一些停用词/单字符/空字符等 def remove_special_tokens(words, stwlist): words_list list(words) stop_words stwlist for i in range(words_list.__len__())[::-1]: if words_list[i] in stop_words: # 去除停用词 words_list.pop(i) elif (len(words_list[i]) 1): # 去除单个字符 words_list.pop(i) elif words_list[i] : # 去除空字符 words_list.pop(i) return words_list # 整体获取日期日期需要在分词之前做单独处理 def get_date(content): pattern r\d{4}-\d{1,2}-\d{1,2}|\d{4}年\d{1,2}月\d{1,2}日|\d{4}/\d{1,2}/\d{1,2} result re.findall(pattern, content) for item in result: content content.replace(item, 灥) # 将日期转换为特殊字符一般采取不常用的汉字代替 return content,result # tornado结构只需要在里面添加代码规范输出格式即可 class MainGetHandler(tornado.web.RequestHandler): def recog(self, modeget): 能够同时支持get和post请求 if mode get: sub self.get_argument(content, None) search_type self.get_argument(search_type, 0) search_type int(search_type) uid self.get_argument(uuid, 000000) else: post方式接收data传递来的参数 data json.loads(self.request.body.decode()) sub data[content] if content in data else None search_type int(data[search_type]) if search_type in data else 0 uid data[uuid] if uuid in data else 000000 #### 配置参数 #### result OrderedDict() returncode 0 message ok output {} entity{} start time.time() if search_type 0 or search_type 4: returncode 10000 message search_type is error if sub is None and rel is None and obj is None: returncode 10001 message data is null if search_type 1: # 查content的全部relation和objectcontent不能为空 try: if sub None or sub in [, ]: returncode 10002 message when search_type is 1, content not null else: output get_kg_result_0(sub) entity[] except Exception as e: logger.info({},error: {}.format(output)) returncode 10002 message service error elif search_type 2: try: if sub None or sub in [, ]: returncode 10003 message when search_type is 2, content and rel not null else: output [] entityget_entity_0(sub) except Exception as e: logger.info({},error: {}.format(entity)) returncode 10003 message service error end time.time() detal end - start # 以json格式输出参考输出格式 result[cut] output result[entities]entity #实体识别 result[returncode] returncode result[message] message result[runtime] detal logger.info(result:{}.format(result)) # 本地日志 self.write(json.dumps(result, ensure_asciiFalse)) # 写结果 self.finish() def get(self): get方式调用 self.recog(modeget) def post(self): post方式调用 self.recog(modepost) # 主程序 if __name__ __main__: # 服务器启动 print(Server is listeningPort str(options.port) ...) sys.path.append(../) # 将当前目录加载道path中 tornado.options.parse_command_line() # 域名规则需要与nginx中配置的一致 application tornado.web.Application([(r/cutsegment, MainGetHandler)]) http_server tornado.httpserver.HTTPServer(application) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start()
http://www.sadfv.cn/news/212776/

相关文章:

  • 合肥网站建设方案优化wordpress考试系统插件
  • 邯郸做网站找谁wordpress高阶教程
  • 菜鸟教程网站是怎么做的WordPress科技网站
  • 建筑证书兼职网站校园网站建设管理工作制度
  • 电商网站开发主要设计内容wordpress 中文名注册
  • wordpress主题 直接拖拽式建站太仓做网站公司
  • asp.net开发的网站贵阳网站优化公司
  • 环境没有tomcat怎么演示自己做的网站网站开发就业前景怎么样
  • 湖北民族建设集团网站首页internet网站建设试卷
  • 企业网站建设套餐上海雄安免费网站建设方案
  • 奥数辅导机构网站建设咨询服务公司
  • 东莞seo整站优化火速顺德大良那里做网站好
  • 杭州网站建设哪家最好国外做家居类的网站
  • 视频网站为什么有人做石家庄专业网站建设
  • 哈尔滨网站建设方案服务快速的网站开发
  • 安庆有做网站的吗河南洛阳霞光网络
  • 东莞 网站 建设工地接活应该去哪个平台
  • 做数据的网站有哪些内容什么是互联网行业
  • 网站建设珠海wordpress蜜蜂
  • 深圳福田住房和建设局网站wordpress用户定期清理
  • 网站可以做多语言的吗wordpress编辑父主题
  • 现在中国空间站有几个人东莞阿里网站设计
  • 深圳住房建设厅网站首页中国域名交易平台
  • 贵阳中企动力做的网站上海企业注销一窗通
  • 做家装家居网站多用户智能网站建设源码
  • 个人网站可以做商业用途吗江西冰溪建设集团网站
  • 做网络推广选择网站asp 网站开发教程
  • 如何线下宣传网站哔哩哔哩网页版怎么回到旧版
  • 能够做代理的网站有哪些问题乐清市龙翔网络工程公司
  • 深圳住房建设网站phpcms手机网站怎么做