5 votes

Quel outil de traitement de texte est recommandé pour analyser les scénarios ?

J'ai quelques scénarios structurés en texte brut, formatés comme l'exemple à la fin de cet article. Je voudrais analyser chacun d'eux dans un format où :

  • Il sera facile de trouver les indications scéniques qui concernent un lieu spécifique.
  • Il sera facile d'extraire uniquement les dialogues appartenant à un personnage particulier.

L'approche la plus évidente à laquelle je pense est l'utilisation de sed o perl o php de mettre des balises div autour de chaque bloc, avec des classes représentant le personnage, le lieu, et s'il s'agit d'indications scéniques ou de dialogues. Ensuite, je l'ouvre en tant que page Web et j'utilise jQuery pour extraire ce qui m'intéresse. Mais cela semble être un moyen détourné de le faire et peut-être que cela ne semble être une bonne idée que parce que ce sont des outils auxquels je suis habitué. Mais je suis sûr qu'il s'agit d'un problème récurrent qui a déjà été résolu. Quelqu'un peut-il me recommander une méthode de travail plus efficace qui puisse être utilisée sur une machine Linux ? Merci.

Voici un exemple d'entrée :

      SOMEWHERE CORPORATION - OPTIONAL COMMENT
      A guy named BOB is sitting at his computer.

                             BOB
                Mmmm. Stackoverflow. I like.

      Footsteps are heard approaching.

                             ALICE
                Where's that report you said you'd have for me?

      Closeup of clock ticking.

                             BOB (looking up)
                Huh? What?

                             ALICE
                Some more dialogue.

      Some more stage directions.

Voici à quoi pourrait ressembler un exemple de sortie :

      <div class='scene somewhere_corporation'>
       <div class='comment'>OPTIONAL COMMENT</div>
       <div class='direction'>A guy named BOB is sitting at his computer.</div>
       <div class='dialogue bob'>Mmmm. Stackoverflow. I like.</div>
       <div class='direction'>Footsteps are heard approaching.</div>
       <div class='dialogue alice'>Where's that report you said you'd have for me?</div>
       <div class='direction'>Closeup of clock ticking.</div>
       <div class='comment bob'>looking up</div>
       <div class='dialogue bob'>Huh? What?</div>
       <div class='dialogue alice'>Some more dialogue.</div>
       <div class='direction'>Some more stage directions.</div>
      </div>

J'utilise DOM comme exemple, mais encore une fois, uniquement parce que c'est quelque chose que je comprends. Je suis ouvert à tout ce qui est considéré comme une meilleure pratique pour ce type de tâche de traitement de texte si, comme je le soupçonne, le recours à des regexps et à jQuery n'est pas la meilleure pratique. Merci.

2voto

unor Points 14115

Vous pourriez utiliser Celtx a import texte brut scripts et les exporter au format HTML (et RDF/XML pour les métadonnées) (voir ceci Sujet connexe et ceci article de blog, qui décrit la structure du fichier ).

D'autres éditeurs de scénarios comme Trelby pourrait également offrir cette fonctionnalité.


Il y a également Fontaine un langage de balisage en texte clair pour l'écriture de scénarios. Ils proposent bibliothèques que vous pourrait (Je n'ai pas vérifié s'ils proposent quelque chose pour l'importation et la conversion) à utiliser pour votre cause :

Fountain est gratuit et open-source, avec des bibliothèques qui permettent d'ajouter facilement un support dans vos applications.


Même si ces projets ne peuvent pas être utilisés pour votre cause, vous pouvez au moins réutiliser leur format pour votre production.

0voto

Blacksad Points 4163

Si votre entrée n'est pas trop bruyante, c'est-à-dire si vous pouvez faire confiance à certaines régularités comme l'indentation qui est plus grande pour les dialogues que pour les commentaires, j'utiliserais un simple Grammaire sans contexte . Il existe de bonnes implémentations dans toutes les langues et vous trouverez beaucoup d'informations sur SO.

Si vos données d'entrée varient beaucoup, optez pour l'apprentissage automatique, mais vous devrez disposer d'un grand nombre de données d'entrée avec des résultats validés par l'homme pour la formation, ce qui peut s'avérer fastidieux.

Quoi qu'il en soit, je n'utiliserais jamais, jamais, les expressions régulières pour des problèmes de ce genre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X