语义模型红皮书

语义模型红皮书
语义模型红皮书

用友软件股份有限公司

商业分析平台语义模型红皮书

版本:V6.0.0.20120227

目录

一、前言 (3)

1.概念 (3)

2.定位 (3)

二、结构 (3)

1.应用模型 (3)

2.语义模型 (4)

a) 定义形态 (4)

b) 执行流程 (6)

c) 数据形态 (6)

3.语义提供者 (7)

a) 接口 (7)

b) 扩展 (9)

4.函数 (13)

a) 函数解析 (13)

b) 函数扩展 (13)

5.参数 (15)

a) 参数定义 (16)

b) 参数引用 (16)

c) 参数设置 (16)

6.宏变量 (18)

7.描述器 (19)

8.数据加工 (20)

9.物化策略 (23)

10.复合语义模型 (24)

11.语义上下文 (28)

三、语义模型的管理 (31)

1.对象管理 (31)

2.环境配置 (34)

四、功能扩展 (41)

1.扩展语义提供者 (41)

2.扩展业务函数 (42)

3.使用数据加工 (42)

4.自定义执行策略 (42)

五、附录 (43)

1.入门 (43)

2.语义模型API (48)

3.语义函数 (50)

4.其他函数 (50)

5.脚本引擎 (52)

6.针对查询引擎的改进 (52)

一、前言

1.概念

SMART,即Semantic Modeling for Analysis Report Toolkit, 分析报表语义建模工具。

2.定位

语义模型把面向技术的数据,组织成面向业务的数据,供业务人员查询分析使用

二、结构

1.应用模型

上图为语义模型应用结构图。语义模型通过语义提供者,可以将多个数据源的数据进行整合。

2. 语义模型

定义形态

下图展示了语义模型的内部结构,

语义模型主要由以下几部分构成:

1.1 元数据

元数据是指描述数据的数据,是为了外界使用数据而对数据本身含义的阐述。拿我们最常见的二维数据(行列结构)举例来说,如果只有这些行列结构的数据,对我们来说这将毫无意义。因为我们无法知道哪一列的数据代表什么含义,无法知道如何操作这些数据,更别提由这些数据分析出有用的信息。反过来,如果针对这些数据指定了元数据,我们就可以了解哪一列代表的业务含义,并且知道该列的数据类型、长度、精度等。这样,我们就能对这些数据进行加工处理,分析提取出有价值的信息。

同理,语义模型的元数据是对执行语义模型后获取的二维数据的描述。元数据针对结果数据的每一列都提供了下列信息:数据类型、字段显示名、字段名、备注、长度、精度等。有了这些信息,我们就能知道在业务应用中该如何使用语义模型。

1.2语义提供者

语义提供者,表述了一类取数方式,或者说如何提供数据的方式。在语义模型中,语义提供者负责把一类业务取数过程以语义脚本的形式描述出来。

为了能更好的理解这个概念,我们可以打这样一个比方:NC元数据、数据仓库、报表数据、总账数据等这些可提供数据的对象好比“数据水源”,而语义提供者好比“水泵”,语义模型好比“抽水机”。每种“数据水源”只支持特定的“水泵”

来抽取数据。我们有了一种语义提供者“水泵”,就能抽取其对应的“数据水源”

里的数据。语义模型中能指定多个语义提供者,就相当于“抽水机”挂接了多个“水泵”,我们就能从多个不同类型的“数据水源”来抽取数据。

语义提供者负责抽取数据,同时对外提供元数据来描述这些数据。语义提供者的元数据一般是在语义模型内部使用。

更多细节以及语义提供者的扩展说明参见章节《语义提供者》。

1.3描述器

描述器是指对数据操作的描述,例如:过滤、排序、分页、汇总等。在语义模型中,描述器表述了对语义提供者抽取的数据的加工处理过程。

更多细节参见章节《描述器》。

1.4首选项

语义模型中的首选项包括三类数据:参数、宏变量、配置项。下面将分别介绍:

1.4.1参数

参数是模型中代表动态信息的元素,用于响应用户的输入。参数给用户提供了

控制模型执行过程的机会。

更多细节参见章节《参数》。

1.4.2宏变量

宏变量与参数类似,区别是,参数在模型执行时需要用户输入值;而宏变量不

需要与用户交互,系统后台会根据上下文计算该值。

更多细节参见章节《宏变量》。

1.4.3配置项

配置项用于控制语义模型的执行方式。

执行流程

语义模型的执行流程如下图所示:

语义提供者:NC 元数据QDI 元数据业务数据语义模型...

语义函数:smart()report()parameter()macro()...

语义模型执行过程可分为以下步骤: 第一步:语义模型脚本化

语义模型中的对象结构将转变为字符串形式的语义脚本。

第二步:脚本对象化

通过脚本引擎把语义脚本解析为脚本模型,即把字符串形式的脚本 对象化。

第三步:脚本模型翻译为SQL

基于脚本模型,处理其中的语义函数,把脚本模型翻译为标准SQL 语句。 运行态描述器会在这一步被处理。

第四步:执行sql ,把结果集封装为DataSet ,返回DataSet 。

由于运行态描述器的存在,每次执行语义模型时获取的最终sql 都是不同的,但是,语义模型本身对应的脚本模型是相同的。基于性能考虑,我们可以把语义模型对应的脚本模型缓存起来。这样一来,只有第一次执行语义模型时,我们需要完整执行上述四个步骤,接下来的每次执行,我们只需取得该缓存的脚本模型,再做第三、四步的处理即可。

数据形态

语义模型提供的数据可以以两种形态存在:数据集DataSet 、数据表DbTable 。从数据流转的角度来说,语义模型代表了一种取数管道,数据可以从管道中抽取出来。数据集DataSet 代表了内存中的数据,或者说,数据在内存中以数据集DataSet 为载体。数据表DbTable 代表了数据库中的数据,或者说,数据在数据库中以数据表DbTable 为载体。语义模型、数据集、数据表 这三者之间还存在互相转换的关系,下图形象的展示了这点:

数据从语义模型这种数据管道中加载到内存,就以数据集的形式存在;如果把数据集中的当前数据持久化到数据库中,数据就以数据表的形式存在;把数据从数据库中加载到内存中,就完成了数据表到数据集的转换;数据表可以以语义提供者的形式构成语义模型,完成数据从数据表到语义模型的流转;并且,语义模型经由视图化执行,最终的结果集将以数据表的形式呈现。

数据在不同形态间流转时,改变的是数据载体,不变的数据本身的结构,即元数据。

3.语义提供者

语义提供者,表述了一类取数方式,或者说如何提供数据的方式。在语义模型中,语义提供者负责把一类业务取数过程以语义脚本的形式描述出来。

a)接口

语义提供者包括NC元数据、DW元数据、以及语义脚本和业务代码扩展提供者。

提供总帐、HR、供应链、报表等业务数据扩展。其整个体系结构可由下图表示:

SQL的应

以提供二维

其中,Provider是语义提供者的接口;

SemanticProvider是基础扩展抽象类,对能把取数过程以脚本形式描述的语义提供者可继承此类;

