最新av偷拍av偷窥av网站,在教室伦流澡到高潮h麻豆,一个人在线高清免费观看,中文字幕av无码一二三区电影,中国丰满熟妇xxxx性

您當(dāng)前的位置:JZ5U綠色下載站文章中心設(shè)計(jì)學(xué)院Photoshop → 文章內(nèi)容
  • 打造Word高級(jí)字?jǐn)?shù)統(tǒng)計(jì)功能

  Word本身提供了強(qiáng)大的字?jǐn)?shù)統(tǒng)計(jì)功能。以Word XP為例,選擇菜單“工具”→“字?jǐn)?shù)統(tǒng)計(jì)”,Word會(huì)顯示出頁(yè)數(shù)、字?jǐn)?shù)、段落數(shù)、行數(shù)等信息,足以滿足大多數(shù)用戶的需要。盡管如此,有時(shí)候還是不免出現(xiàn)鞭長(zhǎng)莫及的情形。

一、單個(gè)詞語(yǔ)的出現(xiàn)次數(shù)

  有一次一位朋友問(wèn)我:Word能不能統(tǒng)計(jì)出特定關(guān)鍵詞(例如某個(gè)人的姓名)的出現(xiàn)次數(shù)?我只能告訴他Word本身不直接支持這方面的文檔分析功能。但是,我們可以另辟蹊徑,用“查找/替換”功能得到某個(gè)詞語(yǔ)的出現(xiàn)次數(shù)。步驟如下:

⑴ 按Ctrl+H顯示出“查找和替換”對(duì)話框的“替換”頁(yè)。

⑵ 在“查找內(nèi)容”欄,輸入要統(tǒng)計(jì)其出現(xiàn)次數(shù)的詞語(yǔ)。

⑶ 在“替換為”欄,輸入“^&”,表示要替換的內(nèi)容就是查找的內(nèi)容。這樣,執(zhí)行替換操作后文檔的內(nèi)容實(shí)際上不會(huì)改變。

⑷ 點(diǎn)擊“全部替換”按鈕。

⑸ Word執(zhí)行替換,然后顯示出有多少個(gè)詞語(yǔ)被替換,如圖一。這個(gè)數(shù)字就是該詞語(yǔ)在文檔中出現(xiàn)的次數(shù)。



圖一


  如果只是偶爾要了解一二個(gè)詞語(yǔ)的出現(xiàn)次數(shù),上面的辦法足以應(yīng)付。但是,如果經(jīng)常要進(jìn)行這類統(tǒng)計(jì),最好用一個(gè)Word宏簡(jiǎn)化操作。下面的Word宏FindWords()首先提示用戶要統(tǒng)計(jì)的單詞,然后顯示出該單詞在文檔中出現(xiàn)的次數(shù);只要用戶不點(diǎn)擊“取消”按鈕(或在不輸入單詞的情況下點(diǎn)擊“確定”按鈕),它將一直重復(fù)這個(gè)過(guò)程。
Sub FindWords()

Dim sResponse As String '要統(tǒng)計(jì)的單詞

Dim iCount As Integer '出現(xiàn)次數(shù)


'反復(fù)詢問(wèn)要統(tǒng)計(jì)的單詞,直至用戶點(diǎn)擊“取消”按鈕

Do

' 獲得想要統(tǒng)計(jì)其出現(xiàn)次數(shù)的單詞

sResponse = InputBox(Prompt:="你想要統(tǒng)計(jì)什么單詞?", _

Title:="統(tǒng)計(jì)單詞出現(xiàn)次數(shù)", Default:="")

If sResponse > "" Then

' 每次統(tǒng)計(jì)之前,先將計(jì)數(shù)器清零

iCount = 0

Application.ScreenUpdating = False

With Selection

.HomeKey Unit:=wdStory

With .Find

.ClearFormatting

.Text = sResponse

