bom_analysis's Introduction
bom_analysis's People
bom_analysis's Issues
阶段性总结
这个项目的任务是公司年报信息的抽取,是在命名实体识别的基础之上进行的实体关系抽取,当前命名实体识别的任务已经完成的差不多了,虽然效果还有待提高,但是基本方法已经确定,之后再进行提升即可。
接下来的任务就是实体关系抽取了,经过几天的考察,目前命名实体实体有两种主流方法,基于规则和模板,还有就是机器学习的方法,机器学习又分为核函数和特征向量两种方法。目前基本确定采用机器学习特征向量的方式,需要用到SVM(支持向量机),就是一个分类器,开源的实现工具有LibSVM和SVM Light可用,目前正在学习SVM的原理和具体操作步骤,这个过程中,知乎给了很大的帮助,具体问题链接如下:
关于在windows下java中调用crf++工具接口
之前使用CRF++工具包训练了模型,并利用该模型对文本进行命名实体识别,这些都是在命令行下运行的,虽然java也可以调用命令行,但使用还是很不方便的。
用java调用crf++接口需要手动编译运行动态库,使用java的jni进行调用,关于动态库的编译网上有很多文章都介绍过了,需要工具为swig和vs1017,可以参照博文:
http://blog.csdn.net/zhyh1986/article/details/9368551。
我主要要说的问题是运行库位数的问题,笔者在实际操作在vs x86环境下中成功生成了目标CRFPP.dll运行库,放在java运行库中报错为 ”32bit的运行库不能再64bit的虚拟机下运行“,故重新编译运行库,这下出现了问题,编译CRFPP.dll需要crf文件夹下的libcrfpp.dll,libcrfpp.dll只提供了了32位的,所以无法编译64位的CRFPP文件。
在确定运行库位数的问题不能解决后,只能考虑去更换java的虚拟机。笔者重新下载了32位的jdk,并配置项目的jdk,解决了问题。
CRF++在13年就停止更新了,目前机器和环境大都是64位的,希望再有人使用java调用crf++工具时能考虑位数的问题。
一些问题
最近把之前做的工作集成起来做了测试,出现了以下几个问题:
- JVM相关问题,为了使用Java调用CRF++,之前在64位系统中安装了32位的JDK,测试期间出现了各种各样的虚拟机报错,主要是内存方面的问题;
- Stanford Ner识别时会把输入句中的特殊符号、数字拆开识别,例如“--”,“32.1”这种,由于不能准确把握哪些符号会分开,哪些不会,导致出现一系列问题;
- Stanford Segmenter分词效果一般,我觉得没有Ltp用起来好,毕竟不是专门做中文分词的。
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.