Bonjour, j'ai un dictionnaire avec environ 2,5 millions de chaines de
caractères, et j'ai un corpus de plusieurs centaines de milliers de
documents.
Je souhaite parcourir ces documents pour repérer s'il une chaine est
présente, et indexer alors le "mot clef" avec l'identifiant du document.
Le problème est le suivant : je peux pas faire un parsage pour chaque
terme, ou pour chaque document, ca serait visiblement trop long !
J'ai donc pensé aux expressions régulières, mais on ne sait que l'index
d'un élément, et il ne désigne pas l'élément lui même, ce qui alourdit
fortement le traitement, et de plus je n'ai aucune idées du nombre max
d'éléments qu'on peut mettre dans un moteur regex (en supposant que je
fasse un (chien|chat|chant|...)
quelqu'un a t'il une suggestion qui soit efficace et qui tienne
facilement en mémoire ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Johann Burkard
Pif wrote:
Bonjour, j'ai un dictionnaire avec environ 2,5 millions de chaines de caractères, et j'ai un corpus de plusieurs centaines de milliers de documents.
Je souhaite parcourir ces documents pour repérer s'il une chaine est présente, et indexer alors le "mot clef" avec l'identifiant du document.
Le problème est le suivant : je peux pas faire un parsage pour chaque terme, ou pour chaque document, ca serait visiblement trop long !
Il y'a un algorithme de Sun Wu et Udi Manber qui s'appelle "A FAST ALGORITHM FOR MULTI-PATTERN SEARCHING", peut-être ca t'aide:
-- 8< -- A new algorithm to search for multiple patterns at the same time is presented. The algorithm is faster than previous algorithms and can support a very large number - tens of thousands - of patterns. Several applications of the multi-pattern matching problem are discussed. We argue that, in addition to previous applications that required such search, multi-pattern matching can be used in lieu of indexed or sorted data in some applications involving small to medium size datasets. Its advantage, of course, is that no additional search structure is needed. -- >8
Johann -- Oliver lebt auch in seiner 'RN-Welt' wo ihn keiner mehr erreichen kann. Das hat nichts mehr mit Empfehlungen zu tun, sondern das ist Fetischismus und gestoertes Netzdenken. (*Tönnes in <aj3phq$m80$)
Pif wrote:
Bonjour, j'ai un dictionnaire avec environ 2,5 millions de chaines de
caractères, et j'ai un corpus de plusieurs centaines de milliers de
documents.
Je souhaite parcourir ces documents pour repérer s'il une chaine est
présente, et indexer alors le "mot clef" avec l'identifiant du document.
Le problème est le suivant : je peux pas faire un parsage pour chaque
terme, ou pour chaque document, ca serait visiblement trop long !
Il y'a un algorithme de Sun Wu et Udi Manber qui s'appelle "A FAST
ALGORITHM FOR MULTI-PATTERN SEARCHING", peut-être ca t'aide:
-- 8< --
A new algorithm to search for multiple patterns at the same time is
presented. The algorithm is faster than previous algorithms and can
support a very large number - tens of thousands - of patterns. Several
applications of the multi-pattern matching problem are discussed. We
argue that, in addition to previous applications that required such
search, multi-pattern matching can be used in lieu of indexed or sorted
data in some applications involving small to medium size datasets. Its
advantage, of course, is that no additional search structure is needed.
-- >8
Johann
--
Oliver lebt auch in seiner 'RN-Welt' wo ihn keiner mehr erreichen kann.
Das hat nichts mehr mit Empfehlungen zu tun, sondern das ist
Fetischismus und gestoertes Netzdenken.
(*Tönnes in <aj3phq$m80$1@newsreader2.netcologne.de>)
Bonjour, j'ai un dictionnaire avec environ 2,5 millions de chaines de caractères, et j'ai un corpus de plusieurs centaines de milliers de documents.
Je souhaite parcourir ces documents pour repérer s'il une chaine est présente, et indexer alors le "mot clef" avec l'identifiant du document.
Le problème est le suivant : je peux pas faire un parsage pour chaque terme, ou pour chaque document, ca serait visiblement trop long !
Il y'a un algorithme de Sun Wu et Udi Manber qui s'appelle "A FAST ALGORITHM FOR MULTI-PATTERN SEARCHING", peut-être ca t'aide:
-- 8< -- A new algorithm to search for multiple patterns at the same time is presented. The algorithm is faster than previous algorithms and can support a very large number - tens of thousands - of patterns. Several applications of the multi-pattern matching problem are discussed. We argue that, in addition to previous applications that required such search, multi-pattern matching can be used in lieu of indexed or sorted data in some applications involving small to medium size datasets. Its advantage, of course, is that no additional search structure is needed. -- >8
Johann -- Oliver lebt auch in seiner 'RN-Welt' wo ihn keiner mehr erreichen kann. Das hat nichts mehr mit Empfehlungen zu tun, sondern das ist Fetischismus und gestoertes Netzdenken. (*Tönnes in <aj3phq$m80$)
Hervé AGNOUX
Pif wrote:
quelqu'un a t'il une suggestion qui soit efficace et qui tienne facilement en mémoire ?
Je ne crois pas que les regexp puissent te servir. Elles sont utiles pour des... expressions régulières, comme des motifs qui se répètent, et pas pour repérer une grande liste, potentiellement infinie, de mots clefs.
Si tes fichiers sont stables, ou ne varie que peu dans le temps, peut être peux-tu essayer un moteur de recherche style Lucene ?
http://lucene.apache.org/
Cordialement.
-- Hervé AGNOUX http://www.diaam-informatique.com
Pif wrote:
quelqu'un a t'il une suggestion qui soit efficace et qui tienne
facilement en mémoire ?
Je ne crois pas que les regexp puissent te servir. Elles sont utiles pour
des... expressions régulières, comme des motifs qui se répètent, et pas
pour repérer une grande liste, potentiellement infinie, de mots clefs.
Si tes fichiers sont stables, ou ne varie que peu dans le temps, peut être
peux-tu essayer un moteur de recherche style Lucene ?
quelqu'un a t'il une suggestion qui soit efficace et qui tienne facilement en mémoire ?
Je ne crois pas que les regexp puissent te servir. Elles sont utiles pour des... expressions régulières, comme des motifs qui se répètent, et pas pour repérer une grande liste, potentiellement infinie, de mots clefs.
Si tes fichiers sont stables, ou ne varie que peu dans le temps, peut être peux-tu essayer un moteur de recherche style Lucene ?
http://lucene.apache.org/
Cordialement.
-- Hervé AGNOUX http://www.diaam-informatique.com
Pif
mon problème est pas tant la rapidité que l'optimisation en taille du dico. Je pense que je vais directement implémenter mon automate, ce sera plus simple !
Merci !
Pif wrote:
Bonjour, j'ai un dictionnaire avec environ 2,5 millions de chaines de caractères, et j'ai un corpus de plusieurs centaines de milliers de documents.
Je souhaite parcourir ces documents pour repérer s'il une chaine est présente, et indexer alors le "mot clef" avec l'identifiant du document.
Le problème est le suivant : je peux pas faire un parsage pour chaque terme, ou pour chaque document, ca serait visiblement trop long !
Il y'a un algorithme de Sun Wu et Udi Manber qui s'appelle "A FAST ALGORITHM FOR MULTI-PATTERN SEARCHING", peut-être ca t'aide:
-- 8< -- A new algorithm to search for multiple patterns at the same time is presented. The algorithm is faster than previous algorithms and can support a very large number - tens of thousands - of patterns. Several applications of the multi-pattern matching problem are discussed. We argue that, in addition to previous applications that required such search, multi-pattern matching can be used in lieu of indexed or sorted data in some applications involving small to medium size datasets. Its advantage, of course, is that no additional search structure is needed. -- >8
Johann
mon problème est pas tant la rapidité que l'optimisation en taille du
dico. Je pense que je vais directement implémenter mon automate, ce sera
plus simple !
Merci !
Pif wrote:
Bonjour, j'ai un dictionnaire avec environ 2,5 millions de chaines de
caractères, et j'ai un corpus de plusieurs centaines de milliers de
documents.
Je souhaite parcourir ces documents pour repérer s'il une chaine est
présente, et indexer alors le "mot clef" avec l'identifiant du document.
Le problème est le suivant : je peux pas faire un parsage pour chaque
terme, ou pour chaque document, ca serait visiblement trop long !
Il y'a un algorithme de Sun Wu et Udi Manber qui s'appelle "A FAST
ALGORITHM FOR MULTI-PATTERN SEARCHING", peut-être ca t'aide:
-- 8< --
A new algorithm to search for multiple patterns at the same time is
presented. The algorithm is faster than previous algorithms and can
support a very large number - tens of thousands - of patterns. Several
applications of the multi-pattern matching problem are discussed. We
argue that, in addition to previous applications that required such
search, multi-pattern matching can be used in lieu of indexed or sorted
data in some applications involving small to medium size datasets. Its
advantage, of course, is that no additional search structure is needed.
-- >8
mon problème est pas tant la rapidité que l'optimisation en taille du dico. Je pense que je vais directement implémenter mon automate, ce sera plus simple !
Merci !
Pif wrote:
Bonjour, j'ai un dictionnaire avec environ 2,5 millions de chaines de caractères, et j'ai un corpus de plusieurs centaines de milliers de documents.
Je souhaite parcourir ces documents pour repérer s'il une chaine est présente, et indexer alors le "mot clef" avec l'identifiant du document.
Le problème est le suivant : je peux pas faire un parsage pour chaque terme, ou pour chaque document, ca serait visiblement trop long !
Il y'a un algorithme de Sun Wu et Udi Manber qui s'appelle "A FAST ALGORITHM FOR MULTI-PATTERN SEARCHING", peut-être ca t'aide:
-- 8< -- A new algorithm to search for multiple patterns at the same time is presented. The algorithm is faster than previous algorithms and can support a very large number - tens of thousands - of patterns. Several applications of the multi-pattern matching problem are discussed. We argue that, in addition to previous applications that required such search, multi-pattern matching can be used in lieu of indexed or sorted data in some applications involving small to medium size datasets. Its advantage, of course, is that no additional search structure is needed. -- >8