python - 对连接的字符串进行标记

标签 python elasticsearch machine-learning google-bigquery

我得到了一组包含连接单词的字符串,如下所示:

longstring (two English words)
googlecloud (a name and an English word)

当我在 Google 中输入这些术语时,它会识别出带有“您是说吗?”的单词。 (“长字符串”,“谷歌云”)。我的应用程序中需要类似的功能。

我研究了 Python 和 ElasticSearch 提供的选项。我发现的所有标记化示例都是基于空格、大写字母、特殊字符等。

如果字符串是英文(但它们可能包含名称),我有什么选择?它不必采用特定的技术。

我可以使用 Google BigQuery 完成此任务吗?

最佳答案

您也可以推出自己的实现吗?我正在考虑这样的算法:

  1. 获取一本包含您想要区分的所有单词的字典
  2. 构建一个允许快速查找的数据结构(我正在考虑 trie )
  3. 尝试找到第一个单词(从一个字符开始并增加直到找到一个单词);如果找到,则使用剩余的字符串并执行相同的操作,直到没有留下任何内容。如果没有找到任何内容,则回溯并扩展前一个单词。

如果字符串可以分割,应该没问题,但如果字符串乱码,会尝试所有可能性。当然,这取决于您的字典有多大。但这只是一个快速的想法,也许会有帮助。

关于python - 对连接的字符串进行标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39609925/

相关文章:

python - python中Queue.Queue()实例的转换

python - 为什么在Python中使用Button函数时,文本参数响应循环而命令参数不响应

ruby-on-rails - 索引 ElasticSearch 中某个方法的结果(Tire + ActiveRecord)

python - 如何在 tensorflow 中实现多元线性随机梯度下降算法?

python - 在未来绘图中使用自定义图形设置

elasticsearch - 如何从Elasticsearch直接获取按字段过滤的选项?

elasticsearch - Logstash 错误 |伐木 worker 协议(protocol)错误

machine-learning - 如何证明EM的收敛性?

c# - 为什么这个隐马尔可夫模型会做出这样的预测?

python - 检测两张图片之间的相似点然后将它们叠加(Python)