SemanticDataProvider是语义数据扩展抽象类,对不能以脚本形式描述取数过程,只能提供二维数据的提供者,可继承此类。

SemanticSqlProvider适用于提供者在运行时根据执行环境context返回不同取数sql

与SqlProvider的区别在于:

SqlProvider的sql结构在定义态已经确定;

SemanticSqlProvider是在运行时,经过一系列业务处理,返回最终取数sql.

上述图中,蓝色代表具体实现类。

通过以上的介绍我们可以得知,Provider定义了语义提供者的接口规范,SemanticProvider、SemanticDataProvider、SemanticSqlProvider则是我们具体实现提供者时要继承的抽象类。现对这四个类的主要接口做重点介绍。

Provider

●SemanticProvider

●SemanticDataProvider

●SemanticSqlProvider

b)扩展

前面介绍了语义提供者的整个体系结构,现在我们拿一个具体例子来讲解如何实现一个语义提供者。

我们以比较简单的“数据表”这类取数方式来做示例。

扩展语义提供者可分为以下三步:

i.实现语义提供者类

由前文介绍,我们知道实现一个提供者有三种方式:

1.继承SemanticProvider:能把取数过程以脚本形式描述的语义提供者可继

承此类

我们现以数据表提供者为例来讲解如何以此种方式实现语义提供者。

数据表提供者对应的实现类为:DbTableProvider,该类继承于

SemanticProvider,实现了接口provideMetaData(SmartContext context) ,

provideScript(SmartContext context)。

数据表提供者,是把NC元数据底层数据模型中的一张表作为操作对象,从中抽取数据。其在语义模型中的操作是这样的:

在上级“模块”目录上选中模块“平台”,展开后在子节点上选中“sm_user”

这张表。

在数据表提供者DbTableProvider中,我们只需要存储一条信息:表名。

这些信息可以看做取数过程的业务描述,接下来我们做的就是把这些业务描述

转换为以语义模型中的概念来进行描述。

实现provideMetaData(SmartContext context)接口:有了表名信息,我们就可

以把其列信息拿到,列Column解析为字段Field,每列对应一个字段,多个

列对应的多个字段就组合为元数据MetaData。

实现provideScript(SmartContext context)接口:数据表提供者比较简单,直

接返回表名即可。

到此,我们的数据表语义提供者类就实现完毕。

2.继承SemanticDataProvider:不能以脚本形式描述取数过程,只能提供二

维数据的提供者,可继承此类

例如,供应链中有些查询并不能直接通过一条sql就能查出,中间可能经

过一系列复杂的代码运算逻辑来构造这个结果数据,这时我们就可以继承

SemanticDataProvider来实现语义提供者。

继承此类只需要实现provideData(SmartContext context)接口:在该方法

中,我们编写运算逻辑,构造最终的结果数据DataSet,返回之即可。

在此我们有必要介绍下DataSet的结构。DataSet主要包含两部分:元数

据MetaData,数据容器Object[][](即二维数组)。Object[][]即是

最终的结果数据,MetaData 是对数据的描述信息,包含对应字段信息:字

段名、数据类型、数据精度 等。

3. 继承SemanticSqlProvider :应用方式与SemanticDataProvider 类似,不同在于,

SemanticDataProvider 最终返回二维数据,而SemanticSqlProvider 返回sql 语句。

ii. 实现语义提供者设计向导类

有了语义提供者类,我们还需要一个设计器来设计语义提供者。每个设计器都需要实现接口IProviderDesignWizard 。该接口只有一个方法:

当设计语义提供者时,会调用此方法,调用完成返回提供者实例。

数据表提供者设计向导类为DbTableProviderDesigner 。其界面效果如下图所

示:

其具体处理流程为:调用design()方法,打开一如上图所示对话框,用户选中表后,点“确定”按钮,构造一个DbTableProvider 实例,返回之。 iii. 配置文件注册

编写完语义提供者类、设计向导类,我们还需在配置文件中注册该种语义提供

者,以便在语义模型能加载到。所谓注册,即在配置文件中增加相应配置项。

为方便各模块扩展语义提供者,在开发环境下,配置文件存放位置为各模块

resources下的smart目录:

${NC_Project}/resources/smart/smart_${模块号}.xml

如总帐项目扩展配置文件路径为:

gl/resources/smart/smart_gl.xml

这样在安装盘中,各模块扩的扩展配置文件将都在NC_HOME/resources/smart/

目录中。

具体配置信息如下:

每个语义提供者注册项包含五种属性:名称、图标路径、类型、语义提供者类

名、设计向导类名。其格式为:

其中,type类型是用于区分预置的语义提供者和用户自定义的语义提供者,

其有效值有:preset、custom。分别对应系统预置、用户自定义两种类别。一

般用户在自己扩展实现自定义的语义提供者时,可以直接去掉type项,或者

把该项设置为custom。

以数据表提供者举例,其配置项为:

至此,我们的语义提供者就全部实现了,在语义模型的设计向导中就会支持该类型的语义提供者。

4.函数

a)函数解析

语义脚本支持sql语法和自定义函数的混合编写。

系统默认函数有smart(), nc_metadata(), qdi_metadata(), parameter(),macro(),后续会扩展字符串函数、时间函数等。NC公式统一走宏变量定义。

b)函数扩展

语义模型支持对其函数进行扩展,用户可以根绝业务需求添加自定义函数。具体步骤如下:

、根据函数接口(ISemanticCommand)实现自定义函数。类图示意如下:

1

2、在函数扩展配置文件进行配置。

默认配置文件路径为${NC_Home}/resources/smart/function_default.xml。

为方便各模块扩展函数,在开发环境下,配置文件存放位置为各模块resources下的smart目录:

${NC_Project}/resources/smart/function_${模块号}.xml

如总帐项目扩展配置文件路径为:

gl/resources/smart/function_gl.xml

这样在安装盘中,各模块的扩展配置文件将都在NC_HOME/resources/smart/目录中。

配置文件示例如下:

配置文件中是根据驱动名称进行组织的,驱动总共分为两类SmartFunctionDriver和DBFunctionDriver。之所以对驱动进行区分是因为在不同的功能点,加载的函数驱动可能不同。

在实际配置过程中,用户可以根据自己的需要把自定义的函数类全路径名放在已有的驱动定义或新增加自定的驱动定义中,即可完成函数的扩展。

5.参数

参数是模型中代表动态信息的元素,用于响应用户的输入。在模型的执行过程中,可以根据参数值的不同来影响结果数据。参数常用于对筛选条件的设置上。示意图如下:

1参数定义

参数是与具体的模型绑定的,在每个模型的设计过程中都可以对参数进行定义。参数的类型分为:字符,数值,枚举和参照。当类型为枚举时,枚举项为用“@”分隔的枚举值,或者是一个单字段的查询SQL;当类型为参照时,枚举项为基础参照名,或者是用尖括号括起的自定义参照的类名。在定义的时候需要注意,参数的编码要保证互不相同。

参数引用

