Extraction d'une phrase appropriée

13 février 2007 signalé par James
Catégories : PHP, développement de Web

Dites que vous avez établi un PHP/une fonctionnalité recherche À TEXTE INTÉGRAL de MySQL, et voulez montrer une phrase appropriée pour chaque résultat, d'une manière comme Google fait. J'ai écrit une fonction qui fait juste cela, et pensé je le partagerais ici.

La fonction prend une corde multiple des textes de phrase comme entrée, et une corde de recherche. Le texte est alors cassé vers le haut dans des phrases avec une longueur spécifique minimum de caractère (quant à évitez toutes les phrases qui se composent simplement de M. de `', `salut ! ', ou `ce qui ? ' ;) ). La première phrase qui assortit la corde de recherche, sera alors retournée. Si aucune allumette n'est trouvée, simplement la première phrase du texte sera retournée.

Bien qu'elle ne soit pas parfaite, cette fonction réalise généralement le travail tout à fait bien. Téléchargement extract_sentencephp.txt ici.

Pour plus d'information sur établir votre propre fonctionnalité de recherche, allez voir ce cours d'instruction de recherche À TEXTE INTÉGRAL de MySQL, et naturellement à la documentation officielle.

Lightbox

20 janvier 2007 signalé par James
Catégories : Web 2.0, conception de Web

Lightbox est une exécution très utile de Javascript qui te permet de recouvrir des images à la page courante dans le modèle du Web 2.0. La mise en oeuvre de lui est facile : vous incluez simplement trois dossiers de Javascript et un dossier de CSS dans la section de <head></head> des pages que vous voulez l'employer dessus. Après cela, ajoutez un attribut de " lightbox " de rel= aux liens que vous voulez employer Lightbox dessus, et vous êtes fait !

Au commencement j'étais me suis inquiété de la taille de ces fichiers d'inclusion ensemble, étant le kB environ 70. Mais si vous livrez votre Javascript et dossiers de CSS gzipped aux navigateurs de demande, toute la taille de fichier est le kB seulement 17. Un nombre que je trouve tout à fait acceptable, particulièrement vu les effets frais vous obtenez en échange.

Geotagging le blogosphere

14 janvier 2007 signalé par James
Catégories : De recherche documentaire

Si vous deviez identifier et indiquer exactement les données de l'endroit des poteaux de blog (c.-à-d. endroits mentionnés dans des poteaux de blog), un processus connu sous le nom de geotagging ou geocoding, ces visualisations sont le résultat. Dans la première et quatrième image, la couleur représente la popularité d'un endroit (le rouge est la plus haute fréquence). Dans la deuxième et troisième image, la taille de la place représente la popularité d'un endroit.

L'ensemble de données original s'est composé d'environ 800 blogs aléatoirement choisis avec environ 80.000 poteaux. Geotagging a été fait avec ClearForest, Google Maps et dictionnaire géographique du monde.

world.gif

europe-2.gif

united-states-2.gif

new-york.gif

La signification de ces données d'endroit est - malheureusement - relativement arbitraire.

Type de pantomime de RSS

6 janvier 2007 signalé par James
Catégories : Développement de Web

Quel est le type de MIME le plus correct pour des alimentations de RSS ? Pour beaucoup de réalisateurs cette matière est un peu d'un mal de tête, car il y a beaucoup de différences en ce qui concerne le soutien d'application et de navigateur de l'application/rss+xml. Pour cette raison, il semble y a une préférence générale pour le texte/xml, car c'est le pari le plus sûr. Ainsi après conseil de Dave Winer de lecture sur la matière, j'ai décidé d'employer le type de MIME des textes/xml pour les alimentations du RSS de mon site Web aussi bien.

Ma vue sur le type de MIME le plus correct a changé récemment cependant. La cause de ceci est que - pour quelque raison - Google a commencé à ranger les alimentations du RSS de mon site Web plus haut que les pages réelles, qui n'est évidemment pas très souhaitable, ni pour le visiteur, ni pour moi.

