赞
踩
问候,
介绍在上一期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的版本。 英语会更好
毕竟是国际论坛。
准备原始文本这是詹姆士国王圣经文本的第一部分:
-
- GENESIS 1:1 In the beginning God created the heaven and the earth.
- GENESIS 1:2 And the earth was without form, and void; and darkness {was} upon
- the face of the deep. And the Spirit of God moved upon the face of the waters.
- GENESIS 1:3 And God said, Let there be light: and there was light.
看起来不错:我们在讲话时所说的每个段落(或“诗句”)
关于圣经的文字)。 书名,一章和
段落/节号。
在第二节中,我不喜欢那个'{was}',所以决定用谷歌搜索
位 我怀疑Dirk在这里的工作,但不确定。 经过一番谷歌搜索我
弄清楚国王詹姆斯的文字是经过几个世纪的编辑和修改的
并且必须在其中一项编辑中的某处添加了“ {was}”东西
会议。 老德克与此无关。
我决定删除括号,没有特别的原因。 浏览后
通过阅读其他几本书,我发现:
-
- I KINGS 22:23 ÿNow therefore, behold, the Lord hath put a lying spirit in the
- mouth of ÿall ÿthese thy prophets, ÿand the Lord hath spoken ÿevil ÿconcerning
- thee.
- 24 But Zedekiah the son of Chenaanah went near, and smote Micaiah on the
- cheek, and said, ÿWhich way went the spirit of the Lord from me to speak
- unto thee?
- 25 And Micaiah said, Behold, thou shalt see in that day, when thou shalt
- 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。