• 検索結果がありません。

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

クリップボードを介してエクセルシートに出力します。

関連したドキュメント