gpt4 book ai didi

java - 特征向量生成器 - 哪些设计模式有用?

转载 作者:行者123 更新时间:2023-12-01 23:35:07 25 4
gpt4 key购买 nike

我的问题看起来很简单,但只是乍一看(对我来说:P)。
我需要创建一个构建特征向量的类。该特征向量代表文本。功能包括:平均单词长度、空文本中的句子数量等。

一些特征可以在其他特征计算期间提取,这就是为什么我稍微修改了Builder设计模式,它看起来像这样:

我正在创建一个构建器对象:

FeatureVectorBuilder fvb = new FeatureVectorBuilder(String text/InputStream <- now it doesn't matter) 

然后我指定一个订单,它表达了我想要包含哪些功能

fvb.setLenghtWord(True) <- for fixed length features
fvb.setXXXFeature(32) <- for variable length features

接下来我要构建这个 vector :

fvb.buildFeatureVector() <- this way computations are optimized;

最后我得到了一个FeatureVector。

fvb.getFeatureVector();

一切看起来都不错,但是...大约有 32 个不同的功能需要设置...
这样,悲观的情况需要 32 个函数调用,而且创建一个具有 32 个参数的函数看起来很愚蠢。

我想知道是否有人正在努力解决这样的问题,也许有比“32 种不同方法”方法更好的解决方案:)

最佳答案

构建器模式的要点之一是通过在构建器中用多个方法替换它们来避免具有大量参数的方法。如果您有 32 个可能的功能,那么在我看来,构建器中有 32 个方法很正常。

另一种可能性是将每个功能设计为一个类,并在构建器中添加这些类的实例:

builder.addFeature(new LengthWordFeature(true))
.addFeature(new XxxFeature(32));

关于java - 特征向量生成器 - 哪些设计模式有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13185335/

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