Pergunta : Excel - encontrar as palavras as mais próximas para a parte superior classificada (a mineração do texto)

Isto pôde exigir uma solução que fosse “boa bastante” ou algumas etapas no sentido correto, um pouco do que uma bala de prata que resolvesse tudo.  

I am que procura uma maneira simplista de fazer alguma análise do texto em Excel (ou nela poderia estar em MS Word - ou uma outra aplicação se aquela trabalharia igualmente). a tarefa do
The é como esta -- em um original com
1. das respostas do exame do abrir-texto (cordas do texto para cada fileira).  Após ter contado todo o words
2. que omite as palavras triviais (, a, e, ele), classificar o results
3. tomam os resultados superiores (por exemplo parte superior 20) e determinam que palavras non-trivial aparecem na corda com ela.  Por exemplo:  A palavra “serviço” é #5 classificado em palavra-conta.  Quando o serviço é mencionado, as palavras superiores mencionadas com ele são:  “grande”, “eficiente”, o

Here é uma aproximação que eu tenho os dados do converso de used.

1. para escolhir o
2. da coluna (uma palavra por a pilha).  A tabela do pivô do uso para contar palavras e descending
3. da sorte usa fórmulas para criar frases das dois-palavras e das três-palavras (concatenar palavras para trás junto da coluna original de únicas palavras).
4.  Então, as palavras superiores do achado e consideram que frases que aparecem in.
5. então escolher manualmente com elas e contam-nas que outras palavras olham como são comuns dentro de 3 ou 4 palavras do alvo (?????)o

That é um solution.

To sumaria -- o que eu estou procurando é uma maneira (talvez) para etiquetar as palavras do alvo (parte superior 20 a mais usada, por exemplo).    Encontrar então uma maneira de medir a distância entre aquelas palavras do alvo e outras palavras nas mesmas cordas (em um parágrafo).  Thoujght I sobre a conversão das palavras às variáveis e então fazer alguma matemática para encontrar que as variáveis são as mais próximas????  o

There é o software comercial que faz este, mas eu estou procurando uma solução simplista em Excel -- e uma possibilidade tentar um pouco mais de manipulação de corda inovativa, possibly.
Thanks para dar a isto um try.
class= > " desobstruído " do
soluções >Related class= href= " /Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_26227197.html " title= " TextMiner do TextMiner " do class= ao " do fósforo - palavras do alvo a match

Resposta : Excel - encontrar as palavras as mais próximas para a parte superior classificada (a mineração do texto)

Tentar unida e ver se ajuda.

O manual de instruções tem três folhas: “cru” “resulta” e “ignorar”
Colar suas sentenças da fonte como indicado na folha “crua”. Bater então da “a tecla do texto mina”.

O código no manual de instruções analisa gramaticalmente todo o texto na folha crua; zaps todas as palavras alistadas no “ignoram” a folha; as separações o que é deixada em uma disposição e então cospe-o para fora no “resultam” folha como segue:

1. Conta ocorrências das palavras na coluna A
2. Nas colunas à direita da lista que de palavra principal dá todas as palavras que ocorrem dentro das palavras de X saiu e endireitam da palavra principal

O valor de X é ajustado igualmente no “ignora” a folha.

O código classifica então os resultados.

Há três sub-rotinas -- o mineiro principal, uma rotina para adicionar as palavras próximas, e uma rotina feita sob encomenda da sorte para tratar “as colunas dobro” envolvidas em palavras da lista e em sua freqüência.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
Opção explícita
'escrito por Neil Fleming

MineText secundário ()

WB não ofuscante como o manual de instruções, wsRaw como a folha, wsResults como a folha, wsIgnore como a folha

rSource não ofuscante como a escala, rRow como a escala, rResults como a escala, rMatch como a escala
allText não ofuscante como a corda
Não desejado não ofuscante como a corda
Palavras não ofuscantes () como a corda

aWord não ofuscante como o inteiro, aRow como o inteiro, próximo como o inteiro, maxCol como o inteiro

No errortrap empreendedores do erro

'folhas da instalação
Ajustar WB = ActiveWorkbook
Ajustar o wsRaw = a WB. Folhas (“cru”)
Ajustar wsResults = WB. Folhas (“resultados”)
Ajustar o wsIgnore = a WB. Folhas (“ignorar”)
'ajustar o rSource  às fileiras não-em branco
Ajustar o rSource = a escala (wsRaw.Range (“A5”), wsRaw.Range (“a5”). Extremidade (xlDown))
allText = ""
Para cada rRow em rSource.Rows
allText = allText & ““& rRow.Cells (1, 1). Valor
Em seguida
'adicionar o espaço de arrasto:
allText = allText & ““

