- Praat之基频分析
BarbaraChow
语音学&语言学音频人工智能算法
Praat之基频分析测量基频F0的方法自相关Autocorrelation(易出现pitch-halving\pitch-double)窄带谱图Narrowbandspectrogram(第一谐波就是基频)倒谱分析Cepstralanalysis测量声门波glottalpluse(通过波形,f=1/T)具体方法就不展开讲了,看我的其他博客。波形直观理解:下图我选了0.03s的浊音音频,可以看到是短
- c++通过自然语言处理技术分析语音信号音高
Dream SYC_UCC
C++更多语法c++easyui开发语言
对于语音信号的音高分析,可以使用基频提取技术。基频是指一个声音周期的重复率,也就是一个声音波形中最长的周期。通常情况下,人的声音基频范围是85Hz到255Hz。根据语音信号的基频可以推断出其音高。C++中可以使用数字信号处理库或语音处理库,比如MATLAB、Praat、YIN算法等等来进行音高分析。以下是使用YIN算法进行音高分析的示例代码:#include#include#defineSAMPL
- 语音标注必须了解的基础知识点
AI数据标注猿
数据标注人工智能
昨天发了一遍关于语音数据标注工具Praat的基础使用,后台收到了很多小伙伴的留言,想了解一下更多的语音相关的知识,也想深入的学习一下,所以今天继续写一篇关于语音相关的基础知识,不管是数据标注还是刚了解语音相关AI技术的小伙伴都必须要知道的知识点。一.几个重要的概念1.采样由于声音为为模拟连续信号,而计算机只能处理数字离散信号,因此要用计算机来分析和处理声音,就需要经历模数转换过程[AnlogtoD
- 数据标注学习总结
农耕园
机器学习图像处理
经过数据标注的学习,大致总结下标注过程中的注意事项,大家在看的过程中,有什么好的建议,可以提出来;十分欢迎大家的批评和指正。谢谢大家的支持。1准备工具1.1windows版打开就能用labelme.exe和Praat.exe1.2MAC版安装命令brewinstallpyqt#maybepyqt5pipinstalllabelme或者brewinstallwkentaro/labelme/labe
- 语音数据标注工具与平台
AIworker
最近在做语音深度学习的项目,整理了一下语音数据标注工具和语音标注平台,供大家参考语音标注工具–PraatPraat是目前已经成为比较流行也比较专业的语音处理的软件,可以进行语音数据标注、语音录制、语音合成、语音分析等等,具有免费、占用空间小、通用性强、可移植性好等特点官网链接http://www.fon.hum.uva.nl/praat/汉化版下载http://www.hejingzong.cn/
- 长时平均功率谱
BarbaraChow
语音基础知识信号处理音频
长时平均功率谱(LTAS,LongTermAverageSpectrum)长时平均功率谱是语音的频谱特征之一,能够反映出一段语流中说话人的全部频率分量,以及各频率分量与强度之间的关系,是表征个人语音特性的参量之一,在说话人识别中应用广泛。计算方法:可利用快速傅立叶变换FFT方法算出的每帧的短时频谱,再对整个时间范围内求出的短时谱的平均。在praat软件中:一段男声音频,发“ai”音,采样率1600
- Praat将连续录制的声音文件切成小单位文件
极地语音工作室
PraatPraatlabel标注脚本
请移至新版文章:https://blog.csdn.net/shaopengfei/article/details/109097404
- Praat脚本-003 | 一种高效的将连续录制的音频切分的方案
极地语音工作室
PraatPraat脚本长音频切分
文章目录前言引题要点数据Demo技术方案步骤一人工定句子边界步骤二利用脚本切分第一种情况,直接使用数字保存第二种情况,利用标注的内容作为文件名运行脚本特别说明如何获取脚本关注版权说明前言引题在语音处理过程中,整理语料,录音,再进行标注,是一个非常重要并且基础的步骤。有很多公司或者团队在录音的时候有专门写的软件,可以做到一次播放一句,然后录制完成,再点下一句,自动保存;但是,有一些工作受到条件限制,
- Praat脚本-030 | 谈谈自动标注这点儿事(4)
极地语音工作室
Praat批量合并TextGridPraat脚本自动标注
前面零零散散为大家介绍或者推荐了几种跟自动标注相关的内容,第一篇为大家推荐了一种入门级别的“自动标注”,其实相当于协助大家把一些需要的信息增加进去。Praat脚本-023|谈谈自动标注这点儿事(1)第一,傻乎乎的自动标注,第二,使用脚本的自动标注,第三,使用诸如SPPAS的自动标注,第四,较为专业的自动标注。第二个,这其实是一个现成的小项目。Praat脚本-026|谈谈自动标注这点儿事(2)第三个
- Praat脚本提取时长及共振峰并绘制声学元音图
不太会编程
Praat
[更新日期:2020年04月20日本站所有Praat脚本都不再提供更新,请大家移步https://github.com/feelins/Praat_Scripts下载最新的代码,可以采用gitclone到本地的方法(具体操作要熟悉github相关操作),也可以点击页面的Cloneordownload,然后选择DownloadZip下载整个Praat脚本目录到本地直接打开使用。]具体的步骤不再多解释
- Praat 语音标注
MayJin
Praat语音学软件,原名Praat:doingphoneticsbycomputer,通常简称Praat,是一款跨平台的多功能语音学专业软件,主要用于对数字化的语音信号进行分析、标注、处理及合成等实验,同时生成各种语图和文字报表。一、Mac版Praat软件的安装访问官网,下载相应的版本,本实验下载的Macintosh版(即Mac版),官网有详细的安装步骤,概括为:(1)磁盘映像文件;(2)下载字
- 音的性质 第一讲 音的产生和特性
allenyang羊羊
音的产生声音的产生是由物体的振动引起的。振动通过数字设备录制出来就是各种各样的波形。sin曲线就是最简单的正弦波。我们可以用praat软件产生一段声波,在菜单栏依次选择“New”->"Sound"->"CreateSoundfromeformula..."Formula一栏中可以写入一段公式代码,基本常见的数学函数都是支持的,这里我们用的默认生成的公式,要生成的是一个频率为为377HZ的正弦波,幅
- 语音数据标注工具与平台/公司
poseidonon
数据标注语音数据标注语音数据标注平台
最近在做语音深度学习的项目,整理了一下语音数据标注工具和语音标注平台,供大家参考语音标注工具--PraatPraat是目前已经成为比较流行也比较专业的语音处理的软件,可以进行语音数据标注、语音录制、语音合成、语音分析等等,具有免费、占用空间小、通用性强、可移植性好等特点官网链接http://www.fon.hum.uva.nl/praat/汉化版下载http://www.hejingzong.cn
- 语音数据标注工具与平台
Poseidomm
标注工具
最近在做语音深度学习的项目,整理了一下语音数据标注工具和语音标注平台,供大家参考语音标注工具–PraatPraat是目前已经成为比较流行也比较专业的语音处理的软件,可以进行语音数据标注、语音录制、语音合成、语音分析等等,具有免费、占用空间小、通用性强、可移植性好等特点官网链接http://www.fon.hum.uva.nl/praat/汉化版下载http://www.hejingzong.cn/
- Python相关库介绍
随缘而为
silly:生成各种格式和类型的测试数据语音数据处理:PraatIO提供了读写praat格式文件的工具,它是一种跨平台的应用,主要为学术社区提供了可视化,抄录,编辑以及提取语音信息的功能。这个库的主要功能在于读写转录,可用于提取语音数据的信息。这个库即可以与praat结合使用也可以脱离其使用。https://github.com/timmahrt/praatIOProMo——ProsodyMorp
- 语音标注自动音段对齐工具SPPAS使用笔记
c2a2o2
nlp
SPPAS工具是由BrigitteBigi(LaboratoireParoleetLangage-Aix-en-Provence-France)开发的。在网上提供免费下载及使用。这是一款目前比较流行的自动标注,音段对齐的工具,目前应用于法语、英语、汉语等都有不错的效果。虽然音段自动对齐的准确率并不完善,但是对于一般的语音研究者来说,能够自动产生出带有音段信息,并且边界相对整齐的Praat标注文件T
- 常用音频软件:Wavesufer
cpongo8
作者:桂。时间:2017-06-0210:23:39链接:http://www.cnblogs.com/xingshansi/p/6932408.html前言只列举两个自己用过的(wavesufer和praat),如果有其他更好的软件,还希望各位留下链接。本文简单介绍wavesufer。〇、简介看一下wiki的简介:WaveSurferisanaudioeditorwidelyusedforstu
- 有人做一个语音合成的软件,用到以下工具
bwlrktjv44240
日志
做一个语音合成的软件,用到以下工具:来自视频av1376960编辑器:GEdit,Kate编译/构建:GCC,CMake,MinGW数学工具:Octave,GNUPlot性能分析:Valtrind,KCachegrind波形编辑/分析:Audacity,Rezound,Baudline,Praat绘图/文档:Dia,Gummi(LaTeXGUI)版本控制:git,boar编辑器GEdit和Kate
- [置顶] 结合Praat进行语音实验的步骤
shaopengfei
脚本录音语音研究Praat声学元音图
近期更新了几篇Praat脚本从标注的TextGrid里提取数据一些脚本,发现有一些朋友会问到更细节的问题,于是有一个想法把结合Praat进行一个语音学上常用的实验研究的步骤都整理出来,希望对需要的朋友有所帮助。其实从事语音研究的可能大部分是语言学专业,对一些软件,脚本的使用可能不如工科类学生掌握快,而如果是一个工科出身的如果掌握这类的软件,脚本,可能不屑于看太仔细的说明,本文是针对偏语言学专业,力
- Praat脚本提取时长及共振峰
shaopengfei
脚本Praat
具体的步骤不再多解释,大部分的步骤和上一篇“Praat提取时长和基频"是一样的,只不过那里是生成一个Pitch文件,这里是生成一个Formant提取共振峰,而且这里给出的共振峰F1,F2都是音素这段时间内的平均值。得到最后的结果result.txt之后,拷贝到Excel里,需要自己过滤元音,把辅音的数据删除。http://download.csdn.net/detail/shaopengfei/9
- Praat脚本提取时长及基频
shaopengfei
脚本Praat
Praat脚本具有强大的功能,对语音文件标注完成后,下面的任务就是把成百上千的语音文件中的参数提取出来,最基本的就是时长,和基频,其它还有元音可能要提取共振峰,如果对这些文件全部手工提取,工作量可想而知,而使用Praat脚本即可以批量提取,便于统一整理。这里先介绍如何提取时长和基频的脚本。1.基本的读文件以及文件名操作(略)2.基频处理iffileReadable(pitchtierFileNam
- Praat在CentOS 6.5中安装出现./praat /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.18' not found错误的解决办法
cowboyjisuanji
常见软件安装故障FAQ
1.实验平台:CentOS6.532位操作系统和Praat2.由于做实验需要用到praat,所以在http://www.fon.hum.uva.nl/praat/download_linux.html处下载了linux的版本,按照官网说明Unpackwithgunzipandtarxvf.Thiswillcreatetheexecutablefilepraat.Youcanremovethetar
- 辅助Praat进行标注的工具
shaopengfei
继续D丝的工具编写之行,这次提供一个辅助Praat进行标注的工具,是用C#写的。使用这个工具,可以自动读取文件使用Praat标注,并且自动保存,不需要通过频繁打开,保存,Praat进行操作。使用说明:工具介绍:Praat.exe这个是通用的标注工具sendpraat.exe 这个程序调用的一个接口程序Praat标注辅助工具.exe 本程序数据说明:所有数据来自http://ocw.mit.edu/
- Praat分隔字符串到数组中
shaopengfei
字符串分隔Praat
使用C#分隔字符串的命令非常简单,比如有这样的字符串:stringstr="aaihnndtaaknowwviimmaakelnslwlkneslsdlwelwlnel"如果用C#分隔成数组,只需要一句话即可:string[]sArray=str.split('');如果考虑到这中间的分隔符,并不一定是一个空格,那么可能会产生空的数据出来,这样就需要去除空值,可以用下面的代码:string[]sA
- Praat替换标注内容
shaopengfei
脚本Praat
在学习过程中,遇到一些标注现象,在标注的时候,标注员不方便记住大量的IPA等语音描写符号,倾向于使用英语单词或者汉语拼音的原始符号,但是在学术写作的过程中,或者在学术教学中,这些符号不能更好的描述语音单元,统一的使用IPA符号是比较好的选择。这样有一个更好的办法就是在标注时使用普通标注,使用下面的脚本,把音段层的标注全部替换为IPA符号。##############################
- Praat根据标注出来的CV标记计算节奏参数
shaopengfei
目前有关于二语学习领域节奏计算的研究很多,相关文献可以通过查找PVI节奏参数获得,这种方式首先要在Praat里标出一层,只有CV标记,分别代表元音之间的时间间隔和元音的时间间隔。这样可以计算出来大部分的节奏参数数值,计算时,最好以句子为单位。###############################################################################
- Praat 将连续录制的声音文件切成小单位文件
shaopengfei
脚本label标注Praat
在语音研究过程中,整理语料,录音,再进行标注,是一个非常重要并且普遍的步骤。如果录音语料规模在上百句,或者上千句,这样的工作如果全部手工,将是非常庞大的。在这里推荐一种使用脚本把长的声音切成小文件的方法,将会节省很多工作。所谓的长的声音是指,比如有这样的语料:关心
刚刚
单一
糟糕
新鲜
餐厅
西瓜
车厢
... 在录音时比较省时间的作法应该是让发音人一次性把所有语料全部录制完成
- SPPAS自动对齐软件的介绍安装和使用
u013538664
SPPAS强制对齐
最近一直在自主学习连续语音识别的相关知识,也着手开始动手自己做一些列的实验。实验过程中需要采集自己需要的语料数据,但是发现采集之后标注确实是个问题,单纯使用praat逐个词的将音素也标注出来,实在是费时费力,所以经过这几天与同学的讨论和搜集资料,找到一个叫SPPAS的自动对齐标注软件,通过实验,基本满足我的需求,下面给大家介绍一下。SPPAS介绍:这个软件是法国人搞的,所以毋庸置疑,对于法语的标注
- 使用开源软件制作多媒体
风穴眼
开源软件多媒体
以前一直知道cooledit是一款很好的音乐编辑软件,2013年的下半年我参与了一个所谓的语音项目,是使用praat做语音标注的,但除了标注外不会用它做音乐编辑。兴趣使然下,找到一个开源音乐编辑软件:Audacity,使用起来虽然不像cooledit那么方便,但好歹是免费的开源产品,挺好用的,用其制作的音乐好歹还能应付所需。 至于视频制作软件,虽然尝试找开源软件,但找了两个完全不知道怎么用。
- Praat脚本如何实现将数字的文件名根据需要设定同样的位数以0补充
shaopengfei
Praat
在其它程序语言中,这样的操作很常见,并且很容易实现,有一个数据的精度问题和数据输出格式问题,但是在Praat中没有这样的直接的操作,如果要操作这样的问题比如把123456789...要求输出是00001
00002
00003
00004
00005
00006
00007
00008
00009
00010在Praat中实现的时候要充分利用整除等操作,直接上代码,示例是将1-100以内的数据,输
- Java序列化进阶篇
g21121
java序列化
1.transient
类一旦实现了Serializable 接口即被声明为可序列化,然而某些情况下并不是所有的属性都需要序列化,想要人为的去阻止这些属性被序列化,就需要用到transient 关键字。
- escape()、encodeURI()、encodeURIComponent()区别详解
aigo
JavaScriptWeb
原文:http://blog.sina.com.cn/s/blog_4586764e0101khi0.html
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent 。
下面简单介绍一下它们的区别
1 escape()函
- ArcgisEngine实现对地图的放大、缩小和平移
Cb123456
添加矢量数据对地图的放大、缩小和平移Engine
ArcgisEngine实现对地图的放大、缩小和平移:
个人觉得是平移,不过网上的都是漫游,通俗的说就是把一个地图对象从一边拉到另一边而已。就看人说话吧.
具体实现:
一、引入命名空间
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
二、代码实现.
- Java集合框架概述
天子之骄
Java集合框架概述
集合框架
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。
简单介绍:
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi
- 旗正4.0页面跳转传值问题
何必如此
javajsp
跳转和成功提示
a) 成功字段非空forward
成功字段非空forward,不会弹出成功字段,为jsp转发,页面能超链接传值,传输变量时需要拼接。接拼接方式list.jsp?test="+strweightUnit+"或list.jsp?test="+weightUnit+&qu
- 全网唯一:移动互联网服务器端开发课程
cocos2d-x小菜
web开发移动开发移动端开发移动互联程序员
移动互联网时代来了! App市场爆发式增长为Web开发程序员带来新一轮机遇,近两年新增创业者,几乎全部选择了移动互联网项目!传统互联网企业中超过98%的门户网站已经或者正在从单一的网站入口转向PC、手机、Pad、智能电视等多端全平台兼容体系。据统计,AppStore中超过85%的App项目都选择了PHP作为后端程
- Log4J通用配置|注意问题 笔记
7454103
DAOapachetomcatlog4jWeb
关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架 配置了 日志 记下来 !做个备忘!
#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog
# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,C
- SQLServer TCP/IP 连接失败问题 ---SQL Server Configuration Manager
darkranger
sqlcwindowsSQL ServerXP
当你安装完之后,连接数据库的时候可能会发现你的TCP/IP 没有启动..
发现需要启动客户端协议 : TCP/IP
需要打开 SQL Server Configuration Manager...
却发现无法打开 SQL Server Configuration Manager..??
解决方法: C:\WINDOWS\system32目录搜索framedyn.
- [置顶] 做有中国特色的程序员
aijuans
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有些技术书读得可
- document.domain 跨域问题
avords
document
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.315ta.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "315ta.com");
- 关于管理软件的一些思考
houxinyou
管理
工作好多看年了,一直在做管理软件,不知道是我最开始做的时候产生了一些惯性的思维,还是现在接触的管理软件水平有所下降.换过好多年公司,越来越感觉现在的管理软件做的越来越乱.
在我看来,管理软件不论是以前的结构化编程,还是现在的面向对象编程,不管是CS模式,还是BS模式.模块的划分是很重要的.当然,模块的划分有很多种方式.我只是以我自己的划分方式来说一下.
做为管理软件,就像现在讲究MVC这
- NoSQL数据库之Redis数据库管理(String类型和hash类型)
bijian1013
redis数据库NoSQL
一.Redis的数据类型
1.String类型及操作
String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Set方法:设置key对应的值为string类型的value
- Tomcat 一些技巧
征客丶
javatomcatdos
以下操作都是在windows 环境下
一、Tomcat 启动时配置 JAVA_HOME
在 tomcat 安装目录,bin 文件夹下的 catalina.bat 或 setclasspath.bat 中添加
set JAVA_HOME=JAVA 安装目录
set JRE_HOME=JAVA 安装目录/jre
即可;
二、查看Tomcat 版本
在 tomcat 安装目
- 【Spark七十二】Spark的日志配置
bit1129
spark
在测试Spark Streaming时,大量的日志显示到控制台,影响了Spark Streaming程序代码的输出结果的查看(代码中通过println将输出打印到控制台上),可以通过修改Spark的日志配置的方式,不让Spark Streaming把它的日志显示在console
在Spark的conf目录下,把log4j.properties.template修改为log4j.p
- Haskell版冒泡排序
bookjovi
冒泡排序haskell
面试的时候问的比较多的算法题要么是binary search,要么是冒泡排序,真的不想用写C写冒泡排序了,贴上个Haskell版的,思维简单,代码简单,下次谁要是再要我用C写冒泡排序,直接上个haskell版的,让他自己去理解吧。
sort [] = []
sort [x] = [x]
sort (x:x1:xs)
| x>x1 = x1:so
- java 路径 配置文件读取
bro_feng
java
这几天做一个项目,关于路径做如下笔记,有需要供参考。
取工程内的文件,一般都要用相对路径,这个自然不用多说。
在src统计目录建配置文件目录res,在res中放入配置文件。
读取文件使用方式:
1. MyTest.class.getResourceAsStream("/res/xx.properties")
2. properties.load(MyTest.
- 读《研磨设计模式》-代码笔记-简单工厂模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 个人理解:简单工厂模式就是IOC;
* 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了
*/
interface IProduct {
- SVN与JIRA的关联
chenyu19891124
SVN
SVN与JIRA的关联一直都没能装成功,今天凝聚心思花了一天时间整合好了。下面是自己整理的步骤:
一、搭建好SVN环境,尤其是要把SVN的服务注册成系统服务
二、装好JIRA,自己用是jira-4.3.4破解版
三、下载SVN与JIRA的插件并解压,然后拷贝插件包下lib包里的三个jar,放到Atlassian\JIRA 4.3.4\atlassian-jira\WEB-INF\lib下,再
- JWFDv0.96 最新设计思路
comsci
数据结构算法工作企业应用公告
随着工作流技术的发展,工作流产品的应用范围也不断的在扩展,开始进入了像金融行业(我已经看到国有四大商业银行的工作流产品招标公告了),实时生产控制和其它比较重要的工程领域,而
- vi 保存复制内容格式粘贴
daizj
vi粘贴复制保存原格式不变形
vi是linux中非常好用的文本编辑工具,功能强大无比,但对于复制带有缩进格式的内容时,粘贴的时候内容错位很严重,不会按照复制时的格式排版,vi能不能在粘贴时,按复制进的格式进行粘贴呢? 答案是肯定的,vi有一个很强大的命令可以实现此功能 。
在命令模式输入:set paste,则进入paste模式,这样再进行粘贴时
- shell脚本运行时报错误:/bin/bash^M: bad interpreter 的解决办法
dongwei_6688
shell脚本
出现原因:windows上写的脚本,直接拷贝到linux系统上运行由于格式不兼容导致
解决办法:
1. 比如文件名为myshell.sh,vim myshell.sh
2. 执行vim中的命令 : set ff?查看文件格式,如果显示fileformat=dos,证明文件格式有问题
3. 执行vim中的命令 :set fileformat=unix 将文件格式改过来就可以了,然后:w
- 高一上学期难记忆单词
dcj3sjt126com
wordenglish
honest 诚实的;正直的
argue 争论
classical 古典的
hammer 锤子
share 分享;共有
sorrow 悲哀;悲痛
adventure 冒险
error 错误;差错
closet 壁橱;储藏室
pronounce 发音;宣告
repeat 重做;重复
majority 大多数;大半
native 本国的,本地的,本国
- hibernate查询返回DTO对象,DTO封装了多个pojo对象的属性
frankco
POJOhibernate查询DTO
DTO-数据传输对象;pojo-最纯粹的java对象与数据库中的表一一对应。
简单讲:DTO起到业务数据的传递作用,pojo则与持久层数据库打交道。
有时候我们需要查询返回DTO对象,因为DTO
- Partition List
hcx2013
partition
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.
You should preserve the original relative order of th
- Spring MVC测试框架详解——客户端测试
jinnianshilongnian
上一篇《Spring MVC测试框架详解——服务端测试》已经介绍了服务端测试,接下来再看看如果测试Rest客户端,对于客户端测试以前经常使用的方法是启动一个内嵌的jetty/tomcat容器,然后发送真实的请求到相应的控制器;这种方式的缺点就是速度慢;自Spring 3.2开始提供了对RestTemplate的模拟服务器测试方式,也就是说使用RestTemplate测试时无须启动服务器,而是模拟一
- 关于推荐个人观点
liyonghui160com
推荐系统关于推荐个人观点
回想起来,我也做推荐了3年多了,最近公司做了调整招聘了很多算法工程师,以为需要多么高大上的算法才能搭建起来的,从实践中走过来,我只想说【不是这样的】
第一次接触推荐系统是在四年前入职的时候,那时候,机器学习和大数据都是没有的概念,什么大数据处理开源软件根本不存在,我们用多台计算机web程序记录用户行为,用.net的w
- 不间断旋转的动画
pangyulei
动画
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M
- 自定义annotation
sha1064616837
javaenumannotationreflect
对象有的属性在页面上可编辑,有的属性在页面只可读,以前都是我们在页面上写死的,时间一久有时候会混乱,此处通过自定义annotation在类属性中定义。越来越发现Java的Annotation真心很强大,可以帮我们省去很多代码,让代码看上去简洁。
下面这个例子 主要用到了
1.自定义annotation:@interface,以及几个配合着自定义注解使用的几个注解
2.简单的反射
3.枚举
- Spring 源码
up2pu
spring
1.Spring源代码
https://github.com/SpringSource/spring-framework/branches/3.2.x
注:兼容svn检出
2.运行脚本
import-into-eclipse.bat
注:需要设置JAVA_HOME为jdk 1.7
build.gradle
compileJava {
sourceCompatibilit
- 利用word分词来计算文本相似度
yangshangchuan
wordword分词文本相似度余弦相似度简单共有词
word分词提供了多种文本相似度计算方式:
方式一:余弦相似度,通过计算两个向量的夹角余弦值来评估他们的相似度
实现类:org.apdplat.word.analysis.CosineTextSimilarity
用法如下:
String text1 = "我爱购物";
String text2 = "我爱读书";
String text3 =