参数引用主要在模型设计中的筛选描述器部分,在筛选描述器的条目中,值类型选择为参数时候,则会在值字段的下拉列表中列出相应的参数。另外在模型设计的“Smart脚本”中,我们提供了“parameter”函数,在函数列表中双击,则会弹出参数选择框。

参数设置

运行态要求用户首先对参数进行设置,当报表引用了多个语义模型时,参数将通过多页签设置,每个页签代表一个模型。另外需要注意的是,模型在运行态时会对参数是否被引用进行检查,最终的设置界面上只会显示被引用的参数。

参照依赖

设计态增加“参照依赖”列,参照型的参数可以使用参照依赖,其他类型即使设置也不会起作用

“参照依赖”中支持parameter,macro 函数;例如:

sm_user.cuid=parameter('param1') and pk_org=macro('m1')

如果参照是树表形式的,并且需要分别对树和表进行设置,则输入框中输入的条件用“;”

分割。

定义态的默认值设置支持参照依赖,即参照显示的值会根据依赖的条件过滤。

具体设置:

自定义参照

参照类型参数支持对参照编辑的自定义设置。实现方法:在设计态,属性列编辑框中通过注册自定义编辑器的方式实现,方式为“<类路径>”。相关的具体规则如下:

编辑界面基类:nc.ui.pub.smart.designer.preference.CustomParamDlg ,自定义编辑器必须

其中buildUI

3、使用说明:见下图

6.宏变量

宏变量引申自程序设计中的宏,其表达式会被替换为字符串,并在最终的查询语句中可以被完全替换。

宏变量根据作用域分为全局宏变量和模型宏变量。故名思意,全局宏变量用于全局共享,在任何语义模型中都可以直接引用。模型宏变量与具体的语义模型相关,其只在当前模型中其作用。全局宏变量中包含多个预置宏变量,如LoginDate,LoginUser等,方便共享。

宏变量其定义与参数类似,不同之处在于其类型有两种选择“公式”和“SQL语句”。公式只是其表达式支持NC公式的编辑;SQL语句是指一般的SQL语句,但默认情况下取值只能取第一行第一列的值。宏变量示意图如下:

宏变量的引用与参数相同,分别在筛选描述器和Smart脚本的公式(macro)中可以对其引用。另外与参数区别的是,由于宏变量都是固定的值,因此不需要与用户进行交互,所有在浏览态没有相应的设置界面。

7.描述器

Descriptor是指对数据操作的描述,例如:过滤、排序、分页、汇总等。

现支持以下几种描述器:

描述器可在设计态、运行态两处使用。

在设计语义模型时,我们通过设计向导能构造设计态的描述器,保存于语义模型中;在执行语义模型时,我们可以另外自己构造运行态的描述器,对语义模型进行再处理。

对于语义模型的使用者,一般接触到的是运行态的描述器,现对这部分进行详细讲解。

构造描述器:对于提供了设计界面的描述器,可以调用界面类来构造描述器;也可以在后台直接构造描述器。

调用provide接口:把上述描述器封装到描述器数组Descriptor[] descs,然后传入语义模型相应的provide接口方法中:

上述方法中的Descriptor[] descs 即是运行态描述器,藉此提供了对语义模型进行再处理的可能。

8.数据加工

2概念

数据加工是语义模型提供的一类取数方式,支持用户使用java代码来定义一段取数逻辑。

定位

考虑到在现实应用中业务逻辑的复杂性,单纯依赖sql语句,用户并不是总能得到想要的结果集。

因此提供了在语义模型嵌入Java代码的功能,用于单纯sql处理不了的场景。

由于数据加工是在从数据库中取出结果集后在内存中进行操作,考虑到资源和效率问题,我们建议只有在SQL解决不了的数据处理要求,才使用数据加工实现。

由于在数据加工中提供的通过Java代码实现相关数据处理的功能,理论上讲其可以满足任意相关的业务逻辑需求,复杂的业务逻辑算法需要在实际应用开发中按照不同情况和场景灵活使用。

执行原理

在使用时,数据加工分为两个步骤:

第一步使用java代码定义取数逻辑,最终返回sql语句或结果集DataSet。基于性能考虑,推荐返回值为sql;

第二步定义元数据,即对上述代码返回的数据的描述,包括:有哪几列、每一列的数据类型、长度、精度等;

2019年NC数据加工做语义模型(DOC)

报表语义模型(数据加工:返回结果集方式) 数据加工方式:1.返回查询SQL ; 2.返回结果集DataSet;3.返回数据表。 实现方式基本一致,可以参照系统原有报表语义模型 一、新建报表查询入口类,初始化报表字段 1.数据加工查询业务处理接口的定义: package 票据信息查询/票据池额度查询接口 * * @author 温燕荣WYR * @date 2014-04-15 */ public interface IFbmQueryPaperBillService { /** * 票据信息查询 * @param context * @return * @throws BusinessException */ public DataSet queryPaperBillInfo(IContext context) throws Exception; /** * 票据池额度查询接口 * @param context * @return * @throws BusinessException */ public DataSet queryPaperBillPoolLimit(IContext context) throws Exception; } 2.数据加工入口类,初始化报表字段 package 票据池额度查询入口类 * * @author 温燕荣WYR * @date 2014-04-15 */ public class QueryPaperPoolLimitService {

private static final MetaData metaData; public QueryPaperPoolLimitService(){ super(); } /** * 获得结果集 * * @param context 报表界面查询传进来的参数(查询条件=值,系统一些默认参数等)* @return */ public static DataSet queryPJCAmt(IContext context)throws Exception { ookup DataSet resultDataSet = (context); setPrecision(resultDataSet); return resultDataSet; } etFields()) { if () == { (300); } } } /** * 获得票据池额度元数据(相当于代码写一个元数据) * * @return */ public static MetaData getPJCAmtrMetaData(){ return metaData; } } 二、数据加工业务处理 hangeQueryPaperBillPoolVO(hashmap);

语义检索