' 掃描整個(gè)文檔,統(tǒng)計(jì)指定單詞的出現(xiàn)次數(shù)

Do While .Execute

iCount = iCount + 1

Selection.MoveRight

Loop

End With

' 顯示出統(tǒng)計(jì)結(jié)果

MsgBox "單詞“" & sResponse & "”" & " 共出現(xiàn) " & iCount & " 次"

End With

Application.ScreenUpdating = True

End If

Loop While sResponse <> ""

End Sub

  創(chuàng)建該Word宏的步驟是:

◆ 選擇菜單“工具”→“宏”→“宏”,在“宏名”欄輸入FindWords,點(diǎn)擊“創(chuàng)建”按鈕,Word打開(kāi)Visual Basic宏編輯器。

◆ 在宏編輯器中輸入FindWords宏的代碼,如圖二(圖中只顯示出一部分代碼)。



圖二


◆ 點(diǎn)擊宏編輯器工具欄上的“保存”按鈕,再選擇菜單“文件”→“關(guān)閉并返回到Microsoft Word”,返回Word。

  以后,只要運(yùn)行FindWords宏,F(xiàn)indWords宏就會(huì)提示要統(tǒng)計(jì)的單詞(圖三),然后報(bào)告該單詞的出現(xiàn)次數(shù)(圖四)。為方便計(jì),你可以為這個(gè)宏定義快捷鍵和工具欄圖標(biāo),操作步驟如下:



圖三



圖四


◆ 選擇Word菜單“工具”→“自定義”。

◆ 在對(duì)話框中選擇“命令”選項(xiàng)卡。

◆ 在“類別”列表中選擇“宏”,在“命令”列表中選擇FindWords宏,如圖五所示。



圖五


◆ 按住鼠標(biāo)左鍵,將FindWords拖到工具欄的適當(dāng)位置,放開(kāi)鼠標(biāo)鍵。

◆ 工具欄上出現(xiàn)了代表FindWords的按鈕。右擊這個(gè)按鈕,為它指定適當(dāng)?shù)拿Q和圖標(biāo),如圖六。



圖六


◆ 關(guān)閉“自定義”對(duì)話框。

  如果要為FindWords宏定義快捷鍵,只需在圖五的“自定義”對(duì)話框中點(diǎn)擊“鍵盤”,然后根據(jù)提示操作即可。

二、分析用詞習(xí)慣

  不同的人有不同的寫作習(xí)慣,我曾經(jīng)看到一則新聞,具體情節(jié)已經(jīng)忘記,大致如此:有一本小說(shuō)S,因年代久遠(yuǎn),人們無(wú)法判斷它到底是作家A寫的還是B寫的。于是科學(xué)家想了一個(gè)辦法:首先分析A和B各自的寫作習(xí)慣,然后將它與S的寫作風(fēng)格對(duì)比,以此判斷S的真正作者。所謂分析A和B的寫作習(xí)慣,就是針對(duì)肯定是A或B寫的小說(shuō),分析其各個(gè)單詞的出現(xiàn)頻度,只要統(tǒng)計(jì)資料足夠多,每個(gè)人的作品會(huì)呈現(xiàn)出各自鮮明的特征。

  其實(shí)在Word中,我們也可以方便地實(shí)現(xiàn)統(tǒng)計(jì)各個(gè)單詞出現(xiàn)頻度的功能,如WordFrequency宏所示。

Sub WordFrequency()

Dim SingleWord As String '從當(dāng)前文檔提取的一個(gè)單詞

Const maxWords = 15000 '允許出現(xiàn)的不同單詞的最大數(shù)量,如不夠,可適當(dāng)加大

Dim Words(maxWords) As String '用來(lái)保存各個(gè)不同的單詞

Dim Freq(maxWords) As Integer '出現(xiàn)頻度計(jì)數(shù)器

Dim WordNum As Integer '不同單詞的數(shù)量

Dim ByFreq As Boolean '輸出結(jié)果的排序標(biāo)準(zhǔn)

