Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
This repository was archived by the owner on Feb 2, 2019. It is now read-only.

部分解决 DEVONthink 搜索问题

License

NotificationsYou must be signed in to change notification settings

ringsaturn/DEVONthink-Chinese-Search

Repository files navigation

因为有了非常优雅的解决方案,这个项目短期内不会再更新了

还请使用这个 Alfred Workflow:https://github.com/mpco/AlfredWorkflow-DEVONthink-Search

@ringsaturn

2018-11-30


使用须知

这个方法并不能解决 DEVONthink 面对中文文本时孱弱的语义理解能力,只能做到改善 DEVONthink 的索引能力

  • 更加优雅的 macOS 上的解决方式参见DEVONthink search
  • 如果希望 DEVONthink To Go 客户端上也有比较完整的索引,可以通过本脚本在 macOS 上得到关键词,同步到移动设备后供 To Go 索引
  • 本脚本提供的方法比较笨重,在此提供一个在 iOS 上的轻巧的替代方法:用 JSBox 的分词功能
  • 如果上述的替代的方法都不能满足您的要求,那么可以试试本脚本

原理

一句话解释:调用结巴分词从文本中提取关键词,并手动把关键词填入 Comments 中,供 DEVONthink 索引结巴分词详情:fxsjy/jieba: 结巴中文分词

具体解释如下:DEVONthink 的索引文件是一个个形如......-126376F59F4F.dtp2 的文件,其中包含了文件的元数据与可供索引的信息。由于 DEVONthink 不支持对中文等非拉丁语言进行分词,所以无法直接搜索关键词。对于 DEVONthink 而言,每一句话(前后是标点符号的即分割为一句话)就是一个单词,这对于中文肯定是不行的。我知道有一种变通的方法通过用* 来分开每隔汉字,从而获得较好的搜索结果体验。这种方法带来的问题是,搜索起来太不直观了。解决方法就是尽可能完善相应项目的 Spotlight Comments,把可供 DEVONthink 索引的词填入进去即可。这也正是这个程序的目的,生成搜索关键词

  • 默认关键词都是名词
  • 计算相邻的两个词权重下降幅度即斜率是否小于阈值

用法

  • 初始化后台服务: 运行一个小型服务器,提供基于结巴分词的关键词提取 API
  • 复制笔记内容
  • 前台调用 API 并把结果返回到剪贴板
  • 在相应笔记的 Spotlight Comments 处粘贴剪贴板内容(可以通过Command+Shift+I 打开)

需要注意的是,程序默认提取的关键词都是名词,如果有别的需要,则需要修改对应部分的词性

安装及准备工作

准备后台服务

所有路径均默认在用户的根目录下

git clone https://github.com/ringsaturn/DEVONthink-Chinese-Searchcd DEVONthink-Chinese-Search# 安装依赖pip3 install -r requirements.txt# 启动服务器# 默认使用 5050 端口# 重启/注销后需要再次执行这个命令screen python3 AnalyzeKeyWordsAPI/Server.py

准备前台服务 Alfred Workflow

推荐使用get keywords 后台模式.alfredworkflow

其他

待完成

  • 简化安装工作

重要更新记录

2018-01-31 更新 2.0

实现了一个简单的 POST 接口,通过后台运行一个小型服务器,大幅降低提取关键词耗时(主要是结巴分词初始化耗时)


2018-01-31 晚间更新 2.1

利用 shell 脚本和 cURL 实现了一个更好的获取请求速度


2018-02-01 更新 2.2

增加一个后台功能,在后台读取剪贴板内容并把关键词粘贴回剪贴板


2018-02-21 更新 2.3b

测试功能,2.3 中已取消

从 2.3b 开始,提取关键词流程做了改变

  • 输入文本整体进行分词并标注词性
  • 过滤出名词词性
  • 搜索引擎模式再分词

做出这个改变的原因是,在测试中发现结巴分词的提取关键词功能是基于词频的,语义上重要的词语并没有提取出来,故不进行根据权重的提取,试图用搜索引擎模式提高召回率

更新后的效果还有待观察。


2018-03-01 更新 2.3

  • 移除搜索引擎模式
    • 如果有一天找到了直接修改 DEVONthink 索引文件的方法就直接修改索引文件了
    • Spotlight Comments 应当留给自己做一些备忘性质的记录。使用搜索引擎模式太乱了
  • 修复词性过滤问题,默认过滤出:
    • nr 人名
    • ns 地名
    • nt 机构团体
    • nz 其他专名

参考:词性简介参见jieba(结巴)分词种词性简介


[8]ページ先頭

©2009-2025 Movatter.jp