Question : Excel - trouver les mots les plus proches pour de premier rang (l'exploitation des textes)

Ceci pourrait exiger une solution qui est « assez bonne » ou quelques pas dans la bonne direction, plutôt qu'une balle argentée qui résoudra tout.  

I AM recherchant une manière simpliste de faire une certaine analyse des textes dans Excel (ou elle pourrait être dans MS Word - ou une autre application si cela fonctionnerait également). la tâche du
The est comme ceci -- dans un document avec le
1. des réponses d'enquête d'ouvrir-texte (cordes de texte pour chaque rangée).  Après compte de tout le words
2. omettant des mots insignifiants (, a, et, il), ranger le results
3. prennent les résultats supérieurs (par exemple principal 20) et déterminent quels mots non triviaux apparaissent dans la corde avec elle.  Par exemple :  Le mot « service » est #5 rangé dans mot-comptent.  Quand le service est mentionné, les mots supérieurs mentionnés avec lui sont :  « grand », « efficace », le

Here est une approche que j'ai des données de converti d'used.

1. pour choisir le
2. de la colonne (un mot par cellule).  La table de pivot d'utilisation pour compter les mots et le descending
3. de sorte emploient des formules pour créer des expressions des deux-mots et des trois-mots (enchaîner les mots en arrière ensemble de la colonne originale des mots simples).
4.  Puis, les mots supérieurs de trouvaille et voient quelles expressions qu'elles apparaissent in.
5. sélectionner alors manuellement par eux et comptent qui d'autres mots regardent comme ils sont communs à moins de 3 ou 4 mots de la cible (? ? ? ? ?)le

That est un solution.

To récapitulent -- ce que je recherche est une manière (peut-être) étiqueter les mots de cible (principal 20 le plus utilisé, par exemple).    Trouver alors une manière de mesurer la distance entre ces mots de cible et d'autres mots dans les mêmes cordes (dans un paragraphe).  Thoujght I au sujet de convertir les mots en variables et puis de faire quelques maths pour découvrir qui les variables sont les plus étroites ? ? ? ?  le

There est un logiciel commercial qui fait ceci, mais je recherche une solution simpliste dans Excel -- et une chance d'essayer encore plus de modification de chaîne de caractères innovatrice, possibly.
Thanks pour donner à ceci un try.
class= > " clair " de
solutions >Related class= href= " /Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_26227197.html " title= " TextMiner - mots de TextMiner de class= au " d'allumette " - mots de cible à match

Réponse : Excel - trouver les mots les plus proches pour de premier rang (l'exploitation des textes)

Essayer attachée et voir si elle aide.

Le cahier de travail a trois feuilles : « cru » « résulte » et « ignorer »
Coller vos phrases de source comme indiqué dans la feuille « crue ». Frapper alors le bouton « des textes de mine ».

Le code dans le cahier de travail analyse tout le texte dans la feuille crue ; zaps tous les mots énumérés dans « ignorent » la feuille ; dédouble ce qui est laissée dans une rangée et puis le crache dehors dans « résulte » feuille comme suit :

1. Elle compte des occurrences des mots dans la colonne A
2. Dans les colonnes à la droite de la liste de mots principale elle donne tous les mots se produisant dans des mots de X aux left and right du mot principal

La valeur de X est également placée dans « ignorent » la feuille.

Le code assortit alors les résultats.

Il y a trois sous-routines -- le mineur principal, une routine pour ajouter les mots voisins, et une routine faite sur commande de sorte pour traiter les « doubles colonnes » impliquées dans des mots de liste et leur fréquence.
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 :
Option explicite
'écrit par Neil Fleming

MineText secondaire ()

Faible wb comme cahier de travail, wsRaw comme feuille de travail, wsResults comme feuille de travail, wsIgnore comme feuille de travail

Faible rSource comme gamme, rRow comme gamme, rResults comme gamme, rMatch comme gamme
Faible allText comme corde
Faible non désiré comme corde
Faibles mots () comme corde

Faible aWord comme nombre entier, aRow comme nombre entier, tout près comme nombre entier, maxCol comme nombre entier

Sur l'errortrap GoTo d'erreur

'feuilles de travail d'installation
Placer wb = ActiveWorkbook
Placer le wsRaw = le wb. Feuilles (« cru »)
Placer les wsResults = le wb. Feuilles (« résultats »)
Placer le wsIgnore = le wb. Feuilles (« ignorer »)
'placer le rSource  aux rangées non-blanches
Placer le rSource = la gamme (wsRaw.Range (« A5 »), wsRaw.Range (« a5 »). Extrémité (xlDown))
allText = ""
Pour chaque rRow dans rSource.Rows
allText = allText et « « et rRow.Cells (1, 1).Value
Après
'ajouter l'espace de remorquage :
allText = allText et « « 

'haut de casse :
allText = UCase (allText)
'sortir la ponctuation :
l'allText = remplacent (allText, « , », « ")
l'allText = remplacent (allText, « ;  », « ")
l'allText = remplacent (allText, « .  », « ")
l'allText = remplacent (allText, « - », « ")

'enlever les mots ignorés, using la liste de « ignorent » la feuille de travail
Pour l'aWord = 2 à wsIgnore.Cells (2, 1).End (xlDown). Rangée
non désiré = wsIgnore.Cells (aWord, 1).Value
Tandis qu'InStr (allText, « « et non désiré et » ") > 0
l'allText = remplacent (allText, « « et non désiré et » « , » ")
Wend
Après

'sortir les interlignes :
Tandis qu'InStr (allText, «   ") > 0
l'allText = remplacent (allText, «   « , » ")
Wend

'enlever les espaces de conduite et de remorquage :
allText = équilibre (allText)

'converti AllText au choix de mots :
Les mots = se sont dédoublés (allText, « ")

'PRÉSENTER LES RÉSULTATS :
'masquer les résultats :

Avec des wsResults
Application.ScreenUpdating = faux


. Cells.ClearContents
. Cells.ClearFormats
. Gamme (« a1 », « dd1000 »). Interior.Color = RVB (255, 255, 255)
. Activer
. Cellules (1, 1) = « compte »
. Cellules (1, 2) = « mot »

'insérer les résultats uniques de mot en feuille de résultats :
= 2 aRow
maxCol = 1
Pour l'aWord = 0 à UBound (mots)
'redéfinir la gamme de résultats :
Placer les rResults =. Gamme (wsResults.Range (« b2 »). Gamme (« b2 »). Extrémité (xlDown))
Placer le rMatch = le rResults.Find (mots (l'aWord))

'si mot dans la liste, compte d'incrément :
    Sinon le rMatch n'est rien alors
    rMatch.Offset (0, -1) = rMatch.Offset (0, -1) + 1
    'ajouter autrement à la liste :
    Autrement
    Placer le rMatch = le wsResults.Cells (aRow, 2)
    rMatch.Value = mots (aWord)
    rMatch.Offset (0, -1). Valeur = 1
    + 1 aRow = aRow
    Finir si
    
   
    'examiner les mots voisins, occurrences de compte et ajouter vers la droite du mot principal :
    le 'nombre de mots examinés est placé sur « ignorent » la feuille dans des « ptrMaxWords » appelés par cellule :
    Pour tout près = 1 à la gamme (« ptrMaxWords »). Valeur
    'aller à reculons :
     Si aWord - mots voisins d'AddNearby du >= 0 puis (aWord - tout près). Cellules (rMatch.Row, 1), maxCol
         
    'aller expédie :
    Si aWord + tout près <> maxCol = rcol de maxCol puis. Colonne + 1 maxCol d'autre = maxCol
     

Sous-marin d'extrémité

CustomSort secondaire (aRange comme gamme)
'paires de sortes de cellules le long de la rangée basée sur la valeur de la première cellule dans les paires :
Faible StartCol comme nombre entier, swapCol comme nombre entier, swapValue comme nombre entier
Faible swapText comme corde

StartCol = 2
Faire
    swapCol = StartCol + 2
    Faire
        Si aRange.Cells (1, swapCol) > aRange.Cells (1, StartCol) puis
        'permuter les cellules et la prochaine cellule le long (contenant le mot) les uns avec les autres :
        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
        Finir si
    swapCol = swapCol + 2
    Faire une boucle jusqu'à aRange.Cells (1, swapCol) = le ""
StartCol = StartCol + 2
Faire une boucle jusqu'à aRange.Cells (1, StartCol) = le ""


Finir le sous-marin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us