Ma réponse initiale était de bloquer Googlebot des alimentations l'unes des de l'indexation RSS par l'intermédiaire du dossier de robots.txt. Un peu plus tard, se rendant compte que ce 'solution effacerait également tout à fait effectivement toutes les alimentations de Google Blogsearch, j'ai décidé de commuter au type de MIME de l'application/rss+xml après tous.

Heureusement, le comité consultatif de RSS est d'accord avec mon action.

Oeuf fol

5 janvier 2007 signalé par James
Catégories : Conception de Web

L'oeuf fol est un outil libre merveilleux pour visualiser le comportement cliquant sur de vos visiteurs sur votre site Web, et à mon avis une nécessité pour chaque concepteur de Web.

crazyegg-fuzzytravel.jpg

Digitalisation de ma collection CD

5 janvier 2007 signalé par James
Catégories : Uncategorized

Avec l'acquisition récente d'un disque dur externe de 250 gigaoctets, j'ai finalement décidé de prendre le plongeon et de digitaliser ma collection entière de CD audio. Dans ce poteau de blog j'ai juste voulu partager comment je vais faire environ cela.

L'outil que j'utilise pour convertir l'acoustique en numérique est GoldWave (ainsi que LAME). Ils fournissent a entièrement - le `fonctionnel et libre essayent-out'la version, qui inclut l'accès à l'outil CD merveilleux de lecteur, qui peut convertir les voies audio analogues en format numérique de choix.

Je convertis mes voies CD en dossiers MP3 (je pense que le choix pour ce format est tout à fait évident). Dans les arrangements je choisis une fréquence de 44100 hertz, et un débit binaire de 160 Kbps, dans le stéréo. Ces arrangements mèneront aux dossiers MP3 qui sont d'une bonne qualité, pourtant ne deviendront pas trop grands dans la taille.

Un amour de la chose I vraiment au sujet de l'outil CD de lecteur est le `obtiennent le bouton des titres. Quand cliquant sur ceci, GoldWave entrera en contact avec freedb.org et recherchera les titres corrects de nom et de chanson d'album, que - inutiles de dire - vous sauve beaucoup de dactylographie.

Abordant elle de cette façon, convertissant n'importe quelle collection CD en MP3 est un processus relativement facile et rapide. Un CD entier sera digitalisé en environ 15-20 minutes et finit vers le haut au mb ~60 dans la taille de fichier.

Chercher le contenu de Wikipedia

21 décembre 2006 signalé par James
Catégories : De recherche documentaire, PHP

Était tellement ici le défi. Pour mon site Web de voyage j'ai voulu avoir un manuscrit qui recherche automatiquement des extraits d'informations sur des destinations, de sorte qu'ils puissent être montrés comme peu d'information additionnelle aux pages appropriées. La source d'information est évidente : Wikipedia. Bien que Wikitravel puisse sembler un meilleur choix à la première vue pour ce projet, le but de Wikitravel est la plupart du temps de fournir des bouts de voyage et de même ; pour des informations générales, Wikipedia est certainement le meilleur choix.

Le texte de Wikipedia peut être employé librement - sous le permis de GFDL - et fournit également plusieurs méthodes pour l'usage de leur information. Pour des utilisateurs de puissance, il y a les décharges complètes de base de données disponibles. Néanmoins, pour ce petit projet qui serait surpuissance totale. Je n'ai pas l'espace, ni fais je sens la nécessité de télécharger et courir des manuscrits sur plusieurs gigaoctets de données pour simplement des extraits d'article d'environ cent destinations. ;)

Une approche plus visée est donc recommandable dans ce cas particulier. Heureusement, un outil pour une approche page-visée à chercher est disponible aussi bien, à savoir le Special : Fonction d'exportation. Cette méthode est toujours préférée au-dessus de chercher les pages réelles de HTML, dues à la contrainte causée sur les serveurs de Wikipedia en analysant le wikicode et en le convertissant en HTML.