在数字图书馆中,信息检索存在明显不足。在文献的组织与描述上,简单将关键词作为描述文献的基本元素,文献之间没有关联,是相互独立的、无结构的集合。在检索操作上,通常是基于关键词的无结构查询,难以反映词语间各种语义联系, 查询能力有限,误检率和漏检率很高,检索结果的真实相关度较低;计算查询和文档之间的相似度的方法也有局限。在用户交互界面上,用户的检索意图难以被机器理解,采用自然语言输入的检索关键词与机器的交互存在障碍。现有数字图书馆信息资源检索存在资源表示语义贫乏和检索手段语义贫乏、查准率低下等问题,语义网技术的出现,为数字图书馆的发展注入了新的活力,为信息检索质量的提高带来了新的生机。运用语义网技术,使解决信息检索中现存的问题,完善信息检索流程成为了可能。3.1 数字图书馆信息检索模型目前数字图书馆的信息检索主要借助于目录、索引、关键词方法来实现, 或者要求了解检索对象数据结构等, 对用户提供的关键词的准确性要求较高,基于语法结构进行检索, 却不能处理复杂语义关系,常常检索出大量相关度很差的文献。 图3.1 数字图书馆信息检索模型用户通过检索界面,输入关键词,文本操作系统对用户的关键词进行简单的语法层次的处理整合,与数字图书馆资源进行匹配检索,最终将检索的结果,再通过用户界面返回给用户。而数字图书资源,专业数据库等都是数字图书馆信息检索的范畴,这些数字化的知识资源主要以数据库形态分布于全球互联网的数千个站点,这种以数据库形式存放的信息资源,通常是电子化了的一次文献,包括元数据、摘要或者是全文,也可以是全文链接的地址。 24 基于语义网的数字图书馆信息检索模型研究 3.2 基于语义网的数字图书馆信息检索模型的设计思想数字图书馆信息检索系统存在诸多问题。查询服务智能化水平低,无法对用户请求进行语义分析;信息资源的共享程度低,仅仅采用题名、文摘或全文中出现的关键词标识文献内容,难以揭示文献资料所反映的知识信息,易形成信息孤岛;对用户输入的关键词进行句法匹配,查准率不高;片面追求查全率,返回大量无关结果等。这些问题最终造成用户的真正检索意图难以实现。人们希望有突破性的信息检索技术出现,能够支持更为强大的信息检索功能,具备理解语义和自动扩展、联想的能力,并为用户提供个性化服务。在这样的需求下,本节深入探讨了现存问题的解决方法,结合语义网技术,提出了以下基于语义网的数字图书馆信息检索模型的设计思想。3.2.1 机器理解与人机交互人们通过信息的交流和沟通,表达一定的思想、意思和内容,因此,自然语言和表达的信息中蕴含着丰富的语义。尤其是自然语言中,一词多义、一义多词现象十分常见,在不同的语境中,同样的词汇还可以表达出不同的意义。在人与人的交流中,近义词、反义词、词语的词性、语法结构等帮助人们在特定的语言环境中理解语言表达的确切含义,而计算机要做到这点却有难度。随着网络的不断发展,网络信息充斥着人们的视野。如何在浩如烟海的信息资源中,以最短的时间查找出相关资源,成为人们所关注的问题之一。通常,检索系统总会返回相关度不高,甚至完全无关的信息,而有些相关的信息却往往被遗漏了。一方面,检索工具没能把已经存在的、对用户有价值的信息检索出来,另一方面,信息资源没有很好的被归纳,提炼成知识。利用语义网技术,将语义丰富的描述信息和资源关联起来,通过机器理解和人机交互,对信息资源进行深层次的分析和挖掘。从本质上讲,人机交互是认知的过程,主要通过系统建模、形式化语言描述等信息技术,最终实现和应用人机交互系统。3.2.2 语义知识与描述逻辑从语义学的角度讲,语义是语言形式表达的内容,是思维的体现者,是客观事物在人们头脑中的反映[72]。人们在进行信息交流和沟通时,通过词语、符号来表达思想。当人们看到

图像语义分析与理解综述

