在 ASO 工作中,如何尽可能提升应用关键词覆盖量一直是老生常谈的话题,有经验的 ASO 人员通常会使用一些第三方工具来检测自己编写的应用描述关键词覆盖情况,比如七麦的 ASO 优化助手。
不过这些工具通常只会告诉你已经覆盖了多少关键词,没办法知道哪些词未覆盖到,需要你反复修改验证,因此这里我编写了一个小脚本,实现自己检测关键词覆盖情况。该工具考虑了关键词完整匹配、分词匹配和分字匹配的情况,并将未匹配到的关键词或字打印出来,方便 ASO 人员对关键词文本进行针对性的补充修改。
使用前准备
- 一份你想要覆盖的关键词表。词表可以通过关键词挖掘整理得到,已经有很多文章介绍,这里不赘述
- 编写好的应用描述文本
- Python 3 运行环境,确保分词工具 jieba 已安装
检测工具代码
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import jieba import logging jieba.setLogLevel(logging.INFO) # 此处以列表形式填写你想要设置的关键词 keywords = [] # 此处填写你的 App 应用描述 text = '''''' # 直接覆盖率 direct_hits = 0 direct_unhit = [] for k in keywords: if k in text: direct_hits += 1 else: direct_unhit.append(k) direct_rate = '{:.2%}'.format(direct_hits / len(keywords)) print("关键词直接覆盖率 %s" % direct_rate + "\n未覆盖关键词:\n", direct_unhit) print("\n") # 间接覆盖率 indirect_keywords = [] for k in keywords: for i in list(jieba.cut(k, cut_all=True)): if i not in indirect_keywords: indirect_keywords.append(i) indirect_hits = 0 indirect_unhit = [] for i in indirect_keywords: if i in text: indirect_hits += 1 else: indirect_unhit.append(i) indirect_rate = '{:.2%}'.format(indirect_hits / len(indirect_keywords)) print("关键词间接覆盖率 %s" % indirect_rate + "\n未覆盖关键词:\n", indirect_unhit) print("\n") # 单字覆盖率 letters = [] for k in keywords: for i in k: if i not in letters: letters.append(i) letter_hits = 0 letter_unhit = [] for i in letters: if i in text: letter_hits += 1 else: letter_unhit.append(i) letter_rate = '{:.2%}'.format(letter_hits / len(letters)) print("单字覆盖率 %s" % letter_rate + "\n未覆盖单字:\n", letter_unhit)
运行结果示例
转载请注明:云深不知处 » ASO 关键词覆盖检测工具