华为Could API人工智能系列——依存语法分析

华为Could API人工智能系列——依存语法分析


前言

云原生时代,开发者们的编程方式、编程习惯都发生了天翻地覆的变化,大家逐渐地习惯在云端构建自己的应用。作为新一代的开发者们,如何更快速了解云,学习云,使用云,更便捷、更智能的开发代码,从而提升我们的开发效率,是当前最热门的话题之一,而Huawei Cloud Toolkit,作为连接华为云的百宝箱,是集成在各大IDE平台上的插件集合,会在方方面面提升着开发者的效率。

华为云API开发套件助力开发者快速集成华为云,可做到便捷连接200+的华为云服务,引用7000+的华为云API服务,在IDE中集成华为云的功能,让开发者与云端华为云建立连接。

智能编码方面集成了华为云自主研发的代码大模型和软件分析技术,全场景函数级、行级代码生成,同规模算力一次通过业界第一,这会帮助开发者更为高效的使用自动语义生成,达到快速开发的目的,使整个过程更智能。

环境准备

开发语言:Python

开发工具:PyCharm Community Edition 2023.1.4

PyCharm插件:

1、Chinese (Simplified) Language Pack /中文语言包

2、Huawei Cloud API:华为云API插件提供华为云服务全量API检索、调试、SDK代码自动补全、集成华为云CLI、示例代码等功能

3、Huawei Cloud CodeArts Check:华为云代码检查插件提供业界规范(含华为云)检查,支持一键格式化和代码自动修复,当前支持Java、C++、C,这个使您使用的环境操作即可,我这里用的python没有提示。

4、Huawei Cloud CodeArts Snap:华为云 CodeArt Snap 智能编程助手致力于打造现代化开发新范式,通过将自然语言转化为规范可阅读、无开源漏洞的编程语言,提升开发者编码效率,助力企业快速响应市场不确定性;

5、Huawei Cloud Toolkit Platform:华为云底座插件为华为云各类云服务插件提供公共能力,比如单点登录、UI集成、API访问等功能;

PyCharm环境的搭建:https://laoshifu.blog.csdn.net/article/details/135279145

API接口开通地址:https://console.huaweicloud.com/nlp/#/nlp/overview 


依存语法分析

识别句子中词汇与词汇之间的相互依存关系。

开通操作地址:https://console.huaweicloud.com/nlp/#/nlp/overview

开通完毕:

请求参数

名称 类型 IN 必选 描述
X-Auth-Token string header true

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

project_id string path true

来自公有云的Project ID,用于资源隔离。

Body 参数

名称 类型 必选 描述
text string true

待分析文本,长度为1~32,文本编码为utf-8。

lang string false

支持的文本语言类型,目前只支持中文,默认为zh。

返回参数

名称 类型 必选 描述
id integer true

词汇id

word string true

词汇内容

head_word_id integer true

头节点ID,根节点默认为0

pos string true

词性

dependency_label string true