*国家自然科学基金资助项目(N o .60875012,60905005) 收稿日期:2009-12-21;修回日期:2010-01-27 作者简介 高隽,男,1963年生,教授,博士生导师,主要研究方向为图像理解、智能信息处理、光电信息处理等.E m a i:l gao j un @hfut .edu .cn .谢昭,男,1980年生,博士,讲师,主要研究方向为计算机视觉、智能信息处理、模式识别.张骏,女,1984年生,博士研究生,主要研究方向为图像理解、认知视觉、机器学习.吴克伟,男,1984年生,博士研究生,主要研究方向为图像理解、人工智能. 图像语义分析与理解综述 * 高 隽 谢 昭 张 骏 吴克伟 (合肥工业大学计算机与信息学院合肥 230009) 摘 要 语义分析是图像理解中高层认知的重点和难点,存在图像文本之间的语义鸿沟和文本描述多义性两大关键问题.以图像本体的语义化为核心,在归纳图像语义特征及上下文表示的基础上,全面阐述生成法、判别法和句法描述法3种图像语义处理策略.总结语义词汇的客观基准和评价方法.最后指出图像语义理解的发展方向.关键词 图像理解,语义鸿沟,语义一致性,语义评价中图法分类号 T P 391.4 I m age Se m antic Anal ysis and Understandi ng :A R eview GAO Jun ,XI E Zhao ,Z HANG Jun ,WU Ke W ei (S chool of C o m puter and Infor m ation,H e fei University o f T echnology,H efei 230009) ABSTRACT Se m antic ana l y sis is the i m portance and diffi c u lty of high level i n terpretati o n i n i m age understandi n g ,i n wh ich there are t w o key issues of text i m age se m an tic gap and tex t descri p ti o n po lyse m y .Concentrating on se m antizati o n o f i m ages onto logy ,three soph i s tica ted m et h odolog ies are round l y rev ie w ed as generati v e ,d iscri m ina ti v e and descriptive gra mm ar on the basis of conc l u d i n g i m ages se m antic fea t u res and context expression .The ob jective benchm ark and eva l u ation for se m an tic vocabu lary are i n duced as w e l.l F i n ally ,the summ arized directions fo r furt h er researches on se m antics i n i m age understand i n g are discussed i n tensively .K ey W ords I m age Understanding ,Se m antic G ap ,Se m an tic Consistency ,Se m an tic Evalua ti o n 1 引 言 图像理解(I m age Understandi n g ,I U )就是对图像的语义解释.它是以图像为对象,知识为核心,研 究图像中何位置有何目标(what is w here)、目标场景之间的相互关系、图像是何场景以及如何应用场景的一门科学.图像理解输入的是数据,输出的是知 识,属于图像研究领域的高层内容[1-3] .语义(Se 第23卷 第2期 模式识别与人工智能 V o.l 23 N o .2 2010年4月 PR &A I A pr 2010

基于潜在语义分析的JAVA类库检索方法

文章编号:10035850(2006)03004302 基于潜在语义分析的Java类库检索方法Java Class Library Retrieval Method based on Latent Semantic Analysis 刘 磊 (大连理工大学软件学院 大连 116023) 【摘 要】为了更精确、有效地检索Jav a类库,应用潜在语义分析的理论,设计了基于潜在语义分析的Java类库的检索方法,提高了对Java类库的检索质量。基于潜在语义分析的理论和方法可以适用于大多数的检索系统,对提高检索系统的检索精确性有很大的帮助。 【关键词】潜在语义分析,信息检索,Jav a类库检索方法 中图分类号:T P312 文献标识码:A ABSTRACT Fo r sear ching in jav a class libr ary mo re accur ately,this paper designs a r etr ieval method o f jav a class librar y based on L SA(L at ent sem ant ic A naly sis)o n the basis of semantic ana ly sis theor y.T his method impr oves t he sear ching quality of jav a class librar y and can be used in mo st of sear ching system,and is helpful to impro ve the sear ching accur acy o f retr iev al sy st em. KEYWORDS L SA,infor matio n retr iev al,java libr ary ret riev al method 信息的检索一直是大家研究的热门话题,人们对如何实现快捷准确的搜索功能进行了广泛的研究。本文探讨搜索对象Java类库是Java开发平台提供的开发文档,也是学习Java语言的主要文档。Jav a类库有着非常规则的结构,这对非常熟悉Java的开发人员来说是非常便利的,但是对于初学者来说,如何找到相应类的介绍却是非常困难的。所以快速高效率的Java类库检索方法有一定的现实实用价值。 传统的查询方法基于文本关键字的向量空间模型VSM(Vector Space M odel),是用m个关键字维构成的文档向量D i={d1i,d2i,...,d mi}表示文档集中的一个文档,并基于此进行文档过滤,检索的处理。它将非结构化的文本表示成向量的形式,使得各种数学处理成为可能。它的优点是简单、快捷。但是向量空间模型关于词间相互独立的假设很难满足,文中出现的词往往存在一些相关性,在某种程度上影响计算结果,同时,这种基于关键字的处理方法主要依据词频信息,两个文本的相似度取决于它们拥有的共同词汇的数量,因而无法分辨自然语言的语义模糊性[2]。 参考文献[1]中采用了上面的VSM方法表示Java 类库各可复用模块的语义,本文采用基于潜在语义分析的Java类库检索方法,对其进行改进。 潜在语义分析的出发点就是文本中词与词之间存在某种联系,及存在某种潜在的语义结构,这种潜在的语义结构隐含在文本中词语的上下文使用模式中,因此采用统计计算的方法,对文本进行分析,寻找这种潜在的语义结构,不需要确定语义的编码,仅依赖于上下文中事务的联系,并用语义结构表示词和文本,达到消除词之间的相关性简化文本向量的目的。 三维潜在语义空间示例如图1 所示。 传统的空间向量方法假设词语语义是相互独立的,每个词语被看作向量空间中的一个正交基本向量,实际上词语之间存在着很强的关联性及出现“斜交”的现象,影响文本处理的结果。LSA利用这种关联性,通过对文本集中词语的上下文的使用模式进行统计转换,获得一个新的、低维的语义空间[3]。SVD是目前普遍使用的典型的LSA空间构造方法。它通过对文本集的词-文本矩阵的奇异值分解计算,提取k个最大的奇异值及其对应的奇异矢量构成新矩阵来近似表示原文本集的词条-文本矩阵。具体步骤如下: 首先,构造一个训练集m*n词条-文本矩阵A=[a ij]mn,其中a ij=L(i,j)*G(i),L(i,j)是单词i在文本j中的局部权重,G(i)是单词i在文本集中的全局权重,m为提取单词数,n为文本数。 其次,对A进行截取SVD分解(设m>n, rank(A)=r,存在k,k

隐含语义索引在吉林省农业知识问答系统中的应用

隐含语义索引在吉林省农业知识问答系统中的应用 摘要:为了解决现有农业知识问答系统功能及业务流程中存在的一些问题,将隐含语义索引技术应用于吉林省农业知识问答系统中?该技术可以增强或消减词语在文档中语义的影响力,使文档之间的语义关系更为明晰,在一定程度上实现了自然语言检索,消除了词语同义性和多义性所造成的影响,从而取得更好的检索效果? 关键词:隐含语义索引;吉林省;农业知识;问答系统 Application of Latent Semantic Index in Agricultural Knowledge Question Answering System of Jilin Province Abstract: The latent semantic index technology was applied to solve some problems with the existing function and in the professional process in agricultural knowledge question answering system. This technology could enhance or reduce the influence of words on the semantic in the document and it also could make the semantic relationships more clear, thereby realized the natural language search to a certain extent. The interference from identity and poly semantics was eliminated and better search results obtained. Key words: latent semantic index; Jilin province; agricultural knowledge; question answering system 农业作为基础产业,是社会信息化不可或缺的一部分,所以农业必然会受到以计算机网络技术?多媒体技术和智能技术为特征的信息化浪潮的洗礼?目前农业科技人员和农民经常借助各种搜索引擎进行农业信息搜索?由于搜索引擎不是为农业领域设计的,多数搜索的结果往往不能满足他们的需求,农业知识问答系统正是在这种情况下发展起来的? 从大量农业信息中迅速而准确地获取最需要的信息是农业知识问答系统发展的困难之一?如何使现有的吉林省农业信息资源得到充分有效地利用,提高吉林省农业信息化服务的质量,已经成为农业科研人员研究的一个热点?隐含语义索引(LSI)是近年来逐渐兴起的不同于关键词检索的搜索引擎解决方案,其检索结果的实际效果更接近于人的自然语言,在一定程度上提高了检索结果的相关性,目前已被逐渐地应用到图书馆?数据库和搜索引擎的算法当中?隐含语义索引通过对原文档库的词-文档所建立的矩阵的奇异值分解计算,进而取其前k个最大的奇异值,然后用对应的奇异矢量构成一个新矩阵,用其近似地表示原来文档库的词-文档矩阵?因为新的矩阵消减了词和文档之间语义关系的模糊度,所以这种方法更有利于信息检索?

概率潜在语义模型综述

概率潜在语义模型综述 信息检索本质上是语义检索, 而传统信息检索系统都是基于独立词索引, 因此检索效果并不理想. 概率潜在语义索引是一种新型的信息检索模型, 它在潜在语义索引模型思想的基础上, 通过EM迭代算法将词向量和文档向量投影到一个低维空间, 消减了词和文档之间的语义模糊度, 使得文档之间的语义关系更为明晰。论述了概率潜在语义索引的理论基础, 探讨了隐含语义索引在信息处理处理中的应用。 标签:信息检索;潜在语义索引;SVD分解;概率潜在语义索引 1 简介 传统的信息检索模型可归为三类:布尔模型、向量空间模型和概率模型。它们都分别把文本和查询表示为索引词的集合,尽管使用了不同的方法,但本质上均为某种形式的索引词的匹配,而没有进一步做语义上的分析。自然语言中存在大量的同义词、多义词,这分别对传统检索模型的召回率和准确率有不利的影响。检索系统要求用户提供足够多精确、无歧义的关键词才有可能得到所需要的信息,这大大增加了系统使用的难度。为了进行更自然更人性化的查询,检索系统必须能够处理自然语言中的同义、多义现象,进行语义上的分析。 潜在语义分析(LSA)是一种发现潜在语义并分析文档、词和语义三者之间关系的方法。其主要思想是通过统计分析来发现文档中词与词之间存在的某种潜在的语义结构,并且使用这些潜在的语义结构来表示词和文本。 虽然潜在语义分析在信息检索领域取得了令人满意的效果,但是它存在几个缺陷:首先由于潜在语义分析过程中奇异值分解的物理意义不够明确,较难控制词义聚类的效果;此外这个算法的空间和时间复杂度太大,在目前的计算机硬件条件下很难实际适应实际应用。 针对潜在语义分析的这些缺陷,Hoffmann 提出了一种新的方法-概率潜在语义分析(PLSA),该方法使用概率模型来表示“文档—潜在语义—关键词”三者之间的关系,文档和关键词都可以映射到同一个语义空间,这样,文档和文档以及文档和关键词之间的相似度都可以通过计算语义空间上的夹角而得以量化。 2 潜在语义索引(LSI) 潜在语义索引(Latent Semantic Indexing) 是S. T. Dumais)等人提出的。其基本思想是文本中的词与词之间存在某种联系,即存在某种潜在的语义结构,因此采用统计的方法来寻找该语义结构,并且用语义结构来表示词和文本。这样的结果可以达到消除词之间的相关性,化简文本向量的目的。潜在语义索引的算法基于矩阵的奇异值分解

贝叶斯语义分析

基于语义特征关联的贝叶斯网络分类 孟宇龙,印桂生,徐东 哈尔滨工程大学计算机科学与技术学院,哈尔滨(150001) E-mail:mengyulong@https://www.360docs.net/doc/7e11754137.html, 摘要:为将数据的语义特征体现在数据分类过程中,提出语义特征关联的贝叶斯网络分类法。该方法在分析数据的多语义异构性基础上进行分类学习。与传统贝叶斯网络分类相比,可在不损失分类精度情况下将具有语义特征的数据进行分类。 关键词:语义特征;数据分类;贝叶斯网络 中图分类号:TP391 1.引言 对数据分类而言,数据分类标准以及数据分类精度满意度的评价与所选择的数据分类任务相关。分类后的数据应该具有子类内数据以及类间关系的高度凝聚性。朴素贝叶斯分类器[1](Naive Bayesian Classifier,NBC)是一种基于贝叶斯理论的简单分类方法[2][3]。独立关系是贝叶斯网络中最基本、最重要的理论关系,即在满足独立性的条件下,贝叶斯分类器才能有很好的表现。文献[4]的研究表明,当训练数据集属性间的独立性提高后,应用贝叶斯分类器并不能明显地提高分类效果。即贝叶斯分类模型的表现和独立性是否满足没有必然联系,通过策略降低属性关联关系,提高独立关系,可以降低分类的时间、空间复杂度,同时并不会影响贝叶斯分类器的分类满意度。所以朴素贝叶斯分类器仍然是一种非常实用的分类方法。例如对一个网络安全事件进行评估,显然忽略带宽、传输速率与攻击强度之间的相互关系是错误的。即使在这样一种人为假定下(假定彼此无关),朴素贝叶斯分类器仍然有很满意的分类表现[6][7]。大量研究和实验表明,在不满足条件独立性要求情况下,朴素贝叶斯分类器也能取得比较满意的分类结果。针对此特性,为将数据的语义特征体现在分类过程,本文在研究贝叶斯定理及朴素贝叶斯分类器基础上,引入贝叶斯网络[5],提出一种具有语义特征的基于贝叶斯网络的数据语义分类算法——语义特征关联的贝叶斯网络分类,利用网络节点间的关联表示语义,而其它非语义关联则全部忽略。在不损失分类精度情况下将具有多语义特征的数据进行分类。经仿真实验验证可获得满意的分类精度。 2.贝叶斯网络分类器 2.1朴素贝叶斯分类模型(小四号,宋体,加粗) 朴素贝叶斯分类模型将训练实例I分解为特征向量A和决策类别变量C,该模型根据类独立条件构造,朴素贝叶斯分类模型如图1所示。 图1 朴素贝叶斯分类模型 基金项目:水下机器人国家重点实验室基金

语义模型红皮书

用友软件股份有限公司 商业分析平台语义模型红皮书 版本:V6.0.0.20120227

目录 一、前言 (3) 1.概念 (3) 2.定位 (3) 二、结构 (3) 1.应用模型 (3) 2.语义模型 (4) a) 定义形态 (4) b) 执行流程 (6) c) 数据形态 (6) 3.语义提供者 (7) a) 接口 (7) b) 扩展 (9) 4.函数 (13) a) 函数解析 (13) b) 函数扩展 (13) 5.参数 (15) a) 参数定义 (16) b) 参数引用 (16) c) 参数设置 (16) 6.宏变量 (18) 7.描述器 (19) 8.数据加工 (20) 9.物化策略 (23) 10.复合语义模型 (24) 11.语义上下文 (28) 三、语义模型的管理 (31) 1.对象管理 (31) 2.环境配置 (34) 四、功能扩展 (41) 1.扩展语义提供者 (41) 2.扩展业务函数 (42) 3.使用数据加工 (42) 4.自定义执行策略 (42) 五、附录 (43) 1.入门 (43) 2.语义模型API (48) 3.语义函数 (50) 4.其他函数 (50) 5.脚本引擎 (52) 6.针对查询引擎的改进 (52)

