Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望能允许更多的PDF文件名称规则 #37

Closed
crliu95 opened this issue Mar 5, 2021 · 3 comments
Closed

希望能允许更多的PDF文件名称规则 #37

crliu95 opened this issue Mar 5, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@crliu95
Copy link

crliu95 commented Mar 5, 2021

除了在知网上直接下载的文献外,还有很多文献是个人之前整理和维护的,命名规则可能采取了 姓名_年份_期刊_标题 这类规则。希望Jasminum能够允许识别更多的PDF名称模式,或者支持用户手动编辑名称规则识别的模板。

在“设置-茉莉花”中,作者提供了一个格式模板({%t}_{%g}),但目前似乎只支持用下划线进行分割。即使我用空格或者连字符(“-”)替换模板里的下划线,以与我目前需要提取信息的历史文献进行匹配,也依然无法识别。所以格式模板似乎就只是用来调整识别时field的顺序。

作者是否考虑在代码中允许用户更灵活地设置此处的格式模板?

@l0o0
Copy link
Owner

l0o0 commented Mar 6, 2021

可以的,目前我还不知道如何正确的处理这么多规则。你也可以截图一些你目前的命名规则,让我以后参考一下

@l0o0 l0o0 added the enhancement New feature or request label Mar 6, 2021
@l0o0 l0o0 pinned this issue Mar 6, 2021
@l0o0 l0o0 unpinned this issue Mar 6, 2021
@crliu95
Copy link
Author

crliu95 commented Mar 7, 2021

感谢 @l0o0 的及时反馈!

下图中是我的合作者在手动维护中文文献pdf时常采取的一个方式,供你参考:
PDF命名示例

我非常认同您提到的“自动识别多种规则可能是比较麻烦且不经济的”观点,所以一个初步的期待就是在用户给定命名模板的情况下,能够允许Jasminum对PDF文件名进行更灵活的解析,尤其是命名模板中已经有清楚的分割符的情况下。

我能想到的一个实现策略是:(1)按照用户提供的模板将PDF中的分割符(也即非{%X}格式、大括号外面的部分)统一替换为一个默认分割符(比如下划线)。(2)按照默认分割符进一步split,得到关于字段的list。(3)对模板进行解析,得到关于字段代称(即{%X})的list。(4)在常见的命名情况下,两个list长度应该是完全一致的,按照顺序一一对应即可。(5)从中选取对应的信息(标题和作者姓名)到知网引擎中进行检索。(6)一个兜底的解决方案是,将文件名split后的字段中最长的一个作为标题,这可以帮助解决识别过程出错的情况。(7)进一步改进的空间可能是:更有机地利用用户模板中的分割符差异,比如我举的例子中用了&作为连接多个作者的符号;考虑在预处理PDF文件名时去掉“等”、“et al.”等缀词,避免污染关键信息。

再次感谢作者!

@l0o0
Copy link
Owner

l0o0 commented Mar 7, 2021

非常感谢你的建议,我后面会接着优化一下

@l0o0 l0o0 pinned this issue Mar 31, 2021
@l0o0 l0o0 closed this as completed in dfef211 Jul 12, 2021
@l0o0 l0o0 unpinned this issue Jul 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants