50

元知识:信息检索指南

 4 years ago
source link: http://blog.jiayuanzhang.com/post/meta-knowledge-how-to-search-informations/?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

元知识:信息检索指南

2019-07-01

什么是元知识,我的理解是各个领域都通用的知识,例如交流的能力,搜索信息的能力,语言的能力等,不管你是从事什么行业的工作,这些都是必备的技能(或可以增益的技能)。什么是领域知识,例如编程能力、运营能力,这些是在特定领域发挥作用的知识,虽然编程和运营都可以运用在别的领域中,但是都是比较简单的情况(产品经理如果想学习简单的数据分析知识,不需要去学习如何编写操作系统)。

信息检索是所有元知识中最重要的一个,因为如果学会了这个,完全可以通过自学习的方式去学习其他元知识,所以可以被成为「元知识」的「元知识」。

在搜索信息之前我们首先要定义问题,你到底要搜索什么样的信息?

很多人其实不会问问题,经常有网友给我发邮件或私信询问编程相关的问题,很多都是直接甩过来一张错误的截图,然后留一句怎么解决(有的甚至连这句话都没有)。最开始我还会仔细看一下问题中的具体报错是什么,久而久之,这种问题多了,我也就懒得回答了。有的人我告诉他把问题描述清楚,ta 还会说你摆架子。后来,对于这种问题,我直接删除扔进垃圾箱不再去管。

相反的,另外一部分人很善于问问题,问题描述地非常清楚,包括产生错误的上下文,遇见错误后自己的解决办法,对于这种问题,经常是看了上下文就能找到问题出现在哪里,或者根据它的运行环境在本地测试一下就能 debug 出问题所在,对于这样的提问者,我通常非常乐于解答。

好的提问和坏的提问,可以带来不一样的反馈。所以,下次在问问题之前可以先问问自己:

  1. 遇到的问题到底是什么?能否用简单的话描述?
  2. 出现问题的上下文是什么?是否是某些失误导致的?
  3. 我采取了哪些办法来解决问题?是否可行?

说不定在你想清楚这些事后,就能自己找到问题的解决方案了。

关于定义问题的方法,推荐阅读一下波利亚的《如何解题——数学思维的新方法》,这本简短的小册子介绍了如何定义问题、描述问题、抽象模型、解决问题,是一本对思维训练非常有帮助的书。

Raymond Hettinger 在今年的 PyCon 上有一场演讲就是关于如何定义问题的,有兴趣的读者可以看一下:Modern solvers: Problems well-defined are problems solved

学会定义问题之后就要开始提问了,从上一节也可以看出来,不同的提问方式得到的解答也不一样。好的提问会得到积极的解答,不好的提问会得不到有效的反馈,被当成伸手党。

提问的智慧 这本小册子详细介绍了在互联网上应该如何提问,虽然很大程度上是编程领域的提问指南,但是对于其他领域也同样适用。

使用搜索引擎

如果遇到一个自己无法解决的问题,第一件事应该是求助于搜索引擎。所有你能想到的问题,大体上别人也都问过了,搜索引擎是你最好的老师。

如何用好搜索引擎?

  1. 选择合适的搜索引擎
  2. 定义问题,分解关键词
  3. 使用高级搜索

你可以根据问题的不同来选择不同的搜索引擎,一般来说,中文的娱乐内容可以使用百度来搜索,其他严肃类的内容搜索,统一使用 Google。关于为什么严肃类内容不能使用百度来搜索,可以参考这篇文章:搜索引擎百度已死-虎嗅网

定义问题在第一节中已经讲到,将定义好的问题分解成关键词可以更好地搜索到想要的内容。例如「Python 如何使用标准库进行格式化时间字符串」可以分解为下面几个关键词:「Python」、「格式化」、「时间字符串」,还可以翻译成英文关键词:「Python」、「format」、「date string」,第一条就是 Stack Overflow 的解答:python - How to convert a date string to different format - Stack Overflow

很多人使用搜索引擎都是简单的用关键词进行搜索,其实 Google 等搜索引擎都支持自定义的高级搜索,知乎的这篇回答详细介绍了如何使用 Google 的高级搜索语法:如何用好谷歌等搜索引擎? - 知乎

自动化你的搜索流程

Alfred 是 macOS 上的一个快速启动器,利用 Alfred Workflow,可以自定义你的搜索引擎工具箱。

例如我经常会在 GitHub 上搜索一些代码片段,利用 Alfred 可以把流程简化为:

  1. 快捷键呼出 Alfred 输入窗口;
  2. 输入想要搜索的代码片段关键词(或从剪贴板粘贴);

结果会自动展示在浏览器的窗口中。

Alfred 的设置如下(在新标签页中查看大图):

20190701201021.png

其中,Search URL 填写的是想要搜索的地址, query 是替换的搜索内容,打开 Alfred,输入 keyword 中的关键词就可以快速呼出这个搜索框了。

20190701201221.png

这只是 Alfred 基础功能的最简单使用,在之前的文章中我介绍过使用 Alfred 的 Workflow 来自动生成博客:使用 Devonthink 来写博客,在后续的文章中,我将会介绍更多的 Alfred 高级使用技巧。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK