知识图谱是一种结构化数据的处理方法,它涉及知识的提取、表示、存储、检索等一系列技术。从渊源上讲,它是知识表示与推理、数据库、信息检索、自然语言处理等多种技术发展的融合。
知识提取
知识提取是要解决结构化数据生成的问题。但是广义上讲,知识提取是数据质量提升中的一环,各种提升数据质量的方法,都可以视为某种知识提取。学术上一般是用自然语言处理的方法,但在实践中通常是利用规则。
问渠那得清如许?为有源头活水来。
知识图谱是一种结构化数据的处理方法,它涉及知识的提取、表示、存储、检索等一系列技术。从渊源上讲,它是知识表示与推理、数据库、信息检索、自然语言处理等多种技术发展的融合。
知识提取是要解决结构化数据生成的问题。但是广义上讲,知识提取是数据质量提升中的一环,各种提升数据质量的方法,都可以视为某种知识提取。学术上一般是用自然语言处理的方法,但在实践中通常是利用规则。
查看版本号
|
|
mvn clean
清除编译生成的 .class
文件, 对于 maven 项目, 本质是删除项目下的 target 目录.mvn test
执行 JUnit 单元测试mvn -DskipTests
不执行单元测试mvn package
打包构建mvn install
将 jar 包安装到本地 maven 仓库mvn dependency:tree
查看依赖树mvn dependency:tree -Dverbose
深度查看依赖树命令建议组合使用, 比如 mvn -DskipTests clean package
表示跳过单元测试, 清除之前的编译结果, 重新打包构建.
mvn report
mvn checkstyle:checkstyle
mvn checkstyle:check
mvn site
git init
初始化代码仓库git add <dir|file>
把目录/文件加入版本控制git status
查看版本控制的状态vim .gitignore
加入忽略文件列表git reset
重置版本控制状态git commit -a -m 'msg'
提交文件到本地仓库git log
查看提交的历史版本git push
将本地仓库提交到远程仓库git pull
将远程仓库拉到本地仓库git checkout -f [logid]
本地仓库检出数据清洗是件很重要的事情, 相信每个做数据分析、数据挖掘的同学都认同这一点, 然而数据清洗的方法和策略很少有介绍, 课本上更是只字不提.
用户画像 (User Profile) 是对一个用户的信息抽象, 是大数据的一个典型应用, 也是个性化、精准投放的基石.
10001, 男, 31岁, 已婚, 年薪50万以上, 吃货, 喜欢红酒, 喜欢香烟……
用户画像的核心工作是为用户打标签, 而打标签的重要目的之一是为了让人能够理解并方便计算机处理.
用户画像的目标是为每个用户打上标签, 以及该标签的权重.
标签是人为规定的高度精炼的特征标识, 它具有以下特征:
下面构建一个用户画像的标签体系.
内容和用户是互联网企业核心的两个东西, 而用户行为则将内容和用户连接了起来.
Java 正则表达式, 可以用 “简洁而强大” 来形容!
Java 正则表达式, 存在于 java.util.regex
包中, 是到 JDK 1.4 才引入的, 仅包含上面两个类, 和一个异常类.
Pattern
(模式类) 正则表达式的编译形式, 用来表达和陈述所要搜索模式的对象.Matcher
(匹配器类) 通过解释正则模式, 在字符串上执行模式匹配的引擎, 是真正影响搜索的对象.生成 Pattern 对象只有一种方法, 就是调用其静态方法 compile
.
|
|
生成 Matcher 对象只有一种方法, 就是调用 Pattern 对象的成员方法 matcher
.
|
|
\p{Lower}=[a-z]
\p{Upper}=[A-Z]
\p{ASCII}=[\x00-\x7F]
\p{Alpha}=[\{Lower}\p{Upper}]
\p{Digit}=[0-9]
\p{Alnum}=[\p{Alpha}\p{Digit}]
\p{Punct}=[!"#$%&'()*+,-./:;<=>?@[\]^_
{|}~]`\p{Graph}=[\p{Alnum}\p{Punct}]
\p{Print}=[\p{Graph}\x20]
\p{Blank}=[\t\x20]
\p{Space}=[\t\n\v\f\r\x20]
\p{Cntrl}=[\x00-\x1F\x7F]
\p{XDigit}=[0-9a-fA-F]
\p{javaLowerCase}
各种语言的小写字母, 远远比 \p{Lower}
多\p{javaUpperCase}
各种语言的大写字母, 远远比 \p{Upper}
多\p{javaWhitespace}
各种空白字符, 远远比 \p{Space}
多, 还包括中文的空白\p{P}
各种语言的标点符号, 远远比 \p{Punct}
多\p{Ps}
开始括号\p{Pe}
结束括号\p{Pi}
开始引号\p{Pf}
结束引号\p{Pc}
连接字符\p{Pd}
虚线字符\p{Po}
其他字符\p{S}
符号\p{Z}
分隔符这里附上字符集检查代码
|
|
用于提取符合模式的字符串, 或者说, 提取有用信息.
|
|
用于字符串模式查找.
|
|
用于字符串模式校验
|
|
最近做的项目涉及到文本处理, 初一看数据, 很 “脏”, 简体繁体、错别字、英文大小写、全角半角、标点符号等等. 每种情形都需要对应的处理方法, 本文介绍的字符串标准化, 或者称为归一化处理, 主要解决全角半角, 以及特殊符号的情形.
比如这些符号: !~。•﹖
, 它们的存在就像 “魔鬼”, 对接下来的正则表达式处理也带来了麻烦, 有时候, 真想不到用户怎么把这些字符输进来的?
言归正传, 这里就要用到字符串标准化. 我很早就想要这样一个工具函数了, 最近阅读 Ansj 的源码时, 发现了这样一个工具, 略加改造就变成我想要的啦^^
基本思路如下:
|
|
由于应用场景需要, 对于有些字符的转换会做一定特殊化处理, 列表如下
|
|
new String()
初始化字符串对象, 直接使用 ""
.==
进行对象比较, 尤其是字符串对象, 使用 equals
方法, 比如 "publish".equals(status)
.推荐 Next 主题, 它是目前 Github 上 Star 最高的 Hexo 主题, 支持几种不同的风格 (Scheme). 我的网站就是采用这个主题, 简洁美观. 作者提供了非常完善的配置说明.
先决条件
注意: 我的 Github 账号的用户名是
henryhyn
, 那么博客的默认域名就是 https://henryhyn.github.io, 因此我把博客的项目命名为henryhyn.github.io
, 你需要根据个人情况而定, 以下不再赘述.
安装 Hexo 客户端
|
|
初始化博客
|
|
加入版本控制
|
|
完成安装, 并启动服务
|
|
在 Github 上新建项目 henryhyn.github.io
.
安装插件
|
|
修改配置文件 _config.yml
|
|
一键发布
|
|
打开浏览器, 转到 https://henryhyn.github.io