Dim ttlwds As Long '文檔中的單詞總數(shù)

Dim Excludes As String '不在統(tǒng)計(jì)范圍內(nèi)的單詞

Dim Found As Boolean '臨時(shí)標(biāo)記

Dim j, k, l, Temp As Integer '臨時(shí)變量

Dim tWord As String '

' 設(shè)置要排除的單詞。

' 英文排除詞:[the][a][of][is][to][for][this][that][by][be][and][are]

' 排除詞可以從各大搜索引擎的說(shuō)明獲得,可根據(jù)實(shí)際情況修改

Excludes = "[ ][的][是]"

' 向用戶詢問(wèn)排序標(biāo)準(zhǔn)

ByFreq = True

ans = InputBox$("根據(jù)單詞(1)還是頻度(2)排序?", "排序標(biāo)準(zhǔn)", "1")

If ans = "" Then End

If Trim(ans) = "1" Then

ByFreq = False

End If

'開(kāi)始分析文檔

Selection.HomeKey Unit:=wdStory

System.Cursor = wdCursorWait

WordNum = 0

ttlwds = ActiveDocument.Words.Count


' 處理文檔中的每個(gè)單詞

For Each aWord In ActiveDocument.Words

'英文單詞不區(qū)分大小寫

SingleWord = Trim(LCase(aWord))

'該單詞是否在排除列表中?

If InStr(Excludes, "[" & SingleWord & "]") Then SingleWord = ""

If Len(SingleWord) > 0 Then

'找到一個(gè)需要處理的單詞

Found = False

For j = 1 To WordNum

If Words(j) = SingleWord Then

' 這個(gè)單詞已經(jīng)出現(xiàn)過(guò)了

' 把它的出現(xiàn)頻度加1

Freq(j) = Freq(j) + 1

Found = True

Exit For

End If

Next j

If Not Found Then

' 這個(gè)單詞還沒(méi)有出現(xiàn)過(guò)

' 將它登記為一個(gè)新的單詞

' 出現(xiàn)頻度設(shè)置為1

WordNum = WordNum + 1

Words(WordNum) = SingleWord

Freq(WordNum) = 1

End If

If WordNum > maxWords - 1 Then

j = MsgBox("已達(dá)到單詞數(shù)量的最大限制值。請(qǐng)?jiān)黾觤axWords的值.", vbOKOnly)

Exit For

End If

End If

ttlwds = ttlwds - 1

'在狀態(tài)欄上顯示處理進(jìn)度

StatusBar = "剩余:" & ttlwds & " 不同單詞數(shù)量: " & WordNum

Next aWord

' 對(duì)處理結(jié)果進(jìn)行排序

For j = 1 To WordNum - 1

k = j

For l = j + 1 To WordNum

If (Not ByFreq And Words(l) < Words(k)) Or (ByFreq And Freq(l) > Freq(k)) Then k = l

Next l

If k <> j Then

tWord = Words(j)

Words(j) = Words(k)

Words(k) = tWord

Temp = Freq(j)

Freq(j) = Freq(k)

Freq(k) = Temp

End If

'排序進(jìn)度

StatusBar = "正在排序:" & WordNum - j

Next j

' 將統(tǒng)計(jì)結(jié)果顯示到一個(gè)新的Word文檔

tmpName = ActiveDocument.AttachedTemplate.FullName

' 創(chuàng)建一個(gè)新文檔

Documents.Add Template:=tmpName, NewTemplate:=False

'清除...

Selection.ParagraphFormat.TabStops.ClearAll

' 將處理結(jié)果寫入新文檔,每個(gè)單詞一行

With Selection

For j = 1 To WordNum

.TypeText Text:=Trim(Str(Freq(j))) & vbTab & Words(j) & vbCrLf

Next j

End With

System.Cursor = wdCursorNormal

j = MsgBox("該文檔總共有" & Trim(Str(WordNum)) & "個(gè)不同的單詞。", vbOKOnly, "分析完畢!")

End Sub

  WordFrequency宏專門設(shè)置了一個(gè)Excludes字符串來(lái)放置不參與統(tǒng)計(jì)的排除單詞,例如全角的空格等,因?yàn)檫@些單詞出現(xiàn)頻度高,但通常來(lái)說(shuō)含義不夠豐富。如果你經(jīng)常使用Internet搜索引擎,一定也知道各大搜索引擎都有類似排除詞的機(jī)制。另外,根據(jù)統(tǒng)計(jì)要求的不同,不同的時(shí)候可能需要設(shè)置不同的排除詞,例如不統(tǒng)計(jì)標(biāo)點(diǎn)符號(hào)出現(xiàn)的頻度。你可以隨時(shí)修改Excludes加入或減少排除詞,注意每個(gè)排除詞要用“[]”包圍。

  英文的單詞之間有明確的分隔符(如空格),但中文的情況要復(fù)雜得多,因?yàn)橹形牡膯卧~之間沒(méi)有分隔符。由于中文分詞復(fù)雜性引起歧義甚至鬧出笑話的情況不勝枚舉,例如“一個(gè)半勞動(dòng)力”這樣一個(gè)簡(jiǎn)單的詞組,你既可以理解為“一個(gè)-半勞動(dòng)力”,也可以理解為“一個(gè)半-勞動(dòng)力”。分詞技術(shù)是中文信息處理自動(dòng)化科學(xué)中一個(gè)復(fù)雜的主題,不過(guò)這里我們就不為它傷腦筋,讓W(xué)ord自動(dòng)分詞,即直接通過(guò)ActiveDocument.Words屬性獲得各個(gè)單詞。

  按照前面介紹的步驟創(chuàng)建WordFrequency宏,然后打開(kāi)一個(gè)要統(tǒng)計(jì)單詞出現(xiàn)頻度的文檔,執(zhí)行WordFrequency宏。WordFrequency宏首先詢問(wèn)統(tǒng)計(jì)結(jié)果的排序標(biāo)準(zhǔn)(圖七),你可以選擇按單詞(1)或出現(xiàn)頻度(2)排序。



圖七


  統(tǒng)計(jì)所需時(shí)間決定于文檔的大小和機(jī)器的配置。在統(tǒng)計(jì)過(guò)程中,WordFrequency宏把當(dāng)前的執(zhí)行進(jìn)度顯示在Word的狀態(tài)欄上(圖八)。執(zhí)行結(jié)束后,統(tǒng)計(jì)結(jié)果顯示在一個(gè)新的Word文檔中,每個(gè)單詞(包括其統(tǒng)計(jì)信息)單獨(dú)一行。



圖八



  例如,對(duì)《射雕英雄傳》的前三章進(jìn)行粗略分析表明,除標(biāo)點(diǎn)符號(hào)之外,這部分小說(shuō)出現(xiàn)最多的一個(gè)字是“了”(994次,也許應(yīng)該把這個(gè)字加入排除詞),其次是“道”(624次),出現(xiàn)最多的詞組是“鐵心”(138次),其次是“鐵木真”(123次);除人名之外,出現(xiàn)最多的詞組是“一個(gè)”(105次),其次是“一聲”(86次)、“自己”(76次)。主人翁“郭靖”在這部分小說(shuō)中只出現(xiàn)68次。Word也出現(xiàn)了許多分詞錯(cuò)誤的情況,例如它認(rèn)為“郭楊二”是一個(gè)單詞(35次),似乎應(yīng)該是“郭楊二人”。


  • 作者:互聯(lián)網(wǎng)  來(lái)源:本站整理  發(fā)布時(shí)間:2005-08-21 00:46:59


------------------------------- · 相關(guān)文檔瀏覽 · --------------------------------------------------------------------- · 熱門文檔瀏覽 · -------------------------------------