1.6. 分析
1.6.3. 鍵語外置
検索式に一致したデータをその位置とともに抽出します。一致したデータは文脈の外 の定位置に置きます(KWOC: Key Word out of Context)。
89
¥c{3}
(%r)(¥L)=><_$1_>$2
段落
番号 段落
ntr 3
Rumi: Buenos días. Nos enco{*ntr*}amos ahora en la Universidad Complutense de Madrid. ¿Dónde nos vamos ahora?
mpl 3 Rumi: Buenos días. Nos encontramos ahora en la Universidad Co{*mpl*}utense de Madrid. ¿Dónde nos vamos ahora?
profesor 8 Rumi: Hola, {*profesor*}.
iniciar 11 Prof.: Bueno, vamos a {*iniciar*} hoy el Camino del Cid, la primera parte.
ser 12
Va a {*ser*} un viaje de diez días, durante el cual, no solamente vamos a recorrer los lugares que aparecen
mencionados en esta famosa obra de la literatura española, sino que además, vamos a estar en contacto con personas, con documentos vivos que nos cuenten cómo es la vida, a qué se dedican, qué inquietudes tienen las personas de los pueblos que vamos a recorrer.
recorrer 12
Va a ser un viaje de diez días, durante el cual, no solamente vamos a {*recorrer*} los lugares que aparecen mencionados en esta famosa obra de la literatura española, sino que además, vamos a estar en contacto con personas, con documentos vivos que nos cuenten cómo es la vida, a qué se dedican, qué
inquietudes tienen las personas de los pueblos que vamos a recorrer.
estar 12
Va a ser un viaje de diez días, durante el cual, no solamente vamos a recorrer los lugares que aparecen mencionados en esta famosa obra de la literatura española, sino que además, vamos a {*estar*} en contacto con personas, con documentos vivos que nos cuenten cómo es la vida, a qué se dedican, qué inquietudes tienen las personas de los pueblos que vamos a recorrer.
recorrer 12
Va a ser un viaje de diez días, durante el cual, no solamente vamos a recorrer los lugares que aparecen mencionados en esta famosa obra de la literatura española, sino que además, vamos a estar en contacto con personas, con documentos vivos que nos cuenten cómo es la vida, a qué se dedican, qué inquietudes tienen las personas de los pueblos que vamos a {*recorrer*}.
90 鍵語の環境条件
言語データ分析では検索対象(鍵語)だけでなく、その前後の環境を考慮するするこ とがあります。たとえば次はスペイン語の前置詞enがどのような文要素の後にあるか を見るための検索式とその検索結果です。
(&) (en)(¥L)=><_$1_> $2$3 段落番号 段落
ahora 3
Rumi: Buenos días. Nos encontramos {*ahora*} en la Universidad Complutense de Madrid. ¿Dónde nos vamos ahora?
mencionados 5
Va a ser un viaje de diez días, durante el cual, no solamente vamos a recorrer los lugares que aparecen {*mencionados*} en esta famosa obra de la literatura española, sino que además, vamos a estar en contacto con personas, con documentos vivos que nos cuenten cómo es la vida, a qué se dedican, qué inquietudes tienen las personas de los pueblos que vamos a recorrer.
estar 5
Va a ser un viaje de diez días, durante el cual, no solamente vamos a recorrer los lugares que aparecen mencionados en esta famosa obra de la literatura española, sino que además, vamos a {*estar*} en contacto con personas, con documentos vivos que nos cuenten cómo es la vida, a qué se dedican, qué inquietudes tienen las personas de los pueblos que vamos a recorrer.
置換文字の<_..._>で囲まれた部分が検索文字列になりますが、検索の処理においては、
後続するenが環境条件となります。
Sub 鍵語外置()
追加文字列$ = vbTab & "段落番号" & vbTab & "段落" & vbCr 'タイトル
Call 高速文字列作成
For Each 検索式 v In 検索式配列$
If 検索式v = "" Then Exit For
91 Call 検索式準備
For Each 段落v In 段落配列$
段落$ = 正規表現置換$(段落v, 検索$, 置換$, False) obj正規表現.Pattern = "<_.+?_>"
Set Matches = obj正規表現.Execute(段落$) 'Matchesコレクション 段落番号& = 段落番号& + 1
For Each Match In Matches
追加文字列$ = 正規表現置換$(Match, "(<_|_>)", "", False) & vbTab _ & 段落番号& & vbTab _
& 正規表現置換$(Left$(段落$, Match.FirstIndex), "(<_|_>)", "", False) _ & 正規表現置換$("{*" & Match & "*}", "(<_|_>)", "", False) _
& 正 規 表 現 置 換$(Mid$(段 落$, Match.FirstIndex + Len(Match) + 1),
"(<_|_>)", "", False) & vbCr
Call 高速文字列作成 Next
Next Next
Call 鍵語外置出力 End Sub
個々の段落ごとにマッチした鍵語、段落番号、段落を出力します。段落は前文脈、鍵 語、後文脈にそれぞれ必要な処理をしてから連続させます。
Sub 鍵語外置出力()
If Mid$(出力文字列$, 出力文字数& - 2, 2) = "段落" _ Then MsgBox "出力がありません。": Exit Sub
objクリップボード.SetText Left$(出力文字列$, 出力文字数&) objクリップボード.PutInClipboard
With objエクセル
.WorkBooks.Add 'ワークブックを追加 .Columns(3).ColumnWidth = 80
92 .ActiveSheet.Paste 'データペースト .Columns(1).ColumnWidth = 30 '鍵語の幅 .Cells(1, 1) = txt分析
.Columns(3).WrapText = True '折り返し .Columns(1).AutoFit '列幅を自動調整 .Columns(2).AutoFit '列幅を自動調整
.Range("A2").Select: .ActiveWindow.FreezePanes = True 'ウィンドー枠固定
If chkソート Then .ActiveSheet.UsedRange.Sort Header:=True, Key1:=.Cells(2, 1)
.Visible = True 'エクセルを表示 End With
End Sub
クリップボードを介してエクセルシートに出力します。