一、前言 1.概念 SMART,即Semantic Modeling for Analysis Report Toolkit, 分析报表语义建模工具。 2.定位 语义模型把面向技术的数据,组织成面向业务的数据,供业务人员查询分析使用 二、结构 1.应用模型

上图为语义模型应用结构图。语义模型通过语义提供者,可以将多个数据源的数据进行整合。 2. 语义模型 定义形态 下图展示了语义模型的内部结构, 语义模型主要由以下几部分构成: 1.1 元数据

C++对象模型

深度探索C++对象模型 第一章关于对象 C++对象模型 语言中直接支持面向对象程序设计的部分。对于各种支持的底层实现机制。 第I个概念是一种不变量。例如,c++class的完整virtual function在编译时期就固定下来了,程序员没有办法在执行期动态增加或取代其中的某一个。 对象模型的底层实现机制,在语言层面上是看不出来的—虽然对象模型的语义本身可以使得某些实现品(编译器)比其他实现品更接近自然。C++在布局以及存取时间上主要的额外负担是由virtual引起的 Virtual function机制用以支持一个由效率的“执行期绑定” Virtual bas class 用以实现“多次出现在继承体系中的base class”有一个单一而被共享的实例。 简单对象模型: 一个object是一系列的slots,每一个slot指向一个members。 表格驱动对象模型: C++对象模型: Nonstatic data members被配置于每一个class object之内,static data members则被存放在个别的class object之外。Static和nonstatic function members被放在object之外。 对象的差异 C++程序设计模型直接支持三种programming paradigs:程序模型,抽象数据了类型模型,面向对象模型。 C++以下支持多态: 经由一组隐式的转化操作。 经由virtual function机制。 经由dynamic_cast和typeid运算符。 一个class object的内存: 其nonstatic data members的总和大小。 加上任何由于alignment的需求而填补上去的空间

一种基于语义的异构数据模型映射方法

