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

vocabulary 的疑惑 #21

Open
boyang9602 opened this issue Sep 8, 2021 · 1 comment
Open

vocabulary 的疑惑 #21

boyang9602 opened this issue Sep 8, 2021 · 1 comment

Comments

@boyang9602
Copy link

您好,
关于vocabulary有几个问题想要请假。项目中用到三个vocabulary,一个是char_voc, 一个是vocabulary, 还有一个是tree_vocabulary, 其中char_voc是所有自然语言中出现过的字符,vocabulary是自然语言中的token,tree_vocabulary是AST中出现的(或者可以说是除自然语言外的词汇),我看到Rule里的token和tree_path里的token都是用的tree_vocabulary. 不知道我理解对了没有。

第一个问题是 vocabulary.txt是用什么规则tokenize的呢?因为我看到在resolve_data.py里直接用了split方法处理自然语言,但是在vocabulary.txt里似乎不是直接split得到的,因为<b>被tokenize成了<``b>.

第二个问题是我发现一些Rule.txt中的词汇在tree_voc.txt中不存在,比如Rule.txt的第56行,有个词是effective_heal_power,在tree_voc.txt中找不到。我简单的把Rule.txt的每一行split后,发现词汇量比tree_voc多很多。

感谢!
杨博

@zysszy
Copy link
Owner

zysszy commented Dec 24, 2021

您好,

不好意思,我不知道是我miss掉了这个issue还是我在邮件里回复了。

您好, 关于vocabulary有几个问题想要请假。项目中用到三个vocabulary,一个是char_voc, 一个是vocabulary, 还有一个是tree_vocabulary, 其中char_voc是所有自然语言中出现过的字符,vocabulary是自然语言中的token,tree_vocabulary是AST中出现的(或者可以说是除自然语言外的词汇),我看到Rule里的token和tree_path里的token都是用的tree_vocabulary. 不知道我理解对了没有。

理解对了。

第一个问题是 vocabulary.txt是用什么规则tokenize的呢?因为我看到在resolve_data.py里直接用了split方法处理自然语言,但是在vocabulary.txt里似乎不是直接split得到的,因为<b> 被tokenize成了<``b>.

我们把特殊字符和字母分开了,其实没有太多处理。

第二个问题是我发现一些Rule.txt中的词汇在tree_voc.txt中不存在,比如Rule.txt的第56行,有个词是effective_heal_power,在tree_voc.txt中找不到。我简单的把Rule.txt的每一行split后,发现词汇量比tree_voc多很多。

是这样的,Rule.txt 的组成是训练集中所有使用过的规则,而 tree_voc 的组成是训练集中词频超过一定数量的词(有些词的词频过低会被默认为是 unknown

非常抱歉,我miss掉了这个issue。

Zeyu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants