語料中篩選出英文單詞並統計詞頻,正則切割匹配
1.正則的使用匹配
2.dic.setdefault()的使用
3、內建函式enumerate(sequence,start=0)的使用
4、內建函式sorted(),key,reversed引數設定
5、str.lower()string大小寫轉換
#coding:utf-8 import re import os import time import codecs PATH = os.path.dirname(__file__) s = u'what a Beautiful woRld'.lower() pattern = re.compile(u'[^a-z]+', re.U)#在非英文出進行切割 for con in pattern.split(s.lower()):#將所有英文轉化為小寫 if len(con) <= 1: continue else: print con def get_english_words(): '''過濾出語料中夾雜在漢語中的英文單詞,並統計出現的詞頻''' eng_freq_dic = {} pattern = re.compile(u'[^a-z]+', re.U) cut_filename = r'E:\SVN\linguistic_model\data\combine_msg_comment.txt' with codecs.open(cut_filename, encoding='utf-8') as f: for line in f.readlines(): for con in pattern.split(line.lower()): if len(con) <= 1:#過濾掉單字母 continue else: count = eng_freq_dic.setdefault(con, 0) + 1 #若沒有該key,則儲存該key且設value其為0。若有則value加1 eng_freq_dic[con] = count#整個英文單詞及其出現的頻度 eng_filename = os.path.join(PATH, 'english_words_original.txt') eng_to_write_list = sorted([(k,v) for (k, v) in eng_freq_dic.items()], key=lambda x:x[1], reverse=True)#按照詞頻的高低進行倒序排列 codecs.open(eng_filename, mode='wb', encoding='utf-8').writelines([item[0]+'\t'+str(item[1])+'\n' for item in eng_to_write_list])#詞頻為int型別,轉化為str型別以後寫入到本地檔案中 def chose_top_n(): '''篩選出top2000,並寫入到檔案''' line_list = [] filename = os.path.join(PATH, 'english_words_original.txt') with codecs.open(filename, encoding='utf-8') as f: for index,line in enumerate(f.readlines(), start=1):#enumerate(sequence, start=0)用法,顯示可迭代序列中元素及其位置,start引數可以確定起始下標,預設情況下為0 print index, line.strip() time.sleep(1) line_list.append(line) if index == 2000: top_filename = os.path.join(PATH, 'top_2000_english_words.txt') codecs.open(top_filename, mode='wb', encoding='utf-8').writelines(line_list) break
相關推薦
語料中篩選出英文單詞並統計詞頻,正則切割匹配
1.正則的使用匹配2.dic.setdefault()的使用3、內建函式enumerate(sequence,start=0)的使用4、內建函式sorted(),key,reversed引數設定5、str.lower()string大小寫轉換#coding:utf-8 im
Java正則表示式過濾、替換,將一段文字中的英語單詞分別提取出,並統計詞頻,按詞頻排序。
最近在學習自然語言處理,在建立基礎標籤庫時,遇到一個需要提取語料中的英文單詞的工作,做好了現在來和大家分享下。 實現效果:讀取檔案內容,把其中的英文單詞提取出,並統計詞頻。提取時,原本不是連在一起的單詞可以分開獨立提取,例如:我的PPT和WORD,可以提取出PPT,WORD兩個單詞。 基本思
劍指offer系列——陣列中重複的數字,構建乘積陣列,正則表示式匹配
陣列中重複的數字 題目描述 在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。 例如,如果輸入長度為7的陣列{2,3,1,0,2,5,3},那麼對應的輸出是第一個重複的數字2
NSAttributedString,並富文字,正則表示式,超連結,水印
碼: #import "ViewController.h" #import "CustomTextAttachment.h" //NSAttributedString.h 中文字屬性key的說明 /* NSFontAttributeName
=讀取日誌檔案,正則表示式匹配出有用資訊,並且儲存到csv檔案。
//版本1 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.
編寫一個模組,含char_freq_table()函式。傳入檔名,統計檔案中的所有英文字元的出現次數,忽略大小寫的區別,並根據次數的高低列印字元以及頻率到螢幕
編寫一個模組,包含char_freq_table()函式。傳入一個檔名,統計檔案中的所有 英文字元的出現次數,忽略大小寫的區別,並根據次數的高低列印字元以及頻率到 螢幕 如果有更好的思路,歡迎交流 因為時間問題就直接寫在一個檔案裡了,主要實現了統計檔案中的所出現的各個字元以及他的次數
python實現從大圖中篩選出小的子圖並導成json檔案
簡述: 在做資料視覺化時會遇到這樣一個問題:比如說在瀏覽器渲染出一個力學關係圖,如果結點太多的話就密密麻麻,層層疊疊難以觀察,所以往往只需要渲染出關鍵的結點子圖即可,那麼有一個解決思路就是用python做資料處理篩選出子圖並導成前端需要的格式檔案,我寫的這個python檔案
從一個英文字串中找出每個單詞出現的頻率
import java.util.*; public class Lookup{ public static void main(String[] args){ String s = "the instruction set of the Java virtual machine
C 兩個連結串列中資料節點的資料域為一個字母 ,其中L1包含L2,在L1中找出與L2相等的字串,並將其逆置
前面相關操作在這呢,這個函式依託於此 //結構體 typedef struct Node { ElementType data; struct Node * next; } LNode, * LinkNode; //兩個連結串列中資料節點的資料域為一個字母 http
QT 用正則表示式從tableView中篩選出某一日期範圍內的資料
QDate date1,date2; date1=ui->dateEdit_2->date();//提取開始時間 date2=ui->dateEdit_3->date();//提取結束時間 data_filter->
python1.返回一個字串中出現次數第二多的單詞 2.字串中可能有英文單詞、標點、空格 3.字串中的英文字元全部是小寫
import re from collections import Counter def second_count_word(s): # # 利用正則按標點和空格切割,有其他標點可以新增到[]內 # lt = re.split('[ ,.:]',s) # # 利用Counter
Python資料字典處理Excel,並統計總數,畫出餅圖
之前給大家分享了使用pyechats庫畫折線圖和柱狀圖,也是讀取Excel表格中資料來畫圖的,這裡我使用的是Python3;現在給大家分享使用matplotlib畫圖,也是讀取本地Excel表格中的資料來畫圖,但是這個我們採用資料字典,可以統計Excel中的資料。而
程式設計中常用的英文單詞
1. category [ˈkætəgəri] n.型別,部門,種類,類別,類目;[邏,哲]範疇;體重等級 2. Expert abbr.Expanded Pert (program evaluation and reviewtechnique) 效能評價審查技術 3. v
java-打印101-200之間的素數(PrimeNumber),並統計個數,並每5行輸出
ole enum math com math.sqrt day 輸出 package out package com.day3.one; public class PrimeNumber1 { /** * @param args * 打印101-200之間
eclipse中的出現在打包一次後,後面新建的項目都出錯了,出現support_v7下面出現紅線及解決方法及為什麽eclipse中項目繼承ActionBarActivity解決方法一樣
style 寫博客 引用 image back 你在 發現 想法 cti 第一次寫博客,有什麽問題或者想法的希望各位可以進行評論交流,望大家多多包涵! 遇到的問題是在新建的項目都出錯了,出現support_v7下面出現紅線及解決方法及為什麽eclipse中項目繼承Acti
jqgrid 表格中篩選條件的多選下拉,樹形下拉 ;文本框清除插件;高級查詢多條件動態篩選插件
this break eset real 分割線 EDA color ctx 篩選條件 /** * @@desc 文本框清除按鈕,如果isAutoWrap為false當前文本框父級必須是relative定位,boostrap參考input-group
Recyclerview中有多條Editext,並有新增,刪除item
先說一下需求:需要新增多輛車的資訊,車輛數無上限,預設顯示一個空的車輛資訊,可進行增,刪操作,刪除時又可全部刪除!先上效果圖 CompileCarActivity.class 的xml佈局 <RelativeLayout android:layout_width=
java-讀取txt檔案中的第一行URL並進行請求,得出響應
背景:其實我是拿來練手的。想寫程式碼而已,並沒有啥特殊的目地 我的需求: 有一個url.txt檔案,裡面裝的一行一行的URL 我要請求每一行URL,然後去請求,拿到第一個請求的響應結果,程式碼很簡單,網上一搜遍地都是,我加工了一下。 整合了 直接上碼吧! p
【自然語言處理入門】01:利用jieba對資料集進行分詞,並統計詞頻
一、基本要求 使用jieba對垃圾簡訊資料集進行分詞,然後統計其中的單詞出現的個數,找到出現頻次最高的top100個詞。 二、完整程式碼 # -*- coding: UTF-8 -*- fr
將一個句子裡的英文單詞倒敘輸出,但不改變單詞裡的字母順序
#include <stdio.h> #include <string.h> #define MAX 1024 int change(char *str,int len) { int i = 0;