2006年6月第17卷第3期装备指挥技术学院学报 Journal o f the Academy of Equipment Command &T echnolog y June 2006V ol.17 N o 3 收稿日期:2004 06 25 作者简介:陈建宇(1973-),男(汉族),云南罗平人,硕士,chjy0927_cn@https://www.360docs.net/doc/7e11754137.html,; 张维明(1962-),男,教授,博士生导师. 一种基于语义的异构数据模型映射方法 陈建宇, 张维明, 刘 忠 (国防科技大学人文与管理学院,湖南长沙410073) 摘 要:针对虚拟样机应用集成中的数据交换问题,考虑到产品模型的表达方式,提出了基于语义的异构模型间映射描述方法;该方法将异构数据交换问题,从应用具体实现代码中隔离,以一定形式抽象地表示,在元模型层与数据实例层准确 地定义数据模型间的对应关系;最后,给出了实际采用此方法交换数据的典型事例。关 键 词:虚拟样机;产品模型;语义数据模型;语义异构;模型映射;数据转换 中图分类号:TP 319 文献标识码:A 文章编号:1673 0127(2006)03 0086 05 A Mapping Meth od Based on Seman tic Featu re Between Heterogen eou s Data Model CH EN Jianyu, ZH ANG Weim ing, LIU Zho ng (School of Hum anities and M anagement,National U nivers ity of Defens e T echn ology,Ch angs ha H unan 410073,China) Abstract :T he paper proposes a metho d that uses semantic featur e to build mapping correspon dence bo th in m eta m odel and model instance level betw een different pro duct data m odel to so lve data ex change betw een heterog eneous applications in virtual prototyping.T his metho d is both abstract and fo rmal to separate the data exchange from application im plementation,and som e ty pical ex am ples in engineer pr actice are show n. Key words:virtual prototyping ;product m odel;semantic data m odel;semantic heter ogeneous;model mapping;data transfo rm 1 问题的提出 在虚拟样机研究中,面临的基础性也是最具挑战性的问题之一,就是如何将领域跨度较大的不同应用集成起来,这些应用是服务于设计、分析、试验、仿真评估等领域的计算机系统。通过已有的一些设计分析集成项目,如,COMBI (com puter integrated o bject oriented model for the building industr y)[1]的实施情况来看,在集成的设计、分析环境下,建立一个通用的产品数据模型 并以共享数据库的形式支持各种应用似乎不大现实,最大的困难在于:多个学科在各自固有领域建立起来的模型很难真正集成。原因在于:在设计与分析集成框架下,设计、分析、仿真与评估,这几个主要的环节之间的数据交换本质上是异构的。这种异构是由设计、分析等问题的范畴及语义表达方式的差别造成的,难以通过一种模型来统一地表达。 既然在产品建模领域,集成异构应用数据模型不大现实,但异构的应用之间又确实存在大量的相关产品描述信息的数据交换,而应用中点对

语义分析的一些方法

语义分析的一些方法 语义分析的一些方法(上篇) 5040 语义分析,本文指运用各种机器学习方法,挖掘与学习文本、图片等的深层次概念。wikipedia上的解释:In machine learning, semantic analysis of a corpus is the task of building structures that approximate concepts from a large set of documents(or images)。 工作这几年,陆陆续续实践过一些项目,有搜索广告,社交广告,微博广告,品牌广告,内容广告等。要使我们广告平台效益最大化,首先需要理解用户,Context(将展示广告的上下文)和广告,才能将最合适的广告展示给用户。而这其中,就离不开对用户,对上下文,对广告的语义分析,由此催生了一些子项目,例如文本语义分析,图片语义理解,语义索引,短串语义关联,用户广告语义匹配等。 接下来我将写一写我所认识的语义分析的一些方法,虽说我们在做的时候,效果导向居多,方法理论理解也许并不深入,不过权当个人知识点总结,有任何不当之处请指正,谢谢。 本文主要由以下四部分组成:文本基本处理,文本语义分析,图片语义分析,语义分析小结。先讲述文本处理的基本方法,这构成了语义分析的基础。接着分文本和图片两节讲述各自语义分析的一些方法,值得注意的是,虽说分为两节,但文本和图片在语义分析方法上有很多共通与关联。最后我们简单介绍下语义分析在广点通“用户广告匹配”上的应用,并展望一下未来的语义分析方法。

1 文本基本处理 在讲文本语义分析之前,我们先说下文本基本处理,因为它构成了语义分析的基础。而文本处理有很多方面,考虑到本文主题,这里只介绍中文分词以及Term Weighting。 1.1 中文分词 拿到一段文本后,通常情况下,首先要做分词。分词的方法一般有如下几种: ?基于字符串匹配的分词方法。此方法按照不同的扫描方式,逐个查找词库进行分词。根据扫描方式可细分为:正向最大匹配,反向最大匹配, 双向最大匹配,最小切分(即最短路径);总之就是各种不同的启发规则。 ?全切分方法。它首先切分出与词库匹配的所有可能的词,再运用统计语言模型决定最优的切分结果。它的优点在于可以解决分词中的歧义问 题。下图是一个示例,对于文本串“南京市长江大桥”,首先进行词条检索(一般用Trie存储),找到匹配的所有词条(南京,市,长江,大桥,南京市,长江大桥,市长,江大桥,江大,桥),以词网格(word lattices)形式表示,接着做路径搜索,基于统计语言模型(例如n-gram)[18]找到最优路径,最后可能还需要命名实体识别。下图中“南京市长江大桥” 的语言模型得分,即P(南京市,长江,大桥)最高,则为最优切分。 图1. “南京市长江大桥”语言模型得分

用友NC语义模型红皮书-2011-07

用友软件股份有限公司 高级分析平台语义模型红皮书 版本:V6.0.0.20100924

目录 一、前言 (3) 1.概念 (3) 2.定位 (3) 二、结构 (3) 1.应用模型 (3) 2.语义模型 (4) a) 定义形态 (4) b) 执行流程 (6) c) 数据形态 (7) 3.语义提供者 (7) a) 接口 (7) b) 扩展 (10) 4.函数 (14) a) 函数解析 (14) b) 函数扩展 (14) 5.参数 (17) a) 参数定义 (17) b) 参数引用 (17) c) 参数设置 (18) 6.宏变量 (19) 7.描述器 (20) 8.数据加工 (22) 9.物化策略 (24) 10.复合语义模型 (25) 11.语义上下文 (29) 三、语义模型的管理 (32) 1.对象管理 (32) 2.环境配置 (35) 四、功能扩展 (36) 1.扩展语义提供者 (37) 2.扩展业务函数 (37) 3.使用数据加工 (37) 4.自定义执行策略 (37) 五、附录 (38) 1.入门 (38) 2.语义模型API (43) 3.语义函数 (45) 4.其他函数 (45) 5.脚本引擎 (47) 6.针对查询引擎的改进 (47)

一、前言 1.概念 SMART,即Semantic Modeling for Analysis Report Toolkit, 分析报表语义建模工具。 2.定位 二、结构 1.应用模型

上图为语义模型应用结构图。语义模型通过语义提供者,可以将多个数据源的数据进行整合。 2.语义模型 a)定义形态 下图展示了语义模型的内部结构,

语义分析思路

C.3语义分析 实验目的 通过上机实习,加深对语法制导翻译原理的理解,掌握将语法分析所识别的语法成分变换为中间代码的语义翻译方法. 实验要求 采用递归下降语法制导翻译法,对算术表达式、赋值语句进行语义分析并生成四元式序列。 实验的输入和输出 输入是语法分析提供的正确的单词串,输出为三地址指令形式的四元式序列。例如:对于语句串 begin a:=2+3*4;x:=(a+b)/c end# 输出的三地址指令如下: (1)t1=3*4 (2)t2=2+t1 (3)a=t2 (4)t3=a+b (5)t4=t3/c (6)x=t4 算法思想 1设置语义过程 (1)e mit(char *result,char *arg1,char *op,char *ag2) 该函数功能是生成一个三地址语句送到四元式表中。 四元式表的结构如下: struct {char result[8]; char ag1[8];