词与头节点的依存关系,包括以下几种类型 1.根节点root 根节点是指整个句子的谓语动词。 如:我/爱/妈妈(root->爱)。 2.同主语同宾语关系sasubj-obj (same subject and object) 同主语同宾语关系是指句子中属于同一级且具有相同的主语和宾语的两个动词。 如:我/一直在/研究/和/思考/这个/问题/。(研究–>思考)。 3.同主语关系sasubj (same subject) 同主语关系是指句子中属于同一级且具有相同的主语中的两个动词。 如:我/走进/操场/打/篮球/。(走进–>打)。 4.不同主语关系dfsubj (different subject ) 不同主语关系是指句子中属于同一级且具有不同的主语的两个动词。 如:我/走进/操场/打/篮球/。(走进–>打)。 5.主语关系subj (subject) 主语关系是指动词的主语 如:我/爱/妈妈(我<-爱)。 6.主谓谓语中的内部主语关系subj-in (subject inside a subject-predicate predicate) 句子中一个主谓短语,是对主语动作或状态的陈述或说明时,那么就认为这个主谓短语整体作为谓语。 为了区分两个主语,里面那个主语的依存关系类型为subj-in,外面的主语的依存关系类型为subj。 如:他/确实/头/疼(头<–疼)。 7.宾语关系obj (object) 宾语是指谓语动词的承受对象,即受事。 如:我/爱/妈妈(爱->妈妈)。 8.谓语关系pred (predicate) 兼语结构句式一般有两个动词(V1+N+V2),其中N 是V1 的宾语,同时又是V2 的主语,V2即为N的谓语。 如:命令 /他/扫地(他–>扫地)。 9.定语关系att (attribute) 定语关系是指定语和中心词之间的关系,定语对中心词起修饰或限制作用。 如:国家/主席(国家<–主席)。 10.状语关系adv (adverbial) 状语一般修饰谓语动词或形容词,状语在核心词的前面。 如:非常/喜欢(非常<–喜欢)。 11.补语关系cmp (complement) 补语一般修饰谓语动词或形容词,补语在核心词的后面(和状语相反)。 如:洗/干净/手(洗–>干净)。 12.并列关系coo (coordination ) 并列关系是指两个相同性质的词并列在一起。 如:鲜花/和/掌声(鲜花–>掌声)。 13.介宾关系pobj (preposition-object) 介词后面的名词或代词称为介词宾语。 如:在/家/看书(在–>家)。 14.间接宾语关系iobj (indirect-object) 有些动词可以同时支配两个宾语。为了区分,将第一个宾语称为间接宾语。 如:给/他/书(给–>他)。 15.“的”字关系de (de-construction) “的”字关系是指“的” 后面很明显应该有名词或代词,但被省略,此时“的”与前面的成分构成“的”字关系。 如:这/是/他/的(他<–的)。 16.附加关系adjct (adjunct) 附加关系是指一些句子中没有实际意义的、只是为了让句子结构完整、或者讲起来更有韵味(抑扬顿挫)的词语。 如:我/走/了(走–>了)。 17.称呼关系app (appellation) 称呼关系是指对人的称呼,主要是口语中的现象。 如:老师/,/你/好(老师<–好)。 18.进一步解释关系exp (explanation) 汉语书面语中,常常会使用括号在原本流畅的表达中,插入一些解释说明的话。括号中的内容如果是解释说明对应的词、或短语、或句子则为进一步解释关系。 如:普京/(/俄罗斯/总统/)(普京–>总统)。 19.标点关系punc (punctuation) 标点符号依存于其前面句子的核心词。 如:我/爱/妈妈(爱->。)。 20.片段关系frag (fragment) 片段关系是指汉语中不符合语法、支离破碎、病句的汉语句子。 如:你/,/我/,/中国/。(你–>我–>中国)。 21.重复关系repet (repetition) 重复关系是指汉语口语中出现说话结巴、重复称呼、表示强调等情况。 如:你 吃/,/吃/饭/了/吗/?(吃–>吃)。

API调试

测试文本:【红目香薰祝大家24年洪福齐天,寿比南山。】

返回结果

内容比较多:

{
 "words": [
  {
   "dependency_label": "att",
   "head_word_id": 2,
   "id": 1,
   "pos": "NN",
   "word": "红目"
  },
  {
   "dependency_label": "subj",
   "head_word_id": 3,
   "id": 2,
   "pos": "NN",
   "word": "香薰"
  },
  {
   "dependency_label": "root",
   "head_word_id": 0,
   "id": 3,
   "pos": "VV",
   "word": "祝"
  },
  {
   "dependency_label": "subj",
   "head_word_id": 7,
   "id": 4,
   "pos": "PN",
   "word": "大家"
  },
  {
   "dependency_label": "att",
   "head_word_id": 6,
   "id": 5,
   "pos": "CD",
   "word": "24"
  },
  {
   "dependency_label": "adv",
   "head_word_id": 7,
   "id": 6,
   "pos": "M",
   "word": "年"
  },
  {
   "dependency_label": "obj",
   "head_word_id": 3,
   "id": 7,
   "pos": "NR",
   "word": "洪福齐天"
  },
  {
   "dependency_label": "punc",
   "head_word_id": 7,
   "id": 8,
   "pos": "PU",
   "word": ","
  },
  {
   "dependency_label": "sasubj",
   "head_word_id": 7,
   "id": 9,
   "pos": "NN",
   "word": "寿比"
  },
  {
   "dependency_label": "obj",
   "head_word_id": 9,
   "id": 10,
   "pos": "NR",
   "word": "南山"
  },
  {
   "dependency_label": "punc",
   "head_word_id": 10,
   "id": 11,
   "pos": "PU",
   "word": "。"
  }
 ]
}

这是完全拆开了,挺靠谱的。

本地测试

测试完毕,文本拆分能力还是不错的,相当于分词来使用,挺好。

猜你喜欢

转载自blog.csdn.net/feng8403000/article/details/135338406