腳本分詞
『壹』 在python 環境下,使用結巴分詞,自動導入文本,分詞,提取關鍵詞.腳本 大俠給個
#-*-coding:UTF-8-*-
importjieba
__author__='lpe234'
seg_list=jieba.cut("我來到北京天安門",cut_all=True)
print','.join(seg_list)
...
Loadingmodelfromcache/var/folders/sv//T/jieba.cache
我,來到,北京,天安,天安門
Loadingmodelcost0.433seconds.
.
Processfinishedwithexitcode0
『貳』 java中文分片語件word怎麼使用
參考如下
1、快速體驗
運行項目根目錄下的腳本demo-word.bat可以快速體驗分詞效果
用法: command [text] [input] [output]
命令command的可選值為:demo、text、file
demo
text 楊尚川是APDPlat應用級產品開發平台的作者
file d:/text.txt d:/word.txt
exit
2、對文本進行分詞
移除停用詞:List<Word> words = WordSegmenter.seg("楊尚川是APDPlat應用級產品開發平台的作者");
保留停用詞:List<Word> words = WordSegmenter.segWithStopWords("楊尚川是APDPlat應用級產品開發平台的作者");
System.out.println(words);
輸出:
移除停用詞:[楊尚川, apdplat, 應用級, 產品, 開發平台, 作者]
保留停用詞:[楊尚川, 是, apdplat, 應用級, 產品, 開發平台, 的, 作者]
3、對文件進行分詞
String input = "d:/text.txt";
String output = "d:/word.txt";
移除停用詞:WordSegmenter.seg(new File(input), new File(output));
保留停用詞:WordSegmenter.segWithStopWords(new File(input), new File(output));
4、自定義配置文件
默認配置文件為類路徑下的word.conf,打包在word-x.x.jar中
自定義配置文件為類路徑下的word.local.conf,需要用戶自己提供
如果自定義配置和默認配置相同,自定義配置會覆蓋默認配置
配置文件編碼為UTF-8
5、自定義用戶詞庫
自定義用戶詞庫為一個或多個文件夾或文件,可以使用絕對路徑或相對路徑
用戶詞庫由多個詞典文件組成,文件編碼為UTF-8
詞典文件的格式為文本文件,一行代表一個詞
可以通過系統屬性或配置文件的方式來指定路徑,多個路徑之間用逗號分隔開
類路徑下的詞典文件,需要在相對路徑前加入前綴classpath:
指定方式有三種:
指定方式一,編程指定(高優先順序):
WordConfTools.set("dic.path", "classpath:dic.txt,d:/custom_dic");
DictionaryFactory.reload();//更改詞典路徑之後,重新載入詞典
指定方式二,Java虛擬機啟動參數(中優先順序):
java -Ddic.path=classpath:dic.txt,d:/custom_dic
指定方式三,配置文件指定(低優先順序):
使用類路徑下的文件word.local.conf來指定配置信息
dic.path=classpath:dic.txt,d:/custom_dic
如未指定,則默認使用類路徑下的dic.txt詞典文件
6、自定義停用詞詞庫
使用方式和自定義用戶詞庫類似,配置項為:
stopwords.path=classpath:stopwords.txt,d:/custom_stopwords_dic
7、自動檢測詞庫變化
可以自動檢測自定義用戶詞庫和自定義停用詞詞庫的變化
包含類路徑下的文件和文件夾、非類路徑下的絕對路徑和相對路徑
如:
classpath:dic.txt,classpath:custom_dic_dir,
d:/dic_more.txt,d:/DIC_DIR,D:/DIC2_DIR,my_dic_dir,my_dic_file.txt
classpath:stopwords.txt,classpath:custom_stopwords_dic_dir,
d:/stopwords_more.txt,d:/STOPWORDS_DIR,d:/STOPWORDS2_DIR,stopwords_dir,remove.txt
8、顯式指定分詞演算法
對文本進行分詞時,可顯式指定特定的分詞演算法,如:
WordSegmenter.seg("APDPlat應用級產品開發平台", SegmentationAlgorithm.BidirectionalMaximumMatching);
SegmentationAlgorithm的可選類型為:
正向最大匹配演算法:MaximumMatching
逆向最大匹配演算法:ReverseMaximumMatching
正向最小匹配演算法:MinimumMatching
逆向最小匹配演算法:ReverseMinimumMatching
雙向最大匹配演算法:BidirectionalMaximumMatching
雙向最小匹配演算法:BidirectionalMinimumMatching
雙向最大最小匹配演算法:
全切分演算法:FullSegmentation
最少分詞演算法:MinimalWordCount
最大Ngram分值演算法:MaxNgramScore
9、分詞效果評估
運行項目根目錄下的腳本evaluation.bat可以對分詞效果進行評估
評估採用的測試文本有253 3709行,共2837 4490個字元
評估結果位於target/evaluation目錄下:
corpus-text.txt為分好詞的人工標注文本,詞之間以空格分隔
test-text.txt為測試文本,是把corpus-text.txt以標點符號分隔為多行的結果
standard-text.txt為測試文本對應的人工標注文本,作為分詞是否正確的標准
result-text-***.txt,***為各種分詞演算法名稱,這是word分詞結果
perfect-result-***.txt,***為各種分詞演算法名稱,這是分詞結果和人工標注標准完全一致的文本
wrong-result-***.txt,***為各種分詞演算法名稱,這是分詞結果和人工標注標准不一致的文本
『叄』 一個txt文檔,已經用結巴分詞分完詞,怎麼用python工具對這個分完詞的文檔進行計算統計詞頻,求腳本,非
#!/usr/bin/envpython3
#-*-coding:utf-8-*-
importos,random
#假設要讀取文件名為aa,位於當前路徑
filename='aa.txt'
dirname=os.getcwd()
f_n=os.path.join(dirname,filename)
#注釋掉的程序段,用於測試腳本,它生成20行數據,每行有1-20隨機個數字,每個數字隨機1-20
'''
test=''
foriinrange(20):
forjinrange(random.randint(1,20)):
test+=str(random.randint(1,20))+''
test+=' '
withopen(f_n,'w')aswf:
wf.write(test)
'''
withopen(f_n)asf:
s=f.readlines()
#將每一行數據去掉首尾的空格和換行符,然後用空格分割,再組成一維列表
words=[]
forlineins:
words.extend(line.strip().split(''))
#格式化要輸出的每行數據,首尾各佔8位,中間佔18位
defgeshi(a,b,c):
returnalignment(str(a))+alignment(str(b),18)+alignment(str(c))+' '
#中英文混合對齊,參考http://bbs.fishc.com/thread-67465-1-1.html,二樓
#漢字與字母格式化佔位format對齊出錯對不齊漢字對齊數字漢字對齊字母中文對齊英文
#alignment函數用於英漢混合對齊、漢字英文對齊、漢英對齊、中英對齊
defalignment(str1,space=8,align='left'):
length=len(str1.encode('gb2312'))
space=space-lengthifspace>=lengthelse0
ifalignin['left','l','L','Left','LEFT']:
str1=str1+''*space
elifalignin['right','r','R','Right','RIGHT']:
str1=''*space+str1
elifalignin['center','c','C','Center','CENTER','centre']:
str1=''*(space//2)+str1+''*(space-space//2)
returnstr1
w_s=geshi('序號','詞','頻率')
#由(詞,頻率)元組構成列表,先按頻率降序排序,再按詞升序排序,多級排序,一組升,一組降,高級sorted
wordcount=sorted([(w,words.count(w))forwinset(words)],key=lambdal:(-l[1],l[0]))
#要輸出的數據,每一行由:序號(佔8位)詞(佔20位)頻率(佔8位)+' '構成,序號=List.index(element)+1
for(w,c)inwordcount:
w_s+=geshi(wordcount.index((w,c))+1,w,c)
#將統計結果寫入文件ar.txt中
writefile='ar.txt'
w_n=os.path.join(dirname,writefile)
withopen(w_n,'w')aswf:
wf.write(w_s)
『肆』 腳本中creditcard:true什麼意思
creditcard:true
信用卡:事實
credit card
[英][ˈkredit kɑ:d][美][ˈkrɛdɪt kɑrd]
n.
信用卡,簽賬卡;
復數:credit cards
例句:
Sorry, I left my credit card at home.
對不起,我把信用卡落在家裡了。
true
[英][tru:][美][tru:]
adj.
真正的; 真實的; 正確的; 忠實的;
adv.
真正地; 確實地; 正確地; 正當地;
n.
真理,真實; 正,准,精確;
vt.
擺正; 決定(某物)的位置以使其平衡、平穩或水平;
第三人稱單數:trues
復數:trues
現在進行時:truing
過去式:trued
過去分詞:trued
比較級:truer
最高級:truest
例句:
I allowed myself to acknowledge my true feelings.
我願意承認我的真實感情。
『伍』 scripts的中文意思
scripts,劇本的意思。
在計算機領域,意思是:腳本
『陸』 script是什麼意思
script 釋義:
n. 劇本;腳本;手稿;手跡;字體;考卷
讀音:英 [skrɪpt] 美 [skrɪpt]
單詞變形:
1、過去式: scripted
2、過去分詞: scripted
3、現在分詞: scripting
4、第三人稱單數: scripts
雙語例句:
The script won't play well.
那個劇本不適於在舞台上演出。
(6)腳本分詞擴展閱讀:
近義詞
1、screenplay
讀音:英 ['skriːnpleɪ] 美 ['skriːnpleɪ]
n. 電影劇本;劇本
His interpretation of the screenplay is unique.
他對劇本的解釋很獨特。
2、scenario
讀音:英 [sə'nɑːriəʊ] 美 [sə'nærioʊ]
n. 劇本;情節梗概
A detailed script or scenario consulted to avoid discrepancies from shot to shot in a film.
一個好的電影劇本是製作一部好影片的重要因素。
『柒』 如何使用saesegment中文分詞服務
開啟SAE 分詞服務
首先你需要在sae的管理面板開始分詞服務後才能使用sae的服務。具體的開啟操作:
成功的開啟之後可以寫一段腳本試試看看分詞的效果如何,代碼如下:
filename:test_segment.php
<?php
header("Content-Type:text/html;charset=utf-8");
$str = '分詞服務';
$seg = new SaeSegment();
$ret = $seg->segment($str, 1);
var_mp($ret);
?>
『捌』 你好,我看到你發的問題「python將怎麼將jieba分詞結果寫入文本,各種編碼問題啊」
你要先了解下 python 的編碼 python默認編碼是 unicode 。編碼問題導致輸出結果是 亂碼 。結巴分詞 分出來的 是 utf-8的編碼 ,寫入txt的時候 是顯示亂碼的 可以將其 改為gbk的編碼就可以了。
fp.read().decode('utf-8').encode('gbk')
可以利用decode 和encode2個函數 。
decode函數的功能是 吧指定的 編碼改成unicode 而encode的功能是 把unicode改成指點的 編碼
『玖』 學習python編寫智能回復腳本之如何思考
importjieba
#導入jieba分詞庫
#創建函數來處理所得到的中文句子
defget_words(string):
words=jieba.cut(string)
returnwords
#直接通過jieba庫的精準分詞獲得所有的分詞
然後通過words中的各個關鍵字就可以從經過學習的模型中獲取到回復就可以進行返回了