char op[8]; char ag2[8]; }quad[20]; (2)char *newtemp() 该函数回送一个新的临时变量名,临时变量名产生的顺序为T1,T2,…. Char *newtemp(void) { char *p; char m[8]; p=(char *)malloc(8); k++; itoa(k,m,10); strcpy(p+1,m); p[0]=?t?; return(p); } (2)主程序示意图如图c.10所示。

置初值 调用scaner 调用lrparser 输出四元组 结束 (2)函数lrparser在原来语法分析的基础上插入相应的语义动作:将输入串翻译成四元式序列。在实验中我们只对表达 式、赋值语句进行翻译。 语义分析程序的C语言程序框架 int lrparser() { int schain=0; kk=0; if(syn=1) { 读下一个单词符号; schain=yucu; /调用语句串分析函数进行分析/ if(syn=6) { 读下一个单词符号; if(syn=0 && (kk==0)) 输出(“success”);

基于知识图谱的图像语义分析技术及应用研究

Computer Science and Application 计算机科学与应用, 2018, 8(9), 1364-1371 Published Online September 2018 in Hans. https://www.360docs.net/doc/7e11754137.html,/journal/csa https://https://www.360docs.net/doc/7e11754137.html,/10.12677/csa.2018.89148 The Research of Image Semantic Analysis Technology and Application Based on Knowledge Graph Liqiong Deng, Guixin Zhang, Xiangning Hao Department of Command Information System and Network, Air Force Communication NCO Academy, Dalian Liaoning Received: Aug. 24th, 2018; accepted: Sep. 6th, 2018; published: Sep. 13th, 2018 Abstract The semantic analysis technology of image has always been a difficult point in image field. As an intelligent and efficient way of organizing, knowledge graph can help users accurately query the information. This paper firstly puts forward an image semantic analysis process based on know-ledge graph, then adopts deep learning model to describe image’s features. Image semantic know-ledge fusion and processing is studied on this basis; a multilevel image semantic model con-structed has ability to manage entity triples and support automatic construction. Finally, applica-tions in semantic retrieval, association and visualization are analyzed, which has some guiding significance for information organization and knowledge management of media semantic. Keywords Knowledge Graph, Deep Learning, Image, Semantic Analysis, Semantic Retrieval 基于知识图谱的图像语义分析技术及应用研究 邓莉琼,张贵新,郝向宁 空军通信士官学校指挥信息系统与网络系,辽宁大连 收稿日期:2018年8月24日;录用日期:2018年9月6日;发布日期:2018年9月13日 摘要 图像的语义分析技术一直是图像领域的研究难点之一,知识图谱作为一种智能的知识组织方式,可以帮

一种语义网络情报分析模型的研究和应用

计算机时代2009年第3期 0引言 复杂网络是复杂系统的抽象,网络中的节点是复杂系统中的个体,节点之间的边则是系统中个体之间按照某种规则而自然形成或人为构造的一种关系。现实世界中包含着各种类型的复杂网络,如社会网络(朋友关系网络及合作网络等)、技术网络(万维网以及电力网等)、生物网络(神经网络、食物链网络以及新陈代谢网络等)。经过近几年的努力,复杂网络的研究取得了许多重要进展,发现了复杂网络的若干统计特征,其中包括小世界性质(即网络中节点之间的平均距离很短,对数依赖于网络中的节点数)、无标度性质(即网络中节点的度分布右偏斜,具备幂函数或指数函数的形式)以及聚集性或网络传递性。 复杂网络的另一个重要特征就是网络中所呈现出的社区结构。大量实证研究表明,许多网络是异构的,即复杂网络不是大批性质相同节点的随机连接,而是许多类型的节点的组合,其中相同类型的节点存在较多的连接,而不同类型节点的连接则相对较少。我们把同一类型节点以及这些节点之间的边所构成的子图称为网络中的社区。 实际网络的社区代表着特定对象的集合,如,社会网络中的社区代表根据兴趣或背景而形成的真实的社会团体;引文网络中的社区代表针对同一主题的相关论文;万维网中的社区就是讨论相关主题的若干网站;而生物化学网络或者电子电路网络中的社区可以是某一类功能单元。发现这些网络中的社区有助于我们更加有效地理解和开发这些网络。 1基于图分解的方法 计算机科学中的一个典型问题,是将一个网络分解成若干节点数基本相等的子网,使得不同子网中的节点之间的连接数最少,称为图分割(Graph Partitioning )。图分割问题(GPP)可应用于对并行计算机处理器作进程的合理分配。1.1Kerighan-Lin 算法 Kerighan-Lin 算法[1]在稀疏图中的时间复杂度是O(n 3)。它是基于贪婪算法原理,将网络划分为两个大小已知的社区的二分法。 首先定义一个效益函数Q:位于子图内部的边数之和减去子图之间的边数。该算法要求必须预先指定2个子图的大小。算法分成以下2步。 ⑴考察所有的节点对(节点对中的2个节点分别取自2个子图),交换节点对中2个节点的位置,计算效益函数Q,所产生的变化⊿Q。选择使所产生的变化⊿Q 最大的那对节点进行实际交换。如此重复下去,并且不允许已经交换过的节点再交换。当一个子图中的所有节点均已交换过1次时,第一步完成。 ⑵检查第一步中所进行的每一次交换,寻找使得效益函数Q 最大的那一次交换,此即为所求得的图的分割。 此算法应用于对Zachary 网络的研究,取得了较好的效果。20世纪70年代初期,Zachary 用了两年的时间来观察美国一所大学中的空手道俱乐部成员间的相互社会关系。基于这些成员在俱乐部内部及外部的社会关系,他构造了成员们之间的关系网,如图1所示。 1 Karate Club 网络结构 在调查过程中,该俱乐部的主管与校长之间因是否抬高俱乐部收费的问题产生了争执。结果,该俱乐部分裂成了两个分别以主管和校长为核心的小俱乐部。图中的节点1和节点33分别代表了俱乐部主管和校长,而圆形和方形的节点分别代表了分裂后俱乐部的社区成员。利用Kernighan-Lin 算法分析 *基金项目:江西省科技厅工业攻关项目(赣财教[2005]132号);江西省教育厅科技计划项目(GJJ08283) 复杂网络的社区发现算法研究* 王丹,刘发升 (江西理工大学信息工程学院,江西赣州341000) 摘要:复杂网络是对于复杂系统的高度抽象,其中许多性质如小世界性质、无标度性质以及聚集性质等等已经得到了充 分的研究。大量文献表明,复杂网络呈现出的社区结构特性。如何在大型网络中高效地发现社区问题是近年来复杂网络的研究热点。文章讨论了一些关于社区发现方面的概念、理论、算法及应用等,并简述了其发展趋势。关键词:复杂网络;社区发现;边介数;模块度;层次聚类 · ·57

相关文档
最新文档