'uppercase:
allText = UCase (allText)
'remover a pontuação:
o allText = substitui (allText, “,”, “")
o allText = substitui (allText, “; ”, “")
o allText = substitui (allText, “. ”, “")
o allText = substitui (allText, “-”, “")

'remover as palavras ignoradas, using a lista de “ignoram” a folha
Para o aWord = 2 a wsIgnore.Cells (2, 1). Extremidade (xlDown). Fileira
não desejado = wsIgnore.Cells (aWord, 1). Valor
Quando InStr (allText, ““& não desejado &” ") > 0
o allText = substitui (allText, ““& não desejado &” “,” ")
Wend
Em seguida

'remover espaços dobro:
Quando InStr (allText, “  ") > 0
o allText = substitui (allText, “  “,” ")
Wend

'remover os espaços da condução e de arrasto:
allText = guarnição (allText)

'converso AllText à disposição de palavras:
Palavras = separação (allText, “")

'APRESENTAR RESULTADOS:
'anular resultados:

Com wsResults
Application.ScreenUpdating = falso


. Cells.ClearContents
. Cells.ClearFormats
. Escala (“a1”, “dd1000”). Interior.Color = RGB (255, 255, 255)
. Ativar
. Pilhas (1, 1) = “contagem”
. Pilhas (1, 2) = “palavra”

'introduzir resultados originais da palavra na folha dos resultados:
= 2 aRow
maxCol = 1
Para o aWord = 0 a UBound (palavras)
'redefinir a escala dos resultados:
Ajustar rResults =. Escala (wsResults.Range (“b2”). Escala (“b2”). Extremidade (xlDown))
Ajustar o rMatch = o rResults.Find (palavras (o aWord))

'se palavra na lista, contagem do incremento:
    Se não o rMatch não é nada então
    rMatch.Offset (0, -1) = rMatch.Offset (0, -1) + 1
    'adicionar de outra maneira à lista:
    Mais
    Ajustar o rMatch = o wsResults.Cells (aRow, 2)
    rMatch.Value = palavras (aWord)
    rMatch.Offset (0, -1). Valor = 1
    + 1 aRow = aRow
    Terminar se
    
   
    'examinar palavras próximas, ocorrências da contagem e adicioná-las à direita da palavra principal:
    'o número de palavras examinadas é ajustado em “ignora” a folha em “ptrMaxWords nomeados pilha”:
    Para próximo = 1 à escala (“ptrMaxWords”). Valor
    'ir para trás:
     Se aWord - palavras próximas de AddNearby do >= 0 então (aWord - próximo). Pilhas (rMatch.Row, 1), maxCol
         
    'ir envia:
    Se aWord + próximo <> maxCol = rcol do maxCol então. Coluna + 1 maxCol outro = maxCol
     

Submarino da extremidade

CustomSort secundário (aRange como a escala)
'pares das sortes de pilhas ao longo da fileira baseada no valor da primeira pilha nos pares:
StartCol não ofuscante como o inteiro, swapCol como o inteiro, swapValue como o inteiro
swapText não ofuscante como a corda

StartCol = 2
Fazer
    swapCol = StartCol + 2
    Fazer
        Se aRange.Cells (1, swapCol) > aRange.Cells (1, StartCol) então
        'trocar pilhas e a pilha seguinte longitudinalmente (contendo a palavra) um com o otro:
        swapValue = aRange.Cells (1, swapCol)
        swapText = aRange.Cells (1, swapCol + 1)
        aRange.Cells (1, swapCol) = aRange.Cells (1, StartCol)
        aRange.Cells (1, swapCol + 1) = aRange.Cells (1, StartCol + 1)
        aRange.Cells (1, StartCol) = swapValue
        aRange.Cells (1, StartCol + 1) = swapText
        Terminar se
    swapCol = swapCol + 2
    Dar laços até aRange.Cells (1, swapCol) = o ""
StartCol = StartCol + 2
Dar laços até aRange.Cells (1, StartCol) = o ""


Terminar o submarino
Outras soluções  
 
programming4us programming4us