
Corpus Français
Étude
Lexique
La recherche - 研究/调查
L'apprentissage - 学习/学问
La science - 科学
Le savoir - 知识
L'acquisition de connaissances - 知识的获取
L'exploration - 探索/研究
L'investigation - 调查/研究
L'analyse - 分析
La théorie - 理论
L'expérimentation - 实验
La méthodologie - 方法论
La littérature - 文献/著作
Les données - 数据
Les résultats - 结果
La conclusion - 结论
La thèse - 论文/论题
La dissertation - 论文/论文
La rédaction - 写作/撰写
La présentation - 展示/介绍
L'observation - 观察
L'expérience - 经验
La méthode - 方法
Le sujet - 主题/课题
La bibliographie - 参考书目
La revue de littérature - 文献综述
Le questionnaire - 问卷调查
L'enquête - 调查
La compilation - 编纂/整理
L'interprétation - 解释
La discussion - 讨论
La critique - 批评
La synthèse - 综合
L'approfondissement - 深入研究
La collecte de données - 数据收集
La méthodologie de recherche - 研究方法论
La base de données - 数据库
La modélisation - 建模
La vérification - 验证
Article
Méthodes d’acquisition des connaissances
Écrit par Gilbert Paquette
-
Méthodologie de développement d'un système à base de connaissances
Une simple observation nous apprend que la mise au point des systèmes informatiques se fait selon des objectifs clairement formulés, une démarche planifiée et un recours à des méthodes et à des outils de travail appropriés. Il devrait en être ainsi pour le développement des systèmes à base de connaissances. Pour ce faire, on peut transposer dans le domaine des SBC des méthodologies déjà éprouvées dans d'autres secteurs de l'informatique. Toutefois, Les particularités inhérentes aux systèmes à base de règles nous obligent à des adaptations nécessaires des méthodes et à l’emploi d’outils spécifiques1.1 Ingénierie de la connaissance.
La spécialisation des connaissances et des méthodes d'une discipline est un phénomène caractéristique du développement de la plupart des domaines du savoir. L'histoire de l'informatique en est un bon exemple. Ainsi, on reconnait que la programmation et l'analyse de systèmes sont des spécialités qui ont acquis le statut de discipline. Quant à l'intelligence artificielle, elle est née de la rencontre de plusieurs disciplines apparemment étrangères. Il était prévisible que son développement conduise à l'émergence de nouvelles spécialités pour devenir des disciplines autonomes. Le développement des systèmes à base de connaissances confirme cette tendance puisqu'il constitue un champ d'activités spécialisées, l'ingénierie de la connaissance. Plusieurs faits témoignent de cette réalité: vocabulaire spécialisé, littérature abondante, revues spécialisées, prolifération de logiciels adaptés et constitution de cercles de spécialistes appelés cogniticiens ou ingénieurs de la connaissance. Au point de vue sociologique, on peut donc prétendre que l'ingénierie de la connaissance constitue bel et bien une discipline.
L'ingénierie de la connaissance étudie le processus de développement des systèmes à base de connaissances. La notion de représentation des connaissances y occupe une place centrale. Cela indique clairement que son objet d'étude est la connaissance prise au sens large par opposition aux données brutes ou factuelles d'un système informatique conventionnel. La tâche de bâtir un système à base de connaissances implique des opérations comme la collecte de connaissances, leur analyse, leur organisation et leur codification pour les implanter dans un système.
-
Étapes de développement d'un système à base de connaissances
La figure 1 montre les principales tâches prises en charge par l'ingénierie de la connaissance, comparativement à celles d'un système conventionnel. La démarche que nous proposons s'inspire de celle déjà éprouvée pour des systèmes informatiques conventionnels. Cette démarche fait place à l'analyse, à la conception, à la programmation, aux tests et à l'implantation. Ce sont des tâches couramment exécutées lors du développement de n'importe quel type de système informatique.
La différence dans la terminologie ne devrait pas cacher la similitude dans le développement des deux types de systèmes. Par contre, chaque démarche présente ses particularités. La principale originalité du développement des SBC réside dans l'importance accordée aux connaissances. Elles font l'objet de trois étapes : l'identification, l'acquisition et la représentation. D'autre part, les outils employés ne sont pas les mêmes.
Ainsi, on développera un système conventionnel avec un langage de programmation évolué et très souvent, avec un système de gestion de base de données qui supportent des générateurs de rapports des programmes de traitement et une partie de l'interface usager.
Dans le cas d'un système à base de règles, on aura recours à des outils d'acquisition des connaissances pouvant générer des règles qui seront traitées par un moteur d'inférence.
Voici un survol(粗略研究) des grandes étapes de développement d'un système à base de connaissances.
Étude d'opportunité. On étudie le domaine de connaissances à modéliser et les tâches effectuées par les experts afin d'évaluer la possibilité, la pertinence et les rapports coûts-bénéfices du développement d'un système à base de règles. Ensuite, on définit les besoins et les objectifs de l'organisation qui envisage le développement d'un SBC. Cette étude doit répondre à la question: « Est-ce qu'un SBC est une solution satisfaisante aux besoins identifiés? » Si la réponse est positive, on peut passer aux étapes suivantes.
Identification des connaissances. On définit les types de données et les types de solutions normalement produites par l’expert. Ensuite, on identifie les tâches que devrait effectuer le SBC, pour reproduire le comportement de l’expert. On repère les objets types, leurs principaux attributs et leurs relations les plus évidentes. Ce travail fournit des indications sur la nature des connaissances à rechercher au cours des prochaines étapes.
Acquisition des connaissances. On recueille les connaissances nécessaires à l'exécution des tâches identifiées précédemment, par des entrevues(会见) auprès des experts, des études de cas, de la recherche documentaire, etc.
Représentation des connaissances. C'est l'étape de la formalisation des connaissances pour les traduire en règles ou en schémas selon la représentation choisie. On utilise des outils d'organisation et de structuration des connaissances pour construire progressivement une base à partir des connaissances acquises.
Prototypage. On implante progressivement sur ordinateur la base de connaissances et on conçoit l'interface usager. C'est un travail de raffinement(细化,精炼) progressif. On construit d'abord une version réduite du futur système. Puis, on y ajoute les connaissances acquises progressivement et on enrichit le dialogue avec l'usager.
Validation. On vérifie l'exactitude des résultats fournis par le système auprès de l'expert, des usagers et du responsable de projet.
Implantation. On met en marche le système dans son contexte normal d'opération et on initie les usagers à son exploitation.
Bien que la démarche semble séquentielle, certaines étapes peuvent être exécutées en parallèle ou laissées en suspens pour être reprises à un stade ultérieur de développement du système. On procède généralement par raffinement progressif pour compléter certaines étapes.
On pense surtout à l'acquisition et à la représentation des connaissances, au prototypage et à la validation que l'on effectue généralement par phases cycliques successives. On raffine notre modèle des connaissances, la base de règles et le prototype sur ordinateur, à chacune de ces étapes.
-
Intervenants et leur rôle
Intervenants est un terme générique qui désigne les personnes impliquées dans le développement d'un système informatique. Dans le cas d'un SBC, les intervenants sont les suivants :
• Le responsable de projet
• Les usagers
• Les experts
• Les cogniticiens ou ingénieurs de la connaissance
• Les programmeurs
Les usagers sont la raison d'être de tous les systèmes informatiques! Ils doivent donc participer à sa définition et à sa validation. Les programmeurs sont les personnes qui maîtrisent les techniques de l'informatique et la programmation est une de leurs spécialités. Dans le développement d'un système à base de règles, un programmeur est responsable de la traduction des connaissances en règles et de la programmation rendue nécessaire par les particularités du système, notamment les détails de l'interface usager, les liens avec d'autres applications, les calculs ou autres traitements spécialisés. Quant au responsable de projet, on peut le considérer comme la personne qui prend les décisions (ou qui est mandatée pour les faire connaître) concernant les orientations d'un projet, les ressources humaines et matérielles requises, et l'échéancier(进度表,预定日程) à respecter.
Les experts et les cogniticiens sont deux types d'intervenants spécifiques au développement d'un système à base de connaissances. Les experts possèdent les connaissances que les cogniticiens tentent d'acquérir et de représenter pour les traduire en faits et en règles dans un système à base de règles, ou en schémas s'il s'agit du mode de représentation choisi. D'autre part, les cogniticiens sollicitent les experts et colligent des données pour constituer une base de connaissances dont l'exploitation par un moteur d'inférence peut reproduire des tâches normalement exécutées par des experts humains. La figure 2 illustre de quelle manière interagissent les intervenants lors du processus de développement d'un SBC.
Comme le montre la figure 2, le cogniticien joue un rôle fondamental dans le développement des SBC, soit l'identification, l'acquisition et la représentation des connaissances. Nous tenons à préciser ce que l'on attend de lui. Dans son livre Acquisition du savoir pour les systèmes experts, Anna Hart suggère une liste d'aptitudes souhaitées chez les cogniticiens. En voici quelques-unes :
• savoir bien communiquer;
• avoir du tact, de la diplomatie;
• être patient(e);
• savoir se mettre à la place de la personne experte;
• être persistant(e);
• être logique;
• être capable de s'adapter;
• avoir un esprit inventif;
• avoir confiance en soi;
• avoir une connaissance du domaine.
Le cogniticien ou ingénieur de la connaissance sert de lien entre l'expert et le programmeur du système à base de règles, ou parfois, il réalise le système si la programmation n'est pas nécessaire. Il doit recueillir les connaissances nécessaires au développement d'un système, les organiser et les structurer dans une forme telle qu'elles puissent être directement codées dans un formalisme informatique. D'autre part, le cogniticien est responsable de la conception du dialogue que le SBC entretient avec l'usager ainsi que de la spécification des interfaces comme les menus, les fenêtres, les icônes, etc. Enfin, de concert avec l'expert, il voit à la validation des résultats produits par le système.
Selon l'envergure(规模) du système, plusieurs des rôles identifiés ici peuvent être tenus par une même personne. Ainsi, une personne familière avec le développement de systèmes peut adapter ses méthodes et ses techniques pour représenter les connaissances des experts et programmer le prototype du système. Par contre, à moins de prouesses d'empathie, il est plutôt irréaliste d'échanger les rôles d'expert et d'usager.