python - 从不易分离的文本中提取现有单词
问题描述
所以,我有一组“词”,比如:
{'machine learning', 'r', 'python', 'neural networks', 'c', 'c#', 'docker'}
我有一个包含我感兴趣的单词的文本(以粗体显示),例如:
一般而言:在与机器学习/人工智能相关的主题方面为我们提供支持,即算法开发、Python、C或 C++ 中的数据准备和处理、神经网络训练、实时执行神经网络的部署、结果的可视化、生成性能统计等
文本大约 3000-5000 个字符,大约 400-550 个字长。我感兴趣的单词集目前有 3000 个独特的“单词”长度。
我的第一个版本是通过将所有单词转换为小写并删除特殊符号来规范化我的文本,然后用空格分隔并检查文本中的每个单词是否存在于一组有趣的单词中,并记住那些存在于文本。
问题:
- 集合中的一些单词本身是由空格分隔的。例如神经网络。
- 有些词是其他词的子串,例如 C 和 C++。
- 有些词也不仅仅是字母数字。例如 C++。
- 如果匹配的一部分在另一行中,例如
neural\nnetworks
,那么它应该会导致成功匹配。
解决此任务的合适算法是什么?此外,性能在某种程度上很重要,因为这是 Web 端点的一部分。
解决方案
推荐阅读
- python - apache Beam 广播一个 spacy 模型作为 Dataflow 中的侧面输入
- sql - 如何查询架构中没有成员的团队
- reactjs - 在 React 中使用 Swiper 断点时发生功能故障
- php - 强制形式主题
- javascript - Editor.JS SyntaxError:不能在模块外使用导入语句
- java - 如何使用 RestAssured Java 参数化 XML
- regex - 正则表达式只允许小数和 0 中的负数
- python - 更改python中的分配顺序时“超出时间限制”
- go - 两个 goroutine 之间的数据竞争
- c++ - 尝试解决 MFC BEGIN_EVENT_MAP 编译时错误