1. 程式人生 > >OpenNLP:駕馭文字,分詞那些事

OpenNLP:駕馭文字,分詞那些事

	/**
	 * 5.序列標註:Chunker
	 * @deprecated 通過使用標記生成器生成的tokens分為一個句子劃分為一組塊。What chunker does is to partition a sentence to a set of chunks by using the tokens generated by tokenizer.
	 * @param str
	 */
	public static void chunk(String str) throws IOException {
		POSModel model = new POSModelLoader().load(new File("./nlpbin/en-pos-maxent.bin"));
		//PerformanceMonitor perfMon = new PerformanceMonitor(System.err, "sent");
		POSTaggerME tagger = new POSTaggerME(model);
		ObjectStream<String> lineStream = new PlainTextByLineStream(new StringReader(str));
		//perfMon.start();
		String line;
		String whitespaceTokenizerLine[] = null;
		String[] tags = null;
		while ((line = lineStream.read()) != null) {
			whitespaceTokenizerLine = WhitespaceTokenizer.INSTANCE.tokenize(line);
			tags = tagger.tag(whitespaceTokenizerLine);
			POSSample sample = new POSSample(whitespaceTokenizerLine, tags);
			System.out.println(sample.toString());
				//perfMon.incrementCounter();
		}
		//perfMon.stopAndPrintFinalResult();
		
		// chunker
		InputStream is = new FileInputStream("./nlpbin/en-chunker.bin");
		ChunkerModel cModel = new ChunkerModel(is);
		ChunkerME chunkerME = new ChunkerME(cModel);
		String result[] = chunkerME.chunk(whitespaceTokenizerLine, tags);
		for (String s : result)
			System.out.println(s);
		Span[] span = chunkerME.chunkAsSpans(whitespaceTokenizerLine, tags);
		for (Span s : span)
			System.out.println(s.toString());
		System.out.println("--------------5-------------");
	}

相關推薦

OpenNLP駕馭文字那些

/** * 5.序列標註:Chunker * @deprecated 通過使用標記生成器生成的tokens分為一個句子劃分為一組塊。What chunker does is to partition a sentence to a set of chunks by using the tok

用python3 SVM訓練測試預測文字摘要(中文)(分句詞典測試建模預測)

使用SVM 訓練和預測,需要正確的資料: X:儲存特徵。可以是二維矩陣,如:[ [c1 ,c2, c3…] ,[…],…];也可以是這樣的形式[{a1:c1,a2:c2,a3:c3…},{…} …],c1,c2…表示特徵值a1,a2,a3…表示詞位置(詞在le

搜索引擎系列四Lucene提供的器、IKAnalyze中文器集成

author oid core 長度 maven項目 int get attribute clu 一、Lucene提供的分詞器StandardAnalyzer和SmartChineseAnalyzer 1.新建一個測試Lucene提供的分詞器的maven項目LuceneAn

Es學習第五課 器介紹和中文器配置

 上課我們介紹了倒排索引,在裡面提到了分詞的概念,分詞器就是用來分詞的。 分詞器是ES中專門處理分詞的元件,英文為Analyzer,定義為:從一串文字中切分出一個一個的詞條,並對每個詞條進行標準化。它由三部分組成, Character Filters:分詞之前進行預處

python3-對某目錄下的文字檔案

from pathlib import Path import os import re pathName='./' fnLst=list(filter(lambda x:not x.is_dir(),Path(pathName).glob('**/*.txt'))) print(fnLst) for fn

python爬蟲Scrapy爬取豆瓣電影《芳華》電影短評生成雲圖。

專案github地址:https://github.com/kocor01/scrapy_cloud Python版本為3.6 自己寫的簡單架構《python爬蟲,爬取豆瓣電影《芳華》電影短評,分詞生成詞雲圖。》 這個是用Scrapy框架重新實現的 爬蟲

python爬蟲爬取豆瓣電影《芳華》電影短評生成雲圖。

專案github地址:https://github.com/kocor01/spider_cloub/ Python版本為3.6 最近突然想玩玩雲圖,動手寫了個簡單的爬蟲,搭建了簡單的爬蟲架構 爬蟲爬取最近比較火的電影《芳華》分詞後生成雲圖 使用了 jieba分詞,雲圖用word

自然語言處理之hanlpPython呼叫與構建、關鍵詞提取、命名主體識別

HanLP是一系列模型與演算法組成的NLP工具包,由大快搜索主導並完全開源,目標是普及自然語言處理在生產環境中的應用。HanLP具備功能完善、效能高效、架構清晰、語料時新、可自定義的特點。在Python中一種是直接呼叫hanlp的介面pyhanlp.還有就是

