6
votes

Comment puis-je collecter autant d'instances du texte: "[Sujet] sont ..." du Web?

J'essaie de collecter des déclarations sur le Web en recherchant des phrases avec la construction suivante: xxx

Donc, par exemple, je souhaite rechercher et collecter toutes les phrases qui commencent par " Les ordinateurs sont [reste de la phrase] ". Ce qui entraînerait peut-être des choses comme:

  • Les ordinateurs sont ennuyeux.
  • Les ordinateurs sont géniaux.
  • Les ordinateurs sont chers.
  • etc.

    Ce que je veux collecter, c'est tout, du début de la phrase jusqu'à la période (de préférence triée par le taux de survenue).

    existe un moyen de le faire avec la recherche existante moteurs, ou devrais-je construire un bot / grattoir?


3 commentaires

Peut-être que vous pouvez utiliser Globalogic's Moteur de recherche de code HTML qui vous permet de rechercher des pages Web au niveau de la source HTML et permet des expressions régulières. Je ne l'ai pas essayé, il peut donc ne pas être capable de faire ce que vous voulez.


@Mrlister: On dirait une bonne idée, mais ils ne collectent que HTML des pages à domicile (donc aucune pages imbriquées). Ce qui est plutôt malheureux, car j'aimerais également rechercher des pages imbriquées également, sinon les résultats pourraient être plutôt rares. En plus de cela, c'est aussi un service payant et j'aimerais trouver une solution à long terme.


Pas de vraie meilleure ni réponse définitive. Fondamentalement, cela est difficile à faire et nécessite soit beaucoup de D.I. ramper ou utiliser des bases de données préexistantes (et s'installer pour ce qu'ils sont capables de).


4 Réponses :


1
votes

Si cela ne vous dérange pas d'utiliser Ruby, il y a une bibliothèque appelée Spidr qui peut pages araignées. Il y a aussi une bibliothèque connue sous le nom de traitement capable de NLP.

Je regarderais également Yubnub


1 commentaires

J'ai regardé dans Yubnub, mais comment utiliserais-je pour rechercher les informations que j'essayais d'obtenir?



2
votes

Cela ne vous donne pas de chiffres spécifiques, mais vous pouvez obtenir des résultats populaires (souvent drôles) via le Google Suggest API

EG: P>

<toplevel>
<CompleteSuggestion>
  <suggestion data="computers are your future"/>
</CompleteSuggestion>
<CompleteSuggestion>
  <suggestion data="computers are racist"/>
</CompleteSuggestion>
<CompleteSuggestion>
  <suggestion data="computers are us"/>
</CompleteSuggestion>
<CompleteSuggestion>
  <suggestion data="computers are stupid"/>
</CompleteSuggestion>
<CompleteSuggestion>
  <suggestion data="computers are illegal in florida"/>
</CompleteSuggestion>
[...]
</toplevel>


3 commentaires

Je suis d'accord avec ça. Pas besoin de réinventer la roue, à moins que ce soit pour un projet d'école. Les enseignants aiment rendre les étudiants réinventer la roue: D


C'est un peu ce que je cherchais, mais cela ne me donne que 8 résultats pour chaque requête. Ce que je cherche, ce sont des charges de résultats, autant que possible (et comme vous l'avez dit, cela ne donne pas de chiffres spécifiques, ce qui rend une analyse plus difficile un peu plus difficile).


@Samuel Yeh, c'est assez limité. Vous pouvez essayer l'API de recherche Google régulière, qui devrait donner le nombre estimé de résultats pour chaque suggestion.



2
votes

Vous devrez commencer par une liste de noms qui vous intéressent, puis tirez des phrases pertinentes pour chacun.

Cela doit-il être du Web? Il existe un certain nombre de compilations anglais que vous pouvez effectuer une recherche via: http://fr.wikipedia.org/wiki/text_corpus

Vous devrez toujours écrire des expressions régulières pour filtrer ce que vous ne voulez pas.

Vous pouvez également utiliser Google Search API et rechercher des éléments tels que Les ordinateurs sont * Vous aurez toujours besoin de filtrer les données.


0 commentaires

0
votes

Vous pouvez accéder à un grand corpus de pages Web à l'aide du Projet Common Crawl . Écrivez un travail Hadoop Mapreduce pour fonctionner sur AWS et extraire les pages qui vous intéressent. Les détails et les didacticiels sont disponibles sur leur site.


0 commentaires