Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

     在SAP HANA中,除了基本的分词等文本分析任务外,从SPS09开始增加了文本挖掘(Text Mining)的功能。具体来说,具体来说包括文本关键词提取,文本分类,相似文本查找,相似单词查找等功能,在SPS09中,文本挖掘接口以XS接口的形式提供,在SPS10中,提供了SQL形式的接口,这对于文本挖掘的任务,真是非常cool, 有了这个神器,文本分类不再需要整合R,直接在HANA中就可以实现文本分类的功能,具体来说,在HANA内部,在建立全文索引之后,维护了一个term-document矩阵,基于此,可以计算TF,IDF,TF-IDF等词项权重,以欧几里得距离为基础,实现K近邻分类。

      废话不多说,下面直接见例子,本文只是介绍最基本用法为主,更多参数及原理请读者自行查找相关资料。


- 准备数据


SET SCHEMA TMTEST;
DROP TABLE MYTEST CASCADE;
CREATE COLUMN TABLE MYTEST(ID INTEGER primary key,CONTENT NCLOB,LANG VARCHAR(32),CLASS VARCHAR(64));
INSERT INTO MYTEST VALUES('1','I am a chinese, I live in beijing','en','china');
INSERT INTO MYTEST VALUES('2','I like fish,especially big fish','en','fish');
INSERT INTO MYTEST VALUES('3','fish is an animal,live in water','en','fish');
INSERT INTO MYTEST VALUES('4','fish is delicous, I like it','en','fish');
INSERT INTO MYTEST VALUES('5','Chinese is great, I like chinese','en','china');
INSERT INTO MYTEST VALUES('6','China and Chinese','en','china');

我们插入6条记录,属于俩个大类,‘china’跟'fish'.


二 建立全文索引


DROP FULLTEXT INDEX ftidx;
CREATE FULLTEXT INDEX ftidx ON MYTEST (CONTENT)
ASYNC
FAST PREPROCESS OFF
SEARCH ONLY OFF
TEXT ANALYSIS ON
CONFIGURATION 'LINGANALYSIS_FULL'
TEXT MINING ON
TEXT MINING CONFIGURATION 'DEFAULT.textminingconfig'
LANGUAGE DETECTION ('EN')


具体参数意义请参考相关文档,我就不一个一个解释了,主要是关闭FAST PREPROCESS,关闭SEARCH ONLY,打开TEXT ANALYSIS跟TEXT MINING,文本挖掘配置参数文件用默认的。


三 Delta Merge


MERGE DELTA OF MYTEST;

记住,这一步非常重要!!!!!


四 相关功能函数


(1) 输入一个单词,找出相关的单词。

例如找出fish的相关单词

(2) 输入一篇文章,找出文章中重要的单词

例如,找出ID=3的文章中的重要单词


(3) 输入字符开头,找出推荐的单词

例如找出C开通的单词

(4) 以文找文,输入一篇文章,找出相似文章

(5) 以词找文


(6) kNN分类算法

在上例子中,我们的训练集合中就两类,fish跟china。然后我们想看看water是哪个类别,在结果的CATEGORY_VALUE中看到是fish这一类的。


全部SQL代码参考附件textmining.sql

参考资料:

1 http://help.sap.com/hana/SAP_HANA_Text_Mining_Developer_Guide_en.pdf

2 http://help.sap.com/hana/SAP_HANA_SQL_and_System_Views_Reference_en.pdf

[本文的测试案例所使用的SAP HANA版本为SAP HANA SPS10]

想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!

转载本文章请注明作者和出处http://scn.sap.com/community/chinese/hana/blog/2015/08/07/sap-hana%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%...

请勿用于任何商业用途。

3 Comments