MITIE 即 MIT 的 NLP 團隊釋出的一個資訊抽取庫和工具。它是一款免費且先進的資訊抽取工具,目前包含了命名實體抽取、二進制關系檢測功能,另外也提供了訓練自定義抽取器和關系檢測器的工具。
MITIE 是核心代碼是使用 C++ 寫的,建立在高性能的機器學習庫 dlib 上。MIT 團隊給我們提供了一些已訓練好了的模型,這其中包含了英語、西班牙語和德語,這些模型都使用了大量的語料進行訓練。我們發現并沒有我們要的中文的模型,是以這個還得我們自己訓練。
盡管 MITIE 是 C++ 寫的,但它也提供了其他語言的調用 API 。在我自己的項目中常常會跟 Java 、 Python 混合用,是以隻要編譯成動态庫再分别用 Java 和 Python 調用就行了,很友善。
看看 MIT 實驗室的人怎麼說就知道了。
I work at a lab and there are a lot of cool things about my job. In fact, I could go on all day about it, but in this post I want to talk about one thing in particular, which is that we recently got funded by the program to make an open source natural language processing library focused on information extraction.
Why make such a thing when there are already open source libraries out there for this (e.g. OpenNLP, NLTK, Stanford IE, etc.)? Well, if you look around you quickly find out that everything which exists is either expensive, not state-of-the-art, or GPL licensed. If you wanted to use this kind of NLP tool in a non-GPL project then you are either out of luck, have to pay a lot of money, or settle for something of low quality. Well, not anymore! We just released the first version of our MIT Information Extraction library which is built using state-of-the-art statistical machine learning tools.
然後建立一個 test.txt 檔案,待測試内容為
最後編寫代碼如下,
執行結果為,
主要是要訓練所有詞向量特征,後面的實名實體模型和關系模型都是建立在它的基礎上,MITIE 給我們提供了工具完成上述操作,我們可以用 cmake 生成vs項目,但一般我們沒有必要改動到代碼,直接使用 cmake 建構一下就可直接使用。主要操作有
再一個是需要收集大量的詞彙,可以通過維基百科和百度百科收集,類似處理可以參加前面的文章 《如何使用中文維基百科語料》。
接着就可以開始訓練了,參數e表示生成所有我們需要的模型,data為語料庫的目錄。
主要的一步都是要生成共享連結庫,同樣使用 cmake 可以很友善生成,到 mitielib 目錄,
生成需要的連結庫。
然後 python 就能輕易完成調用。而對于 Java 也而需要類似的操作,但它的建構過程還需要有 SWIG 。生成如下的連結庫和 jar 包,然後 Java就能輕易完成調用。
以下是廣告
========廣告時間========
<a href="http://blog.csdn.net/wangyangzhizhou/article/details/74080321" target="_blank">為什麼寫《Tomcat核心設計剖析》</a>
=========================
歡迎關注:
