当前位置:   article > 正文

文本检索系统-1:简介

c语言文本字符检索系统

问候,

介绍

在上一期Compiler文章的最后,我说我想写

关于文本处理。 我不知道该说什么。 直到我老婆

吩咐我“清理您永远不会使用的烂摊子,请丢弃

剩下的东西放在阁楼上,或者干脆扔掉那些垃圾”。

我想在这里声明:

1)我一点都没有。

2)我每天都用这个烂摊子;

3)我的烂摊子不是垃圾。

只是因为我是一个非常听话的人,所以我开始检查我那堆有价值的东西

东西:当然,我发现了自己的笔记,我不再阅读也没有

多年以来,我决定将它们放到新的有价值的堆上。

然后我找到了旧的K&R1(Kernighan和Ritchie的C编程第一版)

充满我的注释。 我好几年都没看过那本书了

是我在书架上的最新K&R2副本),所以我决定创建一堆新书

为我宝贵的旧书。

然后我发现一个印有“即食蘑菇奶油酱”的东西

日期为“ 2002年1月”,并决定将其粘贴到最后一个

我宝贵的K&R1副本的各个章节。 我首先打开它,因为我当时非常

好奇(智能?)生命形式是否可以在其中成长。 它会

浪费掉它。 不要把这件事告诉我的妻子。 她不知道是什么

纯科学是。

将几堆重新堆成新堆后,我发现

有趣的是:一台旧台式机。 我认识到那个旧台式机

我多年没见过的事实:它属于我的老邻居德克

几年前去世的人

德克在路上住了两栋房子,有时我去探望他。 他是

经常阅读; 阅读存储在他计算机上的东西,他一直在喃喃自语

关于事情,他把事情记在纸上,有时他打了几下

轻轻地咒骂和抱怨琴键时,只用一根或两根手指

他在仍然在那里的那只相同的键盘上找不到

之前。 德克是个好又有趣的老家伙。

在他去世前几个月,他已经将该桌面“捐赠”给了我,说:

“您将那台计算机当做儿子,您对这些事情一无所知”。 那东西跑了

Microsoft Windows '98的版本。 我碰巧了解的那一刻

关于该Flaky操作系统的所有信息,我希望可以在

一个好朋友仁慈地返回。 我的意思是。

有一个键盘和系统单元。 我记得我把那个显示器放在

在阁楼上,决定看看我是否可以再次打开它。 我找到了显示器

在阁楼上,拿下来,将所有东西放在餐桌上,挂上钩

一切都打开了,然后打开了那台旧计算机:万岁,它仍然可以工作!

可用文字

里面有一个60MB的磁盘,我发现了一堆文件,它们整齐地存储着

在他们的目录中。 一个目录名为“ C:\ KJ”,我决定给

偷看。

该目录包含完整的圣经文本,分为不同的文件,

每本都包含其中一本圣经书。 这是国王詹姆斯的版本

圣经。 我再次跑上楼去阁楼,在那里发现了一堆旧软盘。

我的一台旧笔记本电脑有一个软盘驱动器和一个无线网卡,

通过这些软盘转移整个shebang(我需要其中的五个),

从我的旧笔记本电脑一直到我用于日常工作的笔记本电脑

我输入此文本。

我现在是大量文本的骄傲所有者。 障碍之一

在开始撰写本文之前,我曾想过我是在谈论文字

进行处理,而我却无法展示材料在很大程度上如何工作

大量的文字。

我不想为此输入CD的歌词(我太懒了

的内容),也只有一点点文字也不会删减。 我要用那个

詹姆士国王圣经的文字为我的例子和小实验。

我的老邻居德克(Dirk)一直在阅读国王詹姆斯(C:\ KJ)版本

圣经。 我想知道是否有荷兰语版本的圣经可供

正在下载,但我也找不到任何一个; 可能像我的老邻居

Dirk找不到荷兰文字版本。 我想他诉诸于此

英文版本是因为缺少可下载的荷兰语版本。

我将所有其他桩放回原处,并决定该工作已经结束,

完成。 我的妻子不同意这一点,但我不会再深入探讨了。

这些东西属于我,我从餐桌上卸下了Dirk的桌面

毕竟,所以我做了我的工作; 所以在那里。

我将以詹姆士国王圣经的文字为例来进行文字处理

软件。 另一方面:我不想将我的文本处理内容绑定到

圣经文字,无论是国王詹姆斯版还是任何其他版本,包括

该文本或其他任何类型的文本的不可用的荷兰语版本。

尽管如此,詹姆士国王圣经的文字还是我想要的一个很好的例子

谈论甚至是Dirk的版本。 英语会更好

毕竟是国际论坛。

准备原始文本

这是詹姆士国王圣经文本的第一部分:

  1. GENESIS 1:1 In the beginning God created the heaven and the earth.
  2. GENESIS 1:2 And the earth was without form, and void; and darkness {was} upon 
  3. the face of the deep. And the Spirit of God moved upon the face of the waters.
  4. GENESIS 1:3 And God said, Let there be light: and there was light. 
看起来不错:我们在讲话时所说的每个段落(或“诗句”)

关于圣经的文字)。 书名,一章和

段落/节号。

在第二节中,我不喜欢那个'{was}',所以决定用谷歌搜索

位 我怀疑Dirk在这里的工作,但不确定。 经过一番谷歌搜索我

弄清楚国王詹姆斯的文字是经过几个世纪的编辑和修改的

并且必须在其中一项编辑中的某处添加了“ {was}”东西

会议。 老德克与此无关。

我决定删除括号,没有特别的原因。 浏览后

通过阅读其他几本书,我发现:

  1. I KINGS 22:23 ÿNow therefore, behold, the Lord hath put a lying spirit in the 
  2. mouth of ÿall ÿthese thy prophets, ÿand the Lord hath spoken ÿevil ÿconcerning 
  3. thee.  
  4. 24 But Zedekiah the son of Chenaanah went near, and smote Micaiah on the 
  5. cheek, and said, ÿWhich way went the spirit of the Lord from me to speak 
  6. unto thee?  
  7. 25 And Micaiah said, Behold, thou shalt see in that daywhen thou shalt 
  8. go into an inner chamber to hide thyself.  
老鼠,书名和章号不见了,而且很有趣

字符也在那里。 我浏览和浏览了一下

在新的一章开始时包括了章号。 有时

我在各个文件的末尾发现了^ Z个字符。

我不想用手纠正所有这些; 我不是和尚,我还有其他

要做的事情。 根据经验,我知道任何文本,无论多么细致

处理并输入,编辑和校对,其中包含错误。 要么

输入错误或结构错误。 上面的示例是结构错误。

键入错误几乎不可能以编程方式找到。 那些结构

错误可以由程序处理到一定程度。

工作要做:我决定要设计和实现以下内容:

一个简单的文本处理引擎

上一段显示错误发生在大量文本中。

我认为一部完整的圣经包含大量文字。 为了能够

阅读,搜索,查询或其他方式,文本需要采用一致的格式。

文本需要预处理; 如果此自动预处理失败,我

必须手动更正文本,但这将是最后的选择。

如果预处理成功,我想以一种允许的格式存储文本

以便快速检索,查询等。我决定将文本的最小单位

应该是一个段落。 一段包含一个或多个句子,每个句子

句子由一个或多个单词组成。

我希望能够快速找到一个段落中的一个或多个单词。 一堆

段落组成一章,一个或多个章节组成一本书。 一堆

一堆书被分成一组,一堆组成一个

图书馆(或书架或任何您想称呼的图书馆)。

因此,基本上,我将文本从粗到细分成如下:

1:组

2:预定

3:章节

4:段落

这个小场景非常适合圣经以及CD的收藏

如果该组是按艺术家分组的所有CD,则该书将是等效的

到一张CD。 章节将是歌曲,段落将是

歌曲歌词的各个部分。 其他设置也是可能的

小场景。

丑陋的部分是文本的预处理。 预处理器必须是

为特定文本撰写,理论上可以扔掉

文本已被预处理时。 我必须分开我的那一部分

文本处理和检索引擎。

我还想实现另外三个目标:任何Unicode文本都应

可处理的,而不仅仅是ASCII文本和结果结构的大小,或者

对象或任何不应该大于原始文本大小的对象

存储在磁盘上。 这些国王詹姆斯圣经经文的总大小约为4.7MB

因此这将是我的King James文字检索对象的最大尺寸。

最后一点:我想在每个段落中添加自己的注释。 笔记

应该与整个东西一起保存,我想在什么时候检索它们

我想要。 我基本上想要一种只读的数据库,其中包含

一堆书,包括我自己的笔记。

我必须添加各种索引和列表,以及应该包含的所有内容

某种形式的压缩,也许还有其他一些冗余删除。 应该

是这个小系统中的三个主要部分:

1)预处理程序,根据原始文本提供良好的文本结构;

2)创建最终文本检索系统的生成器;

3)图书馆,实际的文本检索系统(包括我自己的注释)。

这三个类(或类组)的设计和实现是

本文下一部分的主题。 希望我下次再见

一周,我们必须解决一些技术问题。 我们有工作要做。

谷歌是一个剧透

在输入了这篇文章的一部分之后,我对这本《詹姆斯王

并发现还有更多书籍。 他们被撕掉了

官方圣经。 书籍中的章节或整本书均被禁止

来自官方圣经。 不仅国王XTeam做到了,而且

发生在几个世纪以前:教皇,新教徒,天主教徒

为幻想,虚构或真理辩解。

一堆书最终成了垃圾,但仍然被认为是

真正'。 “真正的”书籍构成了“经典”; 国王詹姆斯版

就是这样的“经典”。 经过更多的谷歌搜索后,我发现国王詹姆斯

XTeam接受了16本书作为“或多或少真实的东西”。

这些书被称为“启示性”书(希腊语:“ apogrypha”,“

已被隐藏起来”)。 我可以问谁隐瞒了谁?

无论如何,我决定不参加几个世纪的古老运动,而你呢?

我只是把那十六本伪造的书包括在我的老邻居

德克版的《国王詹姆斯圣经》。 我希望我没有侮辱德克,也没有

其他人:我只想使用该文本作为该软件的示例文本

我打算设计和实施。

经过更多的谷歌搜索后,我发现了那些伪造的文字。 我编辑了一下

手动(实际上,VI完成了所有肮脏的工作,我只是做了一些宏),并且

将它们添加到我的图书清单中,以供我的文本检索系统处理。

我要告诉妻子我的笔记,书本,东西等不是一堆垃圾:

这是荒谬的。 所以那里。

下周见

亲切的问候,

乔斯

From: https://bytes.com/topic/java/insights/674155-text-retrieval-systems-1-introduction

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/997941
推荐阅读
相关标签
  

闽ICP备14008679号