Pour mon projet, le Special : La fonction d'exportation ferait bien. Ceci renvoie un document de XML qui contient le texte d'article dans le wikicode entre les éléments de <text></text>. Automatiquement l'identification de l'extrait de l'information (paragraphe d'i.e.the premier) est une tâche intéressante, car les articles de Wikipedia dans le wikicode peuvent contenir beaucoup de beaucoup d'éléments avant de commencer même par le texte réel. Certaines de ces derniers incluent des étiquettes de calibre, des tables de l'information, des images et des définitions. Tellement premièrement, tous ces éléments devraient être enlevés, ce qui exigent l'écriture de au-dessus d'une douzaine - et parfois tout à fait raffiné - des expressions régulières. Après cela, nous aurons le premier paragraphe d'information même au début du texte en résultant.

Le manuscrit trouve alors le premier paragraphe en localisant un texte de d'une façon minimum 200 caractères qui est suivi de deux linebreaks. Ainsi, là nous allons : l'extrait long-sought de l'information a été identifié. Cependant, l'histoire ne finit pas ici. Le texte de l'article de Wikipedia est toujours dans le wikicode, ainsi il signifie qu'il y a beaucoup de marge bénéficiaire bénéficiaire appliqué qui ne regarde pas très gentil sur des pages Web sans davantage d'analyse. Tellement tout le marge bénéficiaire bénéficiaire de Wikipedia doit être enlevé, ou remplacé par ses équivalents dans le HTML ou le BBCode. Quand cela est tout fait, l'extrait de l'information peut être sauvé localement, et est prêt pour l'affichage sur la page Web ! :D

Traiter des pages de redirection et de désambiguisation

Cette méthode cherchante recherche des pages d'information sur des pays, des états/provinces et des villes. Ainsi, basé sur une entrée des noms de lieu, ce manuscrit assume l'existence d'un nom d'article et essaye de chercher cet URL (par exemple wikipedia.org/wiki/New_York). Cela établit seulement immédiatement dans un certain nombre de cas. Parfois un article nommé sera réorienté à une autre page. Sur le site Web de Wikipedia la redirection a lieu immédiatement. Dans les alimentations de XML ce n'est pas le cas : le seul texte que vous trouverez est « #REDIRECT [[nom de page]] ». Le manuscrit a dû identifier ceci aussi bien, et cherchent et puis analysent la page correcte de Wikipedia à la place.

Alors il y a les pages de désambiguisation. Celles-ci peuvent être distinguées des pages d'article parce que le wikicode l'un ou l'autre contiendra {{disambig}} ou {{des geodis}}, suivies ou précédées par une liste d'articles possibles. La prochaine question est : quelle page est la correcte ? On pourrait aller faire environ ceci par l'analyse de sémantique, mais c'est tout à fait un défi d'IR.

Heureusement, la désambiguisation dans ce projet peut être manipulée un sort entier plus facile. La chose est que des articles sur des villes sont habituellement appelés « ville », « ville, province » ou « ville, pays ». Depuis l'état et le pays l'information est déjà disponible dans mon ensemble de données de destination, la conclusion des pages de désambiguisation peut être surmontée en cherchant et en analysant ces noms alternatifs d'article.

En conclusion

Dans ce poteau j'ai décrit ma méthode pour rechercher automatiquement un extrait approprié de l'information de Wikipedia sur des destinations (villes, provinces, pays) d'un ensemble de noms. J'ai établi une fonction générique de PHP qui fait ceci par elle-même ; elle simplement doit être alimentée des noms d'endroit. Le manuscrit fonctionne maintenant une fois par semaine sur mon web server comme cronjob et cherche les extraits de l'information de Wikipedia qui seront montrés à de nouvelles pages de destination du site Web de voyage (le manuscrit régénère également l'information aux pages déjà existantes, de sorte qu'il reste dans la synchro avec les derniers changements d'article de Wikipedia). L'indice de réussite de cette méthode est tout à fait satisfaisant : J'estime que pour environ 95% de tous les endroits un extrait de l'information pourrait être identifié correctement. Le manuscrit m'a pris un bon après-midi pour programmer, mais continuera à rechercher des extraits des informations importantes, n'importe comment beaucoup de nouvelles pages de destination seront ajoutées à mon site Web de voyage.

Mise à jour. Un exemple de phase de cette fonction de PHP peut être trouvé chez http://www.fuzzytravel.com/sandbox/wikithis.php.

Mise à jour 2. J'ai rendu le code de fonction disponible : wikithisphp.txt.