在文件数据挖掘处理技术中,如何从文本数据中抽取有价值的信息和知识是一个重要的数据挖据分支,是机器学习、自然语言处理、数理统计的基础技术之一,是信息检索,机器学习,AI智能等高端技术的的底层技术支持之一。
Graccvs组件智能分析提取其他各种文件中文本,为自然语言信息检索,机器学习等高端技术提供底层支持的技术组件,是Lucene/CLucene, Elasticsearch, Sphinx等全文检索工具,OA, ERP, CRM,网盘,文件管理等其他系统提供文件摘要及搜索前置服务。同时也可以为安全网关,邮件内容监控,内网安全等系统提供文件搜索及监控服务底层技术支持。
组件支持常见各种文件格式”.pdf", ".doc", ".odt", ".docx", ".dotm", ".docm", ".wps", ".xls", ".xlsx", ".xlsm", ".xltm", ".et", ".ppt", ".pptx", ".potm", ".pptm", ".ppsm", ".dps", ".ofd"(电子发票版式文件), ".rtf",".html", ".htm", ".mht", ".mhtml", ".eml", ".emmx", "xmind", "gmind", ".chm", ".zip" 等。组件速度快,效率高,调用非常简单。
Graccvs组件是以so格式动态链接库方式调用的, 点击这里下载So动态链接库,函数详细说明和调用示例点击这里参考或者下载工程包。
调用过程:
1:新建文件夹gccTest。
2:拷贝graccvs.h,graccvsSoTest.c 到文件夹下gccTest。
3:拷贝 graccvs64.so到/usr/lib/ 文件夹下。
4:窗口命令下编译文件,如下: gcc -rdynamic -o graccvsSoTest graccvsSoTest.c -ldl 。
5:编译后运行执行文件 ./graccvsSoTest 测试文件正文提取 。
主要代码头文件graccvs.h :
#include <stdio.h>
#include <stdlib.h>
//----------------------以下为函数说明----------------------
// 加载DLL,设置动态库需要的临时文件夹,且对此文件夹要有读写权限
typedef void (*LOAD)(char *tempDir);
/*
注册软件:
方式1:输入参数,corp为公司名称licText为注册码
方式2:把授权文件grauth.lic保存到动态库相同文件夹,调用TAuth函数(corp, licText都为空)系统自动加载grauth.lic
返回值:
0:免费版本许可为空
1:许可正常
2:序列号(公司授权名称)错误
3:加密数据格式错误
4:许可过期
5:许可验证错误
6:无效的许可
7:未知错误
注1:如果注册失败,系统变为免费版本
注2:免费版也需要调用此函数,corp和licText都为空
*/
typedef int (*AUTH)(char *corp, char *licText);
// 提供文件正文,并保存到目标文件
// inFilePtr输入文件地址, outFilePtr为TXT目标文件文件地址
typedef int (*TOTEXTFILE)(char *inFilePtr, char *outFilePtr);
// 提供文件正文
// inFilePtr输入文件地址, 返回UTF-8编码字符串数据指针(此指针需要使用FREESTRING函数释放内存)
typedef char* (*TOSTRING)(char *inFilePtr);
// 释放TOSTRING等函数的返回指针
typedef void (*FREESTRING)(char *p);
// 得到最后的错误信息
typedef char* (*LASTERR)();
// 提取Http/Https文件,返回字符串数据指针
// url=Http/Https地址
// fileExt=文件类型(比如:".pdf"),
// timeout=超时设置,超过此数值系统终止下载文件。单位为毫秒,默认为0(等待文件下载直到完成)
// httpParams=JSON格式header数据和cookie数据,默认为空
/*
JSON格式如下:
{"headers":
[{名称1: 值1},{名称2: 值2},...],
"cookies":[
{"name": 名称(字符串), "value": 值(字符串), "expires": 有效期(整数,单位毫秒),
"path": 路径(字符串), "domain": 域名(字符串)},
{"name": 名称(字符串), "value": 值(字符串), "expires": 有效期(整数,单位毫秒),
"path": 路径(字符串), "domain": 域名(字符串)}