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

soft lexicon 复杂度 #39

Open
DSXiangLi opened this issue May 11, 2021 · 3 comments
Open

soft lexicon 复杂度 #39

DSXiangLi opened this issue May 11, 2021 · 3 comments

Comments

@DSXiangLi
Copy link

你好还有一个问题想请教,想用词增强主要是想逼近bert的性能又比bert要快。不知道是不是我没完全理解soft lexicon提取每个char 对应B/M/E/S word list的方式,不过一眼看去提取soft lexicon这一步是接近O(N^2)(N是sentence length)的复杂度,因为要遍历句子中任意长度的sentence[i:j]看是否出现在词典中,这样在线上infer的时候虽然模型更轻量,但是是不是会在生成模型输入这一步更加耗时呢?

@v-mipeng
Copy link
Owner

Q:"这样在线上infer的时候虽然模型更轻量,但是是不是会在生成模型输入这一步更加耗时呢?"
A:是的,我们在论文中声明速度更快是指从输入到输出的映射速度更快更轻量。至于说更耗时要看和谁相比,和使用了词典的方法相比,因为大家都要进行词典匹配,在匹配这块的耗时是基本一样的,所以模型整体inference速度仍然取决于模型的推理速度,所以我们声称我们的方法更快是没有问题的。如何和没有使用词典的方法相比,我们的方法肯定是更耗时的。

另外,词典匹配的复杂度应该是O(NK),其中N为序列长度,K为匹配窗口大小,中文中K一般设成10就可以了。

@DSXiangLi
Copy link
Author

嗯嗯明白啦,感谢解释~

@lvjiujin
Copy link

lvjiujin commented Jan 4, 2022

k 是B/M/E/S每一个词集中匹配词的个数吗?设置成10会不会太大了。

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

3 participants