摘要: CRF简介Conditional Random Field:条件随机场,一种机器学习技术(模型)CRF由John Lafferty最早用于NLP技术领域,其在NLP技术领域中主要用于文本标注,并有多种应用场景,例如:分词(标注字的词位信息,由字构词)词性标注(标注分词的词性,例如:名词,动词,助词)命名实体识别(识别人名,地名,机构名,商品名等具有一定内在规律的实体名词)本文主要描述如何使用CRF技术来进行中文分词。CRF VS 词典统计分词基于词典的分词过度依赖词典和规则库,因此对于歧义词和未登录词的识别能力较低;其优点是速度快,效率高CRF代表了新一代的机器学习技术分词,其基本思路是对汉字 阅读全文
posted @ 2012-11-01 09:16 东嘉CEO 阅读(402) 评论(0) 推荐(0) 编辑
摘要: Android系统本身其实提供有语音识别模块,在它的APIDemo里也有关于语音识别的sample,不过经过大多开发者的真机测试,发现很多真机并不能使用哪个sample,在网上查找了一下原因,大部分是因为开发者在刷机的时候,大部分的ROM都阉割掉了语音识别和语音合成TTS(Text To Speech)部分,所以运行sample的时候会有异常抛出。如果不用google提供的语音识别,要怎么实现语音识别喃?科大讯飞的语音API就可以到,这里是关于它的官网介绍:http://dev.voicecloud.cn/developer.php?vt=1 下面我就用一个简单的实例来介绍一下它基本的使用首先 阅读全文
posted @ 2014-01-02 21:35 东嘉CEO 阅读(6461) 评论(0) 推荐(0) 编辑
摘要: package com.capinfotech.faq.classifier;import java.util.*;import java.io.File;import java.io.IOException;import org.apache.lucene.document.Field;import org.apache.lucene.document.Field.Index;import org.apache.lucene.document.Document;import org.apache.lucene.index.CorruptIndexException;import org.ap 阅读全文
posted @ 2013-12-19 16:49 东嘉CEO 阅读(6086) 评论(0) 推荐(0) 编辑
摘要: Lucene的CJKAnalyzer分析器。CJKAnalyzer分析器的思想:对中文汉字,每两个字作为一个词条,例如A,B,C,D是四个中文汉字,使用CJKAnalyzer分析器分词后一共得到三个词条如下:AB,BC,CD。其实,CJKAnalyzer分析器在对中文分词方面比StandardAnalyzer分析器要好一点。因为根据中文的习惯,包括搜索的时候键入关键字的习惯,中文的词(大于一个汉字)比单个汉字的频率应该高一些。但是,在设置相同的过滤词条文本以后,CJKAnalyzer分析器的缺点就是产生了冗余会比较大,相对于StandardAnalyzer分析器来说。使用StandardAna 阅读全文
posted @ 2013-12-16 11:24 东嘉CEO 阅读(2824) 评论(0) 推荐(0) 编辑
摘要: private void ReadStreamFromFile() { string filePath = @"D:\abc.txt"; int bufferSize = 1024000; //每次读取的字节数 byte[] buffer = new byte[bufferSize]; System.IO.FileStream stream = null; try { stream = new System.IO.Fi... 阅读全文
posted @ 2013-12-06 11:58 东嘉CEO 阅读(397) 评论(0) 推荐(0) 编辑
摘要: #includebool lights[100] = {0};int main(){int n,step,i,numLighted = 0;scanf("%i",&n);for(step=1;step<=n;step++)for(i=0;i<100;i+=step)lights[i] ^= 1;for(i=0;i<100;i++)if(lights[i])numLighted++;printf("%i",numLighted);return 0;} 阅读全文
posted @ 2013-11-26 13:18 东嘉CEO 阅读(550) 评论(1) 推荐(0) 编辑
摘要: 异或实现:void foo(int *a,int *b){ *a=*a^*b; *b=*a^*b; *a=*a^*b;}void main(){int a=1,b=2; foo(&a,&b); printf("%d.%d.%d",a,b);}或者下例:void foo(int *a,int *b){ *a=*a+*b; *b=*a-*b; *a=*a-*b;}void main(){int a=1,b=2,c=3; foo(&a,&b); foo(&b,&c); foo(&c,&a); printf(" 阅读全文
posted @ 2013-09-24 21:51 东嘉CEO 阅读(177) 评论(0) 推荐(0) 编辑
摘要: ACCESS数据库在.net程序中相对路径的问题困扰,搞得每次移动程序都要去修改web.config中数据库连接字符串的数据库路径。好多人的web.config中的写法如下:程序中这样写:MyConn = new OleDbConnection(System.Configuration.ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"]); //注释一下:VS2005和VS2003中的ConfigurationSettings写法不一样,具体区别自己查吧这样程序运行时经常提示诸如以下的错误:'C:/WI 阅读全文
posted @ 2013-07-23 17:34 东嘉CEO 阅读(399) 评论(0) 推荐(0) 编辑
摘要: csusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page {protected int[] la = new int[]{1,2,3,4,5}; protected void Page_Load(object sender, EventArgs e){ }}aspx 阅读全文
posted @ 2013-07-21 22:46 东嘉CEO 阅读(1723) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>#include<stdlib.h>using namespace std;template<class T>struct LinkNode{ T data; LinkNode<T> * link; LinkNode(LinkNode<T>*ptr=NULL){link=ptr;} LinkNode(const T&item,LinkNode<T>*ptr=NULL) {data=item;link=ptr;}};template <class T>class Lis 阅读全文
posted @ 2013-05-23 22:56 东嘉CEO 阅读(490) 评论(0) 推荐(0) 编辑
摘要: List按对象进入的顺序保存对象,不做排序或编辑操作。Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap. List的功能方法 实际上有两种List: 一种是基本的ArrayList,其优点在于随机访问元素,另一种是更强大的LinkedList,它并不是为快速随机访问设计的,而是具有一套更通用的方法 阅读全文
posted @ 2013-05-03 16:30 东嘉CEO 阅读(179) 评论(0) 推荐(0) 编辑