algorithm - 无空格字符串中的关键字(使用 NLP?)
问题描述
我正在尝试在无空格字符串中找到相关的关键字集。一个例子是:
freelancemarketingconsultant
通过阅读,您可以区分以下关键字:
freelance marketing consultant
您可以看到这项任务并非微不足道,因为常见的混淆是区分“自由”和“长矛”。
是否有已知的(可能是 NLP)技术可以从此类字符串中提取关键字?
解决方案
您可以使用 Viterbi 算法找到最可能(最好)的分割字符串的方法。有一个名为wordsegment的库在 Python 中执行此操作,您可以在Peter Norvig 的页面上阅读有关该技术的更多信息。
最近还有一个名为Hashtag Master的研究项目,它使用神经方法来标记标签。
这在英语中不是常见问题,但在语言中它的标准是空格不分割单词,如日语。有多种方法,研究仍在继续,但基于 Viterbi 的方法通常在速度和准确性之间取得最佳平衡。
推荐阅读
- selenium - Selenium Java Chrome 无法点击按钮
- java - doxygen 可以记录 java 默认的无参数构造函数吗?
- r - tapply 为因子索引的每个级别返回 NA 或坚持对象和索引的长度不同
- vuejs2 - VueJS SFC 和 DOM
- c++ - 显式可变参数模板函数实例化的 MSVC 编译失败
- swift - AVCaptureDevice 配置花费不可预测的时间传播到连接的 AVCapturePhotoOutput
- c++ - 什么时候在 C++ 中调用析构函数?
- java - 调用返回 zip 文件的 Web 服务 - java
- sql - 使用 NUMBER 标识符的 CREATE TABLE 中的 SQL 错误,语法错误:意外的“NUMBER”(数字)
- python - 如何解决错误“dtype('float32') 的值太大?”