云服务器内容精选
-
步骤2:单节点调试 完成工作流编排后,必要时可以针对工作流中的某个节点单独进行调试,以保证节点的成功运行。 在本案例中,需要对多语言文本翻译插件节点进行调试,步骤如下: 在工作流编排页面,单击插件节点的“”,进入插件节点的调试页面。 图15 单节点调试-1 在节点的“配置信息”输入请求参数的值以及Token值,单击“开始运行”。 其中,X-Auth-Token为文本翻译插件的鉴权参数,Token值由创建多语言文本翻译插件获取。 图16 单节点调试-2 单节点调试成功后,将在该节点显示“运行成功”字样及其运行时间。 图17 单节点调试成功示例
-
添加或删除数据 自动学习项目中,数据来源为数据集中输入位置对应的OBS目录,当目录下的数据无法满足现有业务时,您可以在ModelArts自动学习页面中,添加或删除数据。 添加文件 在“未标注”页签下,可单击页面左上角的“添加数据”,您可以在弹出对话框中,选择本地文件上传。 上传文件格式需满足文本分类型的数据集要求。 删除文本对象 在“已标注”页签或“未标注”页签下,选中需要删除的文本对象,单击页面左上角的“删除”,在弹出的对话框中,确认删除信息后,单击“确定”。 在“已标注”页签下,您还可以勾选“选择当前页”,单击“删除”,即可删除当前页下所有的文本对象及其标注信息。
-
修改标签 针对文本分类的自动学习项目,项目创建成功后,您可以根据业务变化,修改用于标注的标签。支持添加、修改和删除标签。 添加标签 在“未标注”页签下,单击“标签集”右侧的加号,在弹出“新增标签”对话框中,设置“标签名称”和“标签颜色”,然后单击“确定”完成标签添加。 修改标签 在“已标注”页签中“全部标签”的下方操作列,选择需要修改的标签,单击操作列的编辑图标,在弹出“修改标签”对话框中,修改“标签名称”或“标签颜色”,然后单击“确定”完成标签修改。 删除标签 在“已标注”页签中“全部标签”的下方,选择需要删除的标签,单击操作列的删除图标,在弹出“删除”对话框中,选择“仅删除标签”或“删除标签及仅包含此标签的标注对象”,然后单击“确定”完成标签删除。 所有的删除操作均不可恢复,请谨慎操作。
-
配置 在配置中,设置翻牌器组件的样式和动画。 图4 翻牌器配置 样式设置 字体:设置翻牌器字体、大小和颜色等。 数字背景:翻牌器中数字是否显示背景。“动画类型”设置为“翻牌类型”时,不支持隐藏背景。 数字背景颜色:设置翻牌器中数字的背景颜色。“数字背景”设置为“显示”时,才会显示该参数。 数字间隔:设置翻牌器数字之间的距离,单位为px。 卡片内边距:设置翻牌器数字与组件卡片之间的边距。 千分逗号:数字是否显示千分逗号,默认为“显示”。 标题:翻牌器标题是否显示,默认为“隐藏”。 标题内容:设置标题的内容。“标题”设置为“显示”时,才显示该参数。 标题对齐方式:设置标题的对齐方式,支持左对齐、居中和右对齐。“标题”设置为“显示”时,才显示该参数。 标题字体:设置标题的字体、大小和颜色。“标题”设置为“显示”时,才显示该参数。 单位:是否显示单位,默认为“隐藏”。 单位内容:设置单位的内容。“单位”设置为“显示”时,才会显示该参数。 单位字体:设置单位的字体、大小和颜色。“单位”设置为“显示”时,才会显示该参数。 动画设置 动画类型:设置翻牌器动画类型,支持普通类型、滚动类型和翻牌类型。 动画时间:设置动画时间,取值范围为[200, 100000],单位为ms。 单次变换间隔:设置动画单次变换间隔时间,取值范围为[50, 1000],单位为ms。
-
卡片 卡片是指包裹图表组件的外层架构,可以理解为组件由卡片中基础元素(卡片标题、图表、卡片背景、卡片边框)和图表元素构成。 图3 翻牌器卡片 背景 背景色:设置组件卡片的背景颜色。 边框:组件卡片边框设置,支持无边框、全边框和角边框三种样式。设置为全边框和角边框时,支持设置组件外圈边框的线型、圆角等。 样式:选择图片时,图片显示的样式,支持普通、居中、拉伸和平铺四种样式。 选择图片:使用本地的图片作为组件背景,支持新增目录和子目录,便于对图片进行分类管理。推荐使用JPG、JPEG、PNG或GIF格式的图片,且每张图片不能超过50MB。 特效:组件是否高亮显示,支持默认展示和跳转到页面时展示。 边距:组件中图表距离整个组件四边(上、下、左、右,如图2)的距离,默认为0,即铺满整个组件。
-
工作流节点设计 选取工作流的几个重要节点,每个节点负责特定的任务。以下是各节点的功能和设计思路: 开始节点:作为工作流的入口,开始节点负责接收用户输入的文本。无论是普通对话文本,还是包含翻译请求的文本,都将从此节点开始。 意图识别节点:该节点对用户输入的文本进行分类和分析,识别出用户的意图。主要包括以下两种意图: 文本翻译意图:系统识别出用户希望进行文本翻译的请求。 其他意图:包括普通对话、问答、或其他功能请求。该分支最终会引导文本到大模型节点进行处理。 提问器节点:当意图识别为“文本翻译”意图时,工作流将进入提问器节点。该节点主要负责提问用户翻译需求(如翻译文本、目标语言等)。 文本翻译插件节点:在翻译意图分支中,文本翻译插件节点负责调用华为云文本翻译API,实现从源语言到目标语言的翻译过程。插件将翻译结果返回,传递给结束节点。 大模型节点:如果用户的意图属于“其他”意图分支(如普通对话),则文本将被引导到大模型节点。大模型节点基于预训练的盘古NLP大模型生成响应,从而实现 自然语言理解 和生成。完成后,结果传递给结束节点。 结束节点:工作流的终结节点,负责输出最终结果。无论是翻译结果还是大模型生成的回答,都会通过该节点输出给用户。
-
关键字加工 e_kv函数和e_kv_delimit函数都可以通过prefix="", suffix=""对关键字和值进行加工。 原始日志 { "content":"q=asd&a=1&b=2"} 加工规则(各语句分开执行,功能相同) e_kv("content", sep="=", quote='"', prefix="start_", suffix="_end")e_kv_delimit("content", pair_sep=r"&", kv_sep="=", prefix="start_", suffix="_end")e_regex("content",r"(\w+)=([a-zA-Z0-9]+)",{r"start_\1_end": r"\2"}) 加工结果 加工后的数据都是关键字加工形式,如下: {"start_b_end": 2,"start_a_end": 1,"start_q_end": "asd","content": "q=asd&a=1&b=2"} e_regex函数对关键字加工的能力更强,例如: 加工规则 e_regex("content",r"(\w+)=([a-zA-Z0-9]+)",{r"\1_\1": r"\2"}) 加工结果 加工后的数据都是关键字加工形式,如下: {"q_q": "asd","a_a": 1,"b_b": 2,"content": "q=asd&a=1&b=2"}
-
值加工 日志格式为k1:"v1\"abc"形式, 同时值加工的内容存在有双引号符号的情形,使用e_kv函数可正常进行提取。 原始日志 """这里的\只是普通的符号,不是转义符"""{ "content":"k1:\"v1\\\"abc\", k2:\"v2\", k3: \"v3\""} 加工规则: e_kv("content",sep=":", quote='"') 加工结果 提取后的日志为: {"k1": "v1\\","k2": "v2","k3": "v3","content": "k1:\"v1\\\"abc\", k2:\"v2\", k3: \"v3\""}
-
常用方案比较 字符串动态键值对提取分为关键字提取、值提取、关键字加工和值加工,常用方案为采用e_kv函数、e_kv_delimit函数和e_regex函数等。不同提取场景的三种方案如下: 方案 关键字提取 值提取 关键字加工 值加工 e_kv 使用特定正则表达式 支持默认的字符集、特定分隔符或者带(、)或(")分隔 支持前后缀 支持文本escape e_kv_delimit 使用特定正则表达式 使用分隔符 支持前后缀 默认无 e_regex 组合自定义正则表达式和默认字符集过滤 完全自定义 自定义 自定义 大部分键值对的提取使用e_kv函数并配置特定参数就可以很好地满足,尤其是带括字符和反斜杠需要提取并转义时。其他复杂或高级的场景可以用e_regex函数来提取。部分特定场景下的键值对使用e_kv_delimit函数会更简单。
-
值提取 动态键值对之间以及关键字与值之间有明确标识,如a=b或a="cxxx"日志格式的,推荐用e_kv函数,示例如下。 原始日志 { "content":"k=\"helloworld\",the change world, k2=\"good\""} 加工规则 这种情况下使用e_kv函数,提取内容不包括the change world: e_kv("content")# e_regex函数写法e_regex("content",r"(\w+)=\"(\w+)",{r"\1": r"\2"}) 加工结果:提取后的日志为: {"k2": "good","k": "helloworld","content": "k=\"helloworld\",the change world, k2=\"good\""} 对带"的日志格式content:k1="v1=1"&k2=v2?k3=v3,推荐使用e_kv函数进行提取,例如: 原始日志 { "content":"k1=\"v1=1\"&k2=v2?k3=v3"} 加工规则 e_kv("content",sep="=", quote="'") 加工结果 处理后日志为: {"k1": "v1=1","k2": "v2","k3": "v3","content": "k1=\"v1=1\"&k2=v2?k3=v3"}
-
关键字提取 示例1 以k1: q=asd&a=1&b=2&__1__=3日志为例,如果要对该格式的日志作为关键字和值提取,三种方案如下: e_kv函数 原始日志 { "k1":"q=asd&a=1&b=2&__1__=3"} 加工规则 e_kv("k1") 加工结果 {"q": "asd","a": 1,"b": 2,"k1": "q=asd&a=1&b=2&__1__=3","__1__": 3} e_kv_delimit函数 原始日志 { "k1":"q=asd&a=1&b=2&__1__=3"} 加工规则 # 以&分隔键值后,用&分隔提取出关键字e_kv_delimit("k1", pair_sep=r"&") 加工结果 {"q": "asd","a": 1,"b": 2,"k1": "q=asd&a=1&b=2&__1__=3","__1__": 3} e_regex函数 原始日志 { "k1":"q=asd&a=1&b=2&__1__=3"} 加工规则 # 自行指定字符集提取关键字和值e_regex("k1",r"(\w+)=([a-zA-Z0-9]+)",{r"\1": r"\2"}) 加工结果 {"q": "asd","a": 1,"b": 2,"k1": "q=asd&a=1&b=2&__1__=3","__1__": 3} 示例2 以content:k1=v1&k2=v2?k3:v3为例,需要特定正则提取关键字,方案如下: e_kv_delimit函数 原始日志 { "content":"k1=v1&k2=v2?k3:v3"} 加工规则 e_kv_delimit("content",pair_sep=r"&?",kv_sep="(?:=|:)") 加工结果 {"k1": "v1","k2": "v2","k3": "v3","content": "k1=v1&k2=v2?k3:v3"} e_regex函数 原始日志 { "content":"k1=v1&k2=v2?k3:v3"} 加工规则 e_regex("content",r"([a-zA-Z0-9]+)[=|:]([a-zA-Z0-9]+)",{r"\1": r"\2"}) 加工结果 {"k1": "v1","k2": "v2","k3": "v3","content": "k1=v1&k2=v2?k3:v3"}
-
样式 尺寸位置 W:设置图表的宽,单位为px。 H:设置图表的高,单位px。 X:设置图表在画布中的位置。单位为px。 Y:设置图表在画布中的位置。单位为px。 不透明度:设置图表在画布上的透明度,可通过滑动条进行设置,也可手动输入百分比,比例越大透明程度越低。 图1 尺寸位置 全局样式:可设置组件的字体类型。 基础图表 合并数据为其他:勾选“合并数据为其他”,矩形树图显示数据区块为设置合并后区块数量;不勾选显示数据区块为字段中“查询返回数限制”的数量。 合并区块数量:用户可自定义设置,设置数量不能少于2个数据区块。如果设置的合并数量大于矩形树“查询返回数限制”的数值,矩形树显示数据块数则按照“查询返回数限制”数量显示。 区 域名 称:用户可根据使用场景自定义设置。 标签 文本:可设置标签的字号、颜色、字体粗细。字号设置范围10~100。 占比:支持矩形树图占比色设置。设置占比小数位显示范围0~10。 度量:支持矩形树图设置度量显示与不显示。 数值设置:支持对数值的语境、单位、科学计数法、使用千分位分割符、小数位的设置。 提示信息 显示/隐藏提示信息:勾选表示预览或查看发布组件时显示的提示信息;不勾选表示预览或查看发布组件时不显示提示信息。 可设置提示信息的字号大小、颜色、字体粗细。字号范围10~100。 系列 配色方案:支持默认色、经典、舒适、智能、数据、艺术、SaaS规范的配色方案。 图2 配色方案 系列:支持对系列颜色的配置(纯色)。 图3 系列颜色配置 总计 显示/隐藏总计:单击“显示总计”左侧的勾选框,表示显示总计,表示不显示总计。 自定义名称:用户可根据使用场景自定义总计名称。 可设置总计名称、数值的字号大小、颜色、字体粗细。字号范围10~100。
-
搜索表 本章节主要介绍如何使用文本搜索运算符搜索数据库表。 一个简单查询:将body字段中包含science的每一行打印出来。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132 DROP SCHEMA IF EXISTS tsearch CASCADE;CREATE SCHEMA tsearch;CREATE TABLE tsearch.pgweb(id int, body text, title text, last_mod_date date);INSERT INTO tsearch.pgweb VALUES(1, 'Philology is the study of words, especially the history and development of the words in a particular language or group of languages.', 'Philology', '2010-1-1');INSERT INTO tsearch.pgweb VALUES(2, 'Mathematics is the science that deals with the logic of shape, quantity and arrangement.', 'Mathematics', '2010-1-1');INSERT INTO tsearch.pgweb VALUES(3, 'Computer science is the study of processes that interact with data and that can be represented as data in the form of programs.', 'Computer science', '2010-1-1');INSERT INTO tsearch.pgweb VALUES(4, 'Chemistry is the scientific discipline involved with elements and compounds composed of atoms, molecules and ions.', 'Chemistry', '2010-1-1');INSERT INTO tsearch.pgweb VALUES(5, 'Geography is a field of science devoted to the study of the lands, features, inhabitants, and phenomena of the Earth and planets.', 'Geography', '2010-1-1');INSERT INTO tsearch.pgweb VALUES(6, 'History is a subject studied in schools, colleges, and universities that deals with events that have happened in the past.', 'History', '2010-1-1');INSERT INTO tsearch.pgweb VALUES(7, 'Medical science is the science of dealing with the maintenance of health and the prevention and treatment of disease.', 'Medical science', '2010-1-1');INSERT INTO tsearch.pgweb VALUES(8, 'Physics is one of the most fundamental scientific disciplines, and its main goal is to understand how the universe behaves.', 'Physics', '2010-1-1');SELECT id, body, title FROM tsearch.pgweb WHERE to_tsvector('english', body) @@ to_tsquery('english', 'science'); id | body | title ----+-------------------------------------------------------------------------------------------------------------------------+--------- 2 | Mathematics is the science that deals with the logic of shape, quantity and arrangement. | Mathematics 3 | Computer science is the study of processes that interact with data and that can be represented as data in the form of programs. | Computer science 5 | Geography is a field of science devoted to the study of the lands, features, inhabitants, and phenomena of the Earth and planets. | Geography 7 | Medical science is the science of dealing with the maintenance of health and the prevention and treatment of disease. | Medical science(4 rows) 像science这样的相关词都会被找到,因为这些词都被处理成了相同标准的词条。 上面的查询指定english配置来解析和规范化字符串。也可以省略此配置,通过default_text_search_config进行配置设置: 1 2 3 4 5 6 7 8 910111213141516 SHOW default_text_search_config; default_text_search_config ---------------------------- pg_catalog.english(1 row)SELECT id, body, title FROM tsearch.pgweb WHERE to_tsvector(body) @@ to_tsquery('science'); id | body | title ----+-------------------------------------------------------------------------------------------------------------------------+--------- 2 | Mathematics is the science that deals with the logic of shape, quantity and arrangement. | Mathematics 3 | Computer science is the study of processes that interact with data and that can be represented as data in the form of programs. | Computer science 5 | Geography is a field of science devoted to the study of the lands, features, inhabitants, and phenomena of the Earth and planets. | Geography 7 | Medical science is the science of dealing with the maintenance of health and the prevention and treatment of disease. | Medical science(4 rows) 一个复杂查询:检索出在title或者body字段中包含treatment和science的最近10篇文档: 12345 SELECT title FROM tsearch.pgweb WHERE to_tsvector(title || ' ' || body) @@ to_tsquery('treatment & science') ORDER BY last_mod_date DESC LIMIT 10; title --------Medical science(1 rows) 为了清晰,举例中没有调用coalesce函数在两个字段中查找包含NULL的行。 以上例子均在没有索引的情况下进行查询。对于大多数应用程序来说,这个方法很慢。因此除了偶尔的特定搜索,文本搜索在实际使用中通常需要创建索引。 父主题: 在数据库表中搜索文本
-
解析器测试 函数ts_parse可以直接测试文本搜索解析器。 12 ts_parse(parser_name text, document text, OUT tokid integer, OUT token text) returns setof record ts_parse解析指定的document并返回一系列的记录,一条记录代表一个解析生成的token。每条记录包括标识token类型的tokid,及token文本。比如: 1 2 3 4 5 6 7 8 910 SELECT * FROM ts_parse('default', '123 - a number'); tokid | token-------+-------- 22 | 123 12 | 12 | - 1 | a 12 | 1 | number(6 rows) 12 ts_token_type(parser_name text, OUT tokid integer, OUT alias text, OUT description text) returns setof record ts_token_type返回一个表,这个表描述了指定解析器可以识别的每种token类型。对于每个token类型,表中给出了整数类型的tokid--用于解析器标记对应的token类型;alias——命名分词器命令中的token类型;及简单描述。比如: 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627 SELECT * FROM ts_token_type('default'); tokid | alias | description -------+-----------------+------------------------------------------ 1 | asciiword | Word, all ASCII 2 | word | Word, all letters 3 | numword | Word, letters and digits 4 | email | Email address 5 | url | URL 6 | host | Host 7 | sfloat | Scientific notation 8 | version | Version number 9 | hword_numpart | Hyphenated word part, letters and digits 10 | hword_part | Hyphenated word part, all letters 11 | hword_asciipart | Hyphenated word part, all ASCII 12 | blank | Space symbols 13 | tag | XML tag 14 | protocol | Protocol head 15 | numhword | Hyphenated word, letters and digits 16 | asciihword | Hyphenated word, all ASCII 17 | hword | Hyphenated word, all letters 18 | url_path | URL path 19 | file | File or path name 20 | float | Decimal notation 21 | int | Signed integer 22 | uint | Unsigned integer 23 | entity | XML entity(23 rows) 父主题: 测试和调试文本搜索
-
解析文档 GaussDB (DWS)中提供了to_tsvector函数把文档处理成tsvector数据类型。 1 to_tsvector([ config regconfig, ] document text) returns tsvector to_tsvector将文本文档解析为token,再将token简化到词素,并返回一个tsvector。其中tsvector中列出了词素及它们在文档中的位置。文档是根据指定的或默认的文本搜索分词器进行处理的。这里有一个简单的例子: 1234 SELECT to_tsvector('english', 'a fat cat sat on a mat - it ate a fat rats'); to_tsvector----------------------------------------------------- 'ate':9 'cat':3 'fat':2,11 'mat':7 'rat':12 'sat':4 通过以上例子可发现结果tsvector不包含词a、on或者it,rats变成rat,并且忽略标点符号-。 to_tsvector函数内部调用一个解析器,将文档的文本分解成token并给每个token指定一个类型。对于每个token,有一系列词典可供查询。词典系列因token类型的不同而不同。识别token的第一本词典将发出一个或多个标准词素来表示token。例如: rats变成rat因为词典认为词rats是rat的复数形式。 有些词被作为停用词(请参考停用词),这样它们就会被忽略,因为它们出现得太过频繁以致于搜索中没有用处。比如例子中的a、on和it。 如果没有词典识别token,那么它也被忽略。在这个例子中,符号“-”被忽略,因为词典没有给它分配token类型(空间符号),即空间符号永远不会被索引。 语法解析器、词典和要索引的token类型由选定的文本搜索分词器决定。可以在同一个数据库中有多种不同的分词器,以及提供各种语言的预定义分词器。在以上例子中,使用缺省分词器english。 函数setweight可以给tsvector的记录加权重,权重是字母A、B、C、D之一。这通常用于标记来自文档不同部分的记录,比如标题、正文。之后,这些信息可以用于排序搜索结果。 因为to_tsvector(NULL)会返回空,当字段可能是空的时候,建议使用coalesce。以下是推荐的为结构化文档创建tsvector的方法: 1 2 3 4 5 6 7 8 910 CREATE TABLE tsearch.tt (id int, title text, keyword text, abstract text, body text, ti tsvector);INSERT INTO tsearch.tt(id, title, keyword, abstract, body) VALUES (1, 'book', 'literature', 'Ancient poetry','Tang poem Song jambic verse');UPDATE tsearch.tt SET ti = setweight(to_tsvector(coalesce(title,'')), 'A') || setweight(to_tsvector(coalesce(keyword,'')), 'B') || setweight(to_tsvector(coalesce(abstract,'')), 'C') || setweight(to_tsvector(coalesce(body,'')), 'D');DROP TABLE tsearch.tt; 上例使用setweight标记已完成的tsvector中的每个词的来源,并且使用tsvector连接操作符||合并标记过的tsvector值,处理tsvector一节详细介绍了这些操作。 父主题: 控制文本搜索
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格