Solr叢集搭建zookeeper叢集搭建Solr分片管理Solr叢集下的DataImport配置。

1   什麼是SolrCloud  SolrCloud(solr 雲)是Solr提供的分散式搜尋方案,當你需要大規模,容錯,分散式索引和檢索能力時使用 SolrCloud。當一個系統的索引資料量少的時候是不需要使用SolrCloud的,當索引量很大,搜尋請求併發很高,這時需要

文字處理-、向量化、TF-IDF理論和實現

分詞在做文字挖掘的時候,首先要做的預處理就是分詞。英文單詞天然有空格隔開容易按照空格分詞,但是也有時候需要把多個單詞做為一個分詞,比如一些名詞如“New York”,需要做為一個詞看待。而中文由於沒有空格,分詞就是一個需要專門去解決的問題了。無論是英文還是中文,分詞的原理都是

solr 的分析器器和過濾器

 (一) 分詞基本概念  概覽     當對一個文件(document是一系列field的集合)進行索引時,其中的每個field(document和file都是lucene中的概念)中的資料都會經歷分析,分詞和多步的分詞過濾等操作。這一系列的動作是什麼呢?直觀的理解是,

Android Studio中ListView控制元件圖片+文字文字顯示不出來

  今天在學習 ListView 控制元件的時候,想做一個滾動介面,顯示圖片+文字。 想象的是這樣子的: 沒想到執行的時候是這樣子的: 於是我抱著試一試的心態壓縮了一下圖片:結果就按照想的顯示出來了。 我覺得應該還有其他的解決辦法,歡迎指出。

淺談中文與jieba原始碼

一、前言1、什麼是中文分詞?中文文字,從形式上看是由漢字、標點符號等組成的一個字串。由字組成詞,再組成句子、文章等。那麼分詞,就是按照一定的規則把字串重新組合成詞序列的過程。2、為什麼要分詞?(1)在中文裡面,詞是最小的能夠獨立活動的有意義的語言成分(2)英文中單詞以空格作為

ElasticStack學習(五)ElasticSearch索引與

一、正排索引與倒排索引 1、什麼是正排索引呢?   以一本書為例,一般在書的開始都會有書的目錄,目錄裡面列舉了一本書有哪些章節,大概有哪些內容,以及所對應的頁碼數。這樣,我們在查詢一些內容時,就可以通過目錄來定位到這些內容大概在哪頁。因此,書的目錄就可以稱之為正排索引(目錄頁)。 2、什麼時倒排索引呢?

數組引用指針那些

註意 首地址 編譯器 編譯 拷貝 避免 ons 現在 void 數組、指針、引用三者夾雜不清,寫法很容易讓人記憶混淆,現在做如下總結: 數組的引用和引用的數組 C++中由於數組不允許拷貝和賦值,當我們函數形參設為數組時,編譯器會自動將數組形參轉換為

關於cpython直譯器ipython的那些

有時候不想開啟那些ide,就想簡單的寫寫,用到ipython,所以記錄一些內容以便靈活使用。 ipython是建立在cpython上的一個互動型直譯器,用好它可以更便利的除錯程式,和代替系統shell。   檢視與切換工作目錄:ipython:獲取當前的工作空間current working

Linux 防火牆關於 iptables 和 firewalld 的那些

以下是如何使用 iptables 和 firewalld 工具來管理 Linux 防火牆規則。 這篇文章摘自我的書《Linux in Action》,尚未釋出的第二個曼寧出版項目。 防火牆 防火牆是一組規則。當資料包進出受保護的網路區域時,進出內容(特別是關於其來

資料庫分庫那些

王鵬,去哪兒網高階研發工程師,2017 年加入去哪兒機票事業部,主要從事後端研發工作,目前在機票事業部負責行程單、故障演練平臺和公共搜尋服務ES相關的研發和運維工作,個人對於分散式海量資料儲存架構以及大資料有濃厚的興趣。 背景: 最近工作在做Elastic Search 相關的服務的運維開發工作,從索引的

《數學之美》讀書記錄【思維導圖記錄】第四章談談中文

post IT .cn splay top style title mage blog 《數學之美》讀書記錄【思維導圖記錄】:第四章,談談中文分詞

Python電商產品評論數據情感分析jiebaLDA模型

數據分析 blank sdn github author roc dem pfile 軟件 本節涉及自然語言處理(NLP),具體涉及文本數據采集、預處理、分詞、去停用詞、詞頻分析、LDA主題模型 代碼部分 1 # -*- coding: utf-8 -*- 2 """