HANA Text Analysis功能

HANA文本分析功能概述

通过表的形式存储,通过建立全文的索引,对整个表进搜索。加上文本分析之后,进行语意的处理。建立索引之后,通过建模工具建立搜索模型。通过表的属性建立一个视图,然后确立其他的规则。

一、分词

1、判断HANA是否支持中文(ZH)

HANA Text Analysis功能HANA Text Analysis功能


2、测试

建表存储文本数据:

CREATE COLUMN TABLE "TEXT_ANALYSIS"(
      "TEXT_ID" BIGINT PRIMARYKEY,
      "CONTENTNCLOB"NVARCHAR(1024),
      "LANGU"  VARCHAR(10)
);


CONTENTNCLOB 中存储需要分词的文本


创建全文索引:
CREATE FULLTEXT INDEX FT_INDEX
ON TEXT_ANALYSIS(CONTENTNCLOB) TEXT ANALYSIS
ON CONFIGURATION 'LINGANALYSIS_FULL'
LANGUAGE COLUMN "LANGU";
创建全文索引后,SAP HANA会自动生成一张以$TA_<index_name>为名称的表。


插入一条文本数据:
insert into TEXT_ANALYSIS(TEXT_ID,CONTENTNCLOB,LANGU) 
VALUES('2','XXXXXXXXXXXXXXXXXXX','ZH')


查看分词结果:
SELECT * FROM "SYSTEM"."$TA_FT_INDEX"
 HANA Text Analysis功能
HANA Text Analysis功能


分词表不仅将中文文章分解成一个个单词,并且还为每个单词标识了词性。标识了未知。当然对于系统词典没有的词,我们可以通过自定义词典的方式进行标注。



测试代码:

 

CREATECOLUMN TABLE "TEXT_ANALYSIS"(

      "TEXT_ID" BIGINT PRIMARY KEY,

      "CONTENTNCLOB" NVARCHAR(1024),

      "LANGU"  VARCHAR(10)

 

);

----------------------------------LINGANALYSIS_FULL:提供了分词、词干识别以及词性标注功能。----------

CREATEFULLTEXT INDEX FT_INDEX

ONTEXT_ANALYSIS(CONTENTNCLOB) TEXT ANALYSIS

ONCONFIGURATION 'LINGANALYSIS_BASIC'

LANGUAGECOLUMN "LANGU";

 

---------------------------------LINGANALYSIS_BASIC:只提供分词功能,没有对单词的词性标注。-----------

 

CREATEFULLTEXT INDEX FT_INDEX

ONTEXT_ANALYSIS(CONTENTNCLOB) TEXT ANALYSIS

ONCONFIGURATION 'LINGANALYSIS_BASIC'

LANGUAGECOLUMN "LANGU";

 

-------------------------------------LINGANALYSIS_STEMS:提供了分词和词干识别功能。---------------

CREATEFULLTEXT INDEX FT_INDEX

ONTEXT_ANALYSIS(CONTENTNCLOB) TEXT ANALYSIS

ONCONFIGURATION 'LINGANALYSIS_STEMS'

LANGUAGECOLUMN "LANGU";

 

--------------EXTRACTION_CORE:该配置负责抽取文本中的感兴趣实体部分,例如组织,场所等。------------

CREATEFULLTEXT INDEX FT_INDEX

ONTEXT_ANALYSIS(CONTENTNCLOB) TEXT ANALYSIS

ONCONFIGURATION 'EXTRACTION_CORE'

LANGUAGECOLUMN "LANGU";

 

--EXTRACTION_CORE_VOICEOFCUSTOMER:你可以使用它获取关于用户需求和理念的特殊信息,例如可以做文本情感分析--

--该配置项包括,复杂的语言分析和模式处理,包括拼写、句法模式、否定等处理。--

 

CREATEFULLTEXT INDEX FT_INDEX

ONTEXT_ANALYSIS(CONTENTNCLOB) TEXT ANALYSIS

ONCONFIGURATION 'EXTRACTION_CORE_VOICEOFCUSTOMER'

LANGUAGECOLUMN "LANGU";

 

insertinto"JIANGQIAO"."TEXT_ANALYSIS"("TEXT_ID","CONTENTNCLOB","LANGU")

SELECT row_number() over (order by t."title"),t."title",'ZH' from   XXX


二、建模聚类