gpt4 book ai didi

java - 自动识别文本中的公司名称

转载 作者:行者123 更新时间:2023-11-29 06:05:58 25 4
gpt4 key购买 nike

问题我有一个公司名称/股票代码列表,想在某些文本中识别它们。

public interface AutoTaggingService () {
public List<Tags> getTags(String fullText);
}

在最简单的实现中,可以遍历所有公司名称并进行精确匹配,但这既慢(大公司列表)又不能很好地防止拼写变化。

可能的解决方案我能想到的一种方法是将公司名称/股票符号列表提供给 Lucene/Solr 索引,并使用全文作为查询。此查询的结果将是与全文匹配的文档(公司)列表,具有相关性分数。可以定义一个阈值,这样只有得分高的公司才会作为标签返回。可以定义自定义词干分析器和公司名称的同义词列表以提高准确性。

疑问以前用Lucene/Solr的时候,搜索索引里面的文档都是比较长的文本(比如文章合集),查询会比较短。对于我现在要做的事情,情况是相反的。这会影响索引或相关性并使该方法不可靠吗?

问题

  1. 我的解决方案是解决这个问题的好方法吗?
  2. 我可以使用 classifier 吗?并使用公司列表作为训练数据来实现这一点?
  3. 关于如何高效、高精度地完成这项工作的任何其他建议。

最佳答案

我最近遇到了类似的问题(有点),我最终遵循了 KISS 原则并使用 Apache StringUtils library 实现了搜索部分.您没有提供有关您的股票代码(如果它们的长度都相同)或全文文本有多大的详细信息......但您可以使用 indexOfAny(CharSequence str, CharSequence... searchStrs)方法。这是一些伪 Java...

private String[] codes; // e.g. ["ABC",DEF","GHI"]
List<Tags> tagList;
int i = StringUtils.indexOfAny(fulltext, codes);

if (i >= 0) {
// there's a match
String code = fullText.substring(i, i + 3);
tagList.add(doLookup(code)); // lookup util for code -> Tags
// recursively search again with the substring remainder of the fullText
callMyself(fullText.substring(i + 3));
}

上面的例子是不完整的和未经测试的——它只是给你一个大概的想法。

关于java - 自动识别文本中的公司名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8527971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com