Initial commit: FunASR Speech Recognition Toolkit
Update API Documentation / build-api-docs (push) Has been cancelled
Update API Documentation / build-api-docs (push) Has been cancelled
Add complete FunASR codebase including models, runtime, and documentation.
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
// lat/confidence.h
|
||||
|
||||
// Copyright 2013 Johns Hopkins University (Author: Daniel Povey)
|
||||
|
||||
// See ../../COPYING for clarification regarding multiple authors
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
// KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
||||
// WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
||||
// MERCHANTABLITY OR NON-INFRINGEMENT.
|
||||
// See the Apache 2 License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
|
||||
#ifndef KALDI_LAT_CONFIDENCE_H_
|
||||
#define KALDI_LAT_CONFIDENCE_H_
|
||||
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
#include "base/kaldi-common.h"
|
||||
#include "util/common-utils.h"
|
||||
#include "fstext/fstext-lib.h"
|
||||
#include "lat/kaldi-lattice.h"
|
||||
|
||||
namespace kaldi {
|
||||
|
||||
/// Caution: this function is not the only way to get confidences in Kaldi.
|
||||
/// This only gives you sentence-level (utterance-level) confidence. You can
|
||||
/// get word-by-word confidence within a sentence, along with Minimum Bayes Risk
|
||||
/// decoding, by looking at sausages.h.
|
||||
/// Caution: confidences estimated using this type of method are not very
|
||||
/// accurate.
|
||||
/// This function will return the difference between the best path in clat and
|
||||
/// the second-best path in clat (a positive number), or zero if clat was
|
||||
/// equivalent to the empty FST (no successful paths), or infinity if there
|
||||
/// was only one path in "clat". It will output to "num_paths" (if non-NULL)
|
||||
/// a number n = 0, 1 or 2 saying how many n-best paths (up to two) were found.
|
||||
/// If n >= 1 it outputs to "best_sentence" (if non-NULL) the best word-sequence;
|
||||
/// if n == 2 it outputs to "second_best_sentence" (if non-NULL) the second best
|
||||
/// word-sequence (this may be useful for testing whether the two best word
|
||||
/// sequences are somehow equivalent for the task at hand). If you need more
|
||||
/// information than this or want to look deeper inside the n-best list, then
|
||||
/// look at the implementation of this function.
|
||||
/// This function requires that distinct paths in "lat" have distinct word
|
||||
/// sequences; this will automatically be the case if you generated "clat"
|
||||
/// in any normal way, such as from a decoder, because a deterministic FST
|
||||
/// has this property.
|
||||
/// This function assumes that any acoustic scaling you want to apply,
|
||||
/// has already been applied.
|
||||
BaseFloat SentenceLevelConfidence(const CompactLattice &clat,
|
||||
int32 *num_paths,
|
||||
std::vector<int32> *best_sentence,
|
||||
std::vector<int32> *second_best_sentence);
|
||||
|
||||
|
||||
/// This version of SentenceLevelConfidence takes as input a state-level lattice.
|
||||
/// It needs to determinize it first, but it does so in a "smart" way that only generates
|
||||
/// about as many output paths as it needs.
|
||||
BaseFloat SentenceLevelConfidence(const Lattice &lat,
|
||||
int32 *num_paths,
|
||||
std::vector<int32> *best_sentence,
|
||||
std::vector<int32> *second_best_sentence);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace kaldi
|
||||
|
||||
#endif // KALDI_LAT_CONFIDENCE_H_
|
||||
Reference in New Issue
Block a user