1、快速从NLPIR-ICTCLAS2014的下载包中获得我们需要的东西
首先来看一下整个文件夹的结构
Data文件夹中,含有分词需要用到的字典,Configure.xml里面有相关的描述信息;doc里面是使用帮助(介绍了基本需要使用到的函数接口);include、lib自然是我们主要用到的;sample是示例代码;test里面有一个exe示例;授权自然是License,应该是通过某种形式来限制我们的使用的,目前暂时还不清楚,如果到时候被限制,还需要进行调试。
2、从下载包中抽出我们需要的,并新建一个例子
从上面来看,我们需要用到的主要有三个文件夹Data、include、lib(我是打算做的32位程序,所以只需要用里面的
libwin32下的dll和lib)
这时,工程目录就变成这样的(当然NLPIR.dll需要和exe放在一块):
第一个例子,比较简单,就简单使用几个常用的函数:
[cpp] view plaincopyprint?
// test_nlpir.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std
#include "NLPIR.h"
#pragma comment(lib, "NLPIR.lib")
int _tmain(int argc, _TCHAR* argv[])
{
if(!NLPIR_Init())
{
printf("Init failsn")
return -1
}
const char *participle_result
const char *sentence = "[整租出租]宣武门西大街4号楼二居整租[整套出租]媒体村天居园大两居[整套出租]媒体村天居园大两居"
cout <<"===============NLPIR_ParagraphProcess==================" <<endl
participle_result = NLPIR_ParagraphProcess(sentence,1)
cout <<participle_result <<endl
cout <<"=================================" <<endl
cout <<"==============NLPIR_GetFileNewWords===================" <<endl
const char * get_file_new_words = NLPIR_GetFileNewWords("test.txt")
cout <<get_file_new_words <<endl
cout <<"=================================" <<endl
cout <<"===============NLPIR_GetKeyWords==================" <<endl
const char * get_key_words = NLPIR_GetKeyWords(sentence)
cout << get_key_words <<endl
cout <<"=================================" <<endl
cout <<"===============NLPIR_GetFileKeyWords==================" <<endl
const char * get_file_key_words = NLPIR_GetFileKeyWords("test.txt")
cout <<get_file_key_words <<endl
cout <<"=================================" <<endl
cout <<"===============NLPIR_GetNewWords==================" <<endl
const char * get_new_words = NLPIR_GetNewWords(sentence)
cout <<get_new_words <<endl
cout <<"=================================" <<endl
NLPIR_Exit()
return 0
}
函数可以按照字面上的意思来理解
这是输出的结果:
但明显是看到,上面的分词有些小问题,如果我们在给聚类算法喂数据的时候,这样的分词,会出现一定的问题
3、解决上面的问题
我们有两种方法来处理这个问题
a、这也许是最简单、也最方便的方法
当然,他除了一些繁琐之外(如果你有了一些需要的数据词条、词典就我所谓了),我们可以新建一个词典文件(比如我这个测试用例中使用user_dic.txt,他里面包含我们需要具体分开的词组):
那么来看下面是如何具体使用字典的:
[cpp] view plaincopyprint?
// test_nlpir.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std
#include "NLPIR.h"
#pragma comment(lib, "NLPIR.lib")
int _tmain(int argc, _TCHAR* argv[])
{
if(!NLPIR_Init())
{
printf("Init failsn")
return -1
}
const char *participle_result
unsigned int add_dic_items = NLPIR_importUserDict("user_dic.txt")//import user dictionary
printf("%d user-defined lexical entries added!n", add_dic_items)
const char *sentence = "[整租出租]宣武门西大街4号楼二居整租[整套出租]媒体村天居园大两居[整套出租]媒体村天居园大两居"
cout <<"===============NLPIR_ParagraphProcess==================" <<endl
participle_result = NLPIR_ParagraphProcess(sentence,1)
cout <<participle_result <<endl
cout <<"=================================" <<endl
cout <<"==============NLPIR_GetFileNewWords===================" <<endl
const char * get_file_new_words = NLPIR_GetFileNewWords("test.txt")
cout <<get_file_new_words <<endl
cout <<"=================================" <<endl
cout <<"===============NLPIR_GetKeyWords==================" <<endl
const char * get_key_words = NLPIR_GetKeyWords(sentence)
cout << get_key_words <<endl
cout <<"=================================" <<endl
cout <<"===============NLPIR_GetFileKeyWords==================" <<endl
const char * get_file_key_words = NLPIR_GetFileKeyWords("test.txt")
cout <<get_file_key_words <<endl
cout <<"=================================" <<endl
cout <<"===============NLPIR_GetNewWords==================" <<endl
const char * get_new_words = NLPIR_GetNewWords(sentence)
cout <<get_new_words <<endl
cout <<"=================================" <<endl
NLPIR_Exit()
return 0
}
这是使用字典之后的分词结果:
可以看到,我们想要切分的词组都已经出来了,也不再有任何新词出现了
b、通过多个样本(也就是多条数据)来进行分词,这样我们需要用到的词的频率便会增长(有的词只出现1、2次并不会被识别出来),这样在GetNewWords中,便能够得到一些我们想法的数据,得到这些数据之后,可以写到文本中,然后再写到用户字典中
这里只演示第一步,看看是如何通过增加多条数据来扩大GetNewWords的结果的。
其实很简单,只需要把第一个例子中的测试字符串修改成如下(同样的test.txt对应的字符串也跟着修改):
[plain] view plaincopyprint?
const char *sentence = "[整租出租]宣武门西大街4号楼二居整租
[整套出租]媒体村天居园大两居
【房主出租】万柳中路康桥水郡一居室
【个人出租】 上地桥东清上园小区开间58平
3个月转租 【中关村保福寺桥南】 两居中的主卧
【整套长期出租】海淀安宁佳园安宁庄一居整租(房东直租)
[单间出租]造甲街南里20号院二居大间
[个人诚心出租]世纪金源附近,远大园四区11号楼三居次卧
【房主1居直租】6号线地铁十里堡站炫特嘉园1居(限1人女)
[单间出租]10号线西土城牡丹园北影黄亭子小区二居之一
[整套出租]西二旗智学苑三居整套
[房主整套出租]清河地铁8号线西小口站精装三居整套
[单间出租]清华校内单间
[北京大学西南门海淀桥南大河庄苑精装修一居室整套出租出租]苏
[求助]求租上地东里/西里/佳园/农大南路2号院 干净舒适带电梯两
[求助]转租 西单/金融街/二龙路两居室
[整套出租]财经大学附近皂君庙一居整套
北沙滩科学院南里50米一居简装3400元转租,需要的站内索取转租
招合租 中关村知春里海淀黄庄地铁站 人大附中对面 正规三居
【个人出租】回龙观地铁附近两居中的主卧和次卧,也可以整租
个人出租
[整套出租]朝阳区南沙滩小区一居整套
(个人转租)新龙城二期14平米正规次卧 1000元
个人出租:温泉镇尚峰尚水小区精装半地下二居
【昌平沙河高教园一区小两居】【2450家电全齐全新】
个人求租,石景山八角附近二居室
个人出租保利西山林语90平二居室
2014-7-30存量房网上签约
明天决定先涨10%的房租,为房产税做准备,得未雨绸缪啊
今晚新闻调查,心全凉了:转基因米实际已经扩散(12)
全款求购万年花城两居室(19)
问一个初级问题:校友卡大家都什么额度?我5k(15)
再问一个小白问题(8)
网友评怕老婆城市排行榜:成都第二上海居首(14)
清华大学东 八家嘉苑 61平米 全南向正规一居 看图 240万(1)
110平米新房求靠谱装修团队、设计、报价
五道口学区房 满五年唯一两居 急售260万
父母随迁落户 能否申请政策房
房子南面离马路60米,西面紧挨着小学和中学,19层,会吵吗
学区房在涨吗
好几个中介打电话说房价要开始上涨了
【整套出租】6号线黄渠站苹果派小区77平2居
个人出租]海淀区五道口华联南暂安处 朝北主卧合租 无中介费近地
【房屋整租】芍药居北里2居室房主首次出租
[出租] 中关村北大西门单间
[求助]求租 上地 当代城市家园或怡美家园两居或者三居 一家人住
[整套出租]五道口东升园一室一厅南北通透全明实木家具地板家电"
这些数据,也是通过web页面得到的
现在来看看结果
一些常见的词汇也能通过GetNewWords反应出来了
我想知道公安县目前有哪些楼盘在售,价格大约多少?
倪妮可是曾经拿过9800万片酬的女明星,她的资产不可估量,就她最近上节目里面公开的房子,价值至少不低于四千万,因为是真人秀,所以很多镜头可以看到房子的全部面目,从她的猫咪活动范围来看,她们家非常的宽敞,而且有一些镜头一扫而过的时候也可以看出装潢非常的精致,不仅如此还有小桥和假山。
这栋房子位于北京,有细心的网友扒出,这个小区里面住了很多的明星,都是一些大明星,房价不低,单价是12万左右1㎡。倪妮的身价可不是盖的,毕竟是谋女郎,谋女郎出身就没有混得惨的,同期的一线女明星赵丽颖,迪丽热巴,李沁片酬和倪妮相比,完全就是一个天上一个地下,迪丽热巴已经够火了吧,但是迪丽热巴的片酬也没有超过1000万,李沁更是没超过700万,但是倪妮凭借《天盛长歌》居然拿到了9800万的片酬,不少网友讽刺这是娱乐圈的病态,但事实上,倪妮也确实暴富了。
回想倪妮的演技生涯,她除了《金陵十三钗》以外,基本上没有什么好的作品,让人有记忆亮点的角色少之又少,除了经常以街拍和穿搭上热搜以外,她在演技方面依旧没有什么进步。
她在节目里面做蛋糕的时候,镜头是指向她家厨房,厨房的装潢非常的休闲欧式,很多家具一看就是价格不菲,曾经有记者拍到倪妮和陈坤一同出入这个新房子,倪妮方虽然表示只是为了暖心房,但是言下之意可以看出这并不是倪妮唯一的一座房子, 据网友透露,倪妮在老家还有一套房,不少网友都直呼太羡慕了。
公安县楼盘信息:大致房价在3500-4500左右;
瑞阳花园 地址:县潺陵大道瑞阳花园
凤凰花园电梯房 地址:斗湖堤镇
伟星丽园4期地址:公安县城区
东方花园地址:环城路37
阳光花苑地址:孱陵大道23号
公安县经济局第二生活小区地址:湖北省荆州市公安县
公安县农科所小区地址:湖北省荆州市公安县
荆华房地产开发公司住宅小区地址:平安路38号
公安地方税务局小区地址:健康路29号
综合小区地址:平安路4号
国土住宅小区地址:油江路128号
观天下怡苑地址:湖北省荆州市公安县
民安小区地址:湖北省荆州市公安县
东方华尔街地址:湖北省荆州市公安县
书香门邸地址:湖北省荆州市公安县
环城五村地址:湖北省荆州市公安县
新豪名苑地址:湖北省荆州市公安县
楚丰佳苑地址:湖北省荆州市公安县
江南新区地址:湖北省荆州市公安县
临江小区地址:湖北省荆州市公安县
奥尔丽住宅小区地址:长江路57号
成跃新村地址:湖北省荆州市公安县
南闸管理所小区地址:湖北省荆州市公安县
青年北路十八家地址:青年路21-5号
中国工商银行公安支行小区地址:油江路197号
新生源小区1栋地址:蔬菜三巷15号
三袁国际地址:湖北省荆州市公安县
公路局小区地址:湖北省荆州市公安县
亭子山花园小区地址:湖北省荆州市公安县
瑞阳花园地址:湖北省荆州市公安县
广荣小区地址:湖北省荆州市公安县
长江路水路住宅小区地址:湖北省荆州市公安县
向阳小区地址:湖北省荆州市公安县
恒盛世家地址:湖北省荆州市公安县
彩云星城地址:湖北省荆州市公安县
公安南平逸安小区地址:湖北省荆州市公安县
城溪新村地址:湖北省荆州市公安县
安信佳苑地址:湖北省荆州市公安县
丽三袁地址:湖北省荆州市公安县
民康小区地址:湖北省荆州市公安县
鑫苑楼地址:荣军路11
丽景苑地址:湖北省荆州市公安县
泰和花园地址:环城路39
以上就是关于NLPIR怎么对sql server数据库数据分词全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!