[机器翻译] multilingual fairseq-preprocess的两种做法

文章目录

  • 前言
  • multilingual fairseq-preprocess1
    • 方法简介
    • cli_main
    • main
    • _make_all
  • multilingual fairseq-preprocess2
    • 方法简介
    • generate_split-iwslt14.sh
    • learn_and_encode_spm-iwslt14.sh
    • binarize.sh
  • 参考

前言

fairseq给出的preprocess代码只支持一个语言对的binarize,而笔者在[机器翻译] 记一次多语言机器翻译模型的训练想要对多个语言对同时进行binarize,过程中能够创建一个共享的词典。
和师兄交流之后,实现这一结果有两种方式:1. 在学习bpe之后,就会得到一个共享词表,需要对这个词表进行一些修改,然后作为binarize的参数;2. 不使用bpe得到的词表,而是做两次binarize,第一次是为每一个语言对进行一次binarize,然后得到不同的词表。接着将这些词表进行合并,作为第二次binarize的参数。
本文记录笔者通过对fairseq-preprocess流程的理解,参考https://github.com/RayeRen/multilingual-kd-pytorch/blob/master/preprocess_universal.py,实现更加简便的、一步到位的多个语言对binarize流程。
在这之后,本文也给出了上面所说的第一种的预处理方式。(关于第二种,随缘补充)

multilingual fairseq-preprocess1

方法简介

该方法通过对fairseq.fairseq_cli.preprocess.py的理解,修改得到一个用于multilingual fairseq-preprocess的代码。

从fairseq.fairseq_cli.preprocess.py中可以看到:

如果提供srcdict或者tgtdict,则会通过task.load_dictionary(args.srcdict)来读取词典。task.load_dictionary的执行流程为:[fairseq.tasks.translation.TranslationTask]->[fairseq.tasks.fairseq_task.FairseqTask.load_dictionary]->[fairseq.data.dictionary.Dictionary.load]->[fairseq.data.dictionary.Dictionary.add_from_file]。

如果不提供dict,则会通过task.build_dictionary来创建词典,[fairseq.tasks.fairseq_task.FairseqTask.build_dictionary代码如下:

d = Dictionary()
for filename in filenames:
    Dictionary.add_file_to_dictionary(
        filename, d, tokenizer.tokenize_line, workers
    )
d.finalize(threshold=threshold, nwords=nwords, padding_factor=padding_factor)
return d

只要把所有语言对的train data都加入到filenames中,就可以直接创建一个共享的词表,接下来只要用这个词表对所有语言对进行binarize就可以了。因此,修改过程如下:
笔者首先将fairseq.fairseq_cli.preprocess.py复制到当前目录一份,然后修改以下3个函数:

cli_main

def cli_main():
    parser = options.get_preprocessing_parser()
    parser.add_argument('--pref', metavar='FP', default=None, help='data prefix')
    args = parser.parse_args()
    main(args)

main

def main(args):
    # setup some basic things
    utils.import_user_module(args)

    os.makedirs(args.destdir, exist_ok=True)

    logger.addHandler(
        logging.FileHandler(
            filename=os.path.join(args.destdir, "preprocess.log"),
        )
    )
    logger.info(args)

    assert (
            args.dataset_impl != "huffman"
    ), "preprocessing.py doesn't support Huffman yet, use HuffmanCodeBuilder directly."

    # build shared dictionaries

    # target = not args.only_source

    train_files = glob.glob('{}/train.*-*.*'.format(args.pref))
    train_files = [f for f in train_files if len(f.split('.')) in [3, 4, 5]]
    test_files = glob.glob('{}/test.*-*.*'.format(args.pref))
    test_files = [f for f in test_files if len(f.split('.')) in [3, 4, 5]]
    valid_files = glob.glob('{}/valid.*-*.*'.format(args.pref))
    valid_files = [f for f in valid_files if len(f.split('.')) in [3, 4, 5]]
    lng_pairs = set([f.split('/')[-1].split(".")[1] for f in (train_files + test_files + valid_files)])
    task = tasks.get_task(args.task)
    shared_dictionary = _build_dictionary(
        train_files,
        task=task,
        args=args,
        src=True,
    )
    # save dictionaries
    if args.joined_dictionary:
        shared_dictionary.save(os.path.join(args.destdir, "dict.txt"))
    else:
        for lng_pair in lng_pairs:
            src, tgt = lng_pair.split('-')
            tmp_src_dict_path = os.path.join(args.destdir, f'dict.{src}.txt')
            tmp_tgt_dict_path = os.path.join(args.destdir, f'dict.{tgt}.txt')
            if not os.path.exists(tmp_src_dict_path):
                shared_dictionary.save(tmp_src_dict_path)
            if not os.path.exists(tmp_tgt_dict_path):
                shared_dictionary.save(tmp_tgt_dict_path)

    if args.dict_only:
        return

    for lng_pair in lng_pairs:
        src_and_tgt = lng_pair.split('-')
        if len(src_and_tgt) != 2:
            continue
        src, tgt = src_and_tgt
        print("| building: ", src, tgt)
        args.source_lang = src
        args.target_lang = tgt
        _make_all(src, shared_dictionary, args)
        _make_all(tgt, shared_dictionary, args)


    logger.info("Wrote preprocessed data to {}".format(args.destdir))

_make_all

def _make_all(lang, vocab, args):
    lng_pair = f"{args.source_lang}-{args.target_lang}"
    _make_dataset( ## iwslt14.tokenized/train.en-ar
        vocab, os.path.join(args.pref, f"train.{lng_pair}"), "train", lang, args=args, num_workers=args.workers
    )
    _make_dataset(
        vocab, os.path.join(args.pref, f"valid.{lng_pair}"), "valid", lang, args=args, num_workers=args.workers
    )
    _make_dataset(
        vocab, os.path.join(args.pref, f"test.{lng_pair}"), "test", lang, args=args, num_workers=args.workers
    )

multilingual fairseq-preprocess2

方法简介

该方法在学习bpe之后,就会得到一个共享词表,需要对这个词表进行一些修改,然后作为binarize的参数。

generate_split-iwslt14.sh

当前目录有以下文件:
[机器翻译] multilingual fairseq-preprocess的两种做法_第1张图片
执行下面脚本,完成数据的划分后,得到下面的文件,其中的train.all用于学习sentencepiece:
[机器翻译] multilingual fairseq-preprocess的两种做法_第2张图片

#!/usr/bin/env bash
# Adapted from https://github.com/facebookresearch/MIXER/blob/master/prepareData.sh

echo 'Cloning Moses github repository (for tokenization scripts)...'
git clone git://github.com/moses-smt/mosesdecoder.git

###
# just generate train\test\valid data for iwslt14
# with same simple preprocess steps and without tokenization, because the next step is learn spm
###
SCRIPTS=mosesdecoder/scripts
LC=$SCRIPTS/tokenizer/lowercase.perl
CLEAN=$SCRIPTS/training/clean-corpus-n.perl
tmp=tmp
orig=orig
tgt=en
rm -r $orig
rm -r $tmp
mkdir -p $orig $tmp

for src in ar de es fa he it nl pl; do
    lang=$src-en
    echo "pre-processing train data..."
    for l in $src $tgt; do
        if [[ ! -f $src-en.tgz ]]; then
            wget https://wit3.fbk.eu/archive/2014-01//texts/$src/en/$src-en.tgz
        fi
        cd $orig
        tar zxvf ../$src-en.tgz
        cd ..

        f=train.tags.$lang.$l

        cat $orig/$lang/$f | \
        grep -v '' | \
        grep -v '' | \
        grep -v '' | \
        grep -v '' | \
        sed -e 's///g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        <span class="token function">sed</span> -e <span class="token string">'s/<\/title>//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        <span class="token function">sed</span> -e <span class="token string">'s/<description>//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        <span class="token function">sed</span> -e <span class="token string">'s/<\/description>//g'</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/<span class="token variable">$f</span>
        <span class="token builtin class-name">echo</span> <span class="token string">""</span>
    <span class="token keyword">done</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
        perl <span class="token variable">$LC</span> <span class="token operator"><</span> <span class="token variable">$tmp</span>/train.tags.<span class="token variable">$lang</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/train.<span class="token variable">$lang</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
        <span class="token function">rm</span> <span class="token variable">$tmp</span>/train.tags.<span class="token variable">$lang</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
    <span class="token keyword">done</span>
    <span class="token builtin class-name">echo</span> <span class="token string">"pre-processing valid/test data..."</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
      <span class="token keyword">for</span> <span class="token for-or-select variable">o</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">`</span><span class="token function">ls</span> $orig/$lang/IWSLT14.TED*.$l.xml<span class="token variable">`</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span>
        <span class="token assign-left variable">fname</span><span class="token operator">=</span><span class="token variable">${o<span class="token operator">##</span>*<span class="token operator">/</span>}</span>
        <span class="token assign-left variable">f</span><span class="token operator">=</span><span class="token variable">$tmp</span>/<span class="token variable">${fname<span class="token operator">%</span>.*}</span>
        <span class="token builtin class-name">echo</span> <span class="token variable">$o</span> <span class="token variable">$f</span>
        <span class="token function">grep</span> <span class="token string">'<seg id'</span> <span class="token variable">$o</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
            <span class="token function">sed</span> -e <span class="token string">'s/<seg id="[0-9]*">\s*//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
            <span class="token function">sed</span> -e <span class="token string">'s/\s*<\/seg>\s*//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
            <span class="token function">sed</span> -e <span class="token string">"s/\’/\'/g"</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        perl <span class="token variable">$LC</span> <span class="token operator">></span> <span class="token variable">$f</span>
        <span class="token builtin class-name">echo</span> <span class="token string">""</span>
        <span class="token keyword">done</span>
    <span class="token keyword">done</span>

    <span class="token builtin class-name">echo</span> <span class="token string">"creating train, valid, test..."</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
      <span class="token function">mv</span> <span class="token variable">$tmp</span>/train.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">awk</span> <span class="token string">'{if (NR%23 == 0)  print $0; }'</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/valid.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">awk</span> <span class="token string">'{if (NR%23 != 0)  print $0; }'</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/train.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">rm</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">cat</span> <span class="token variable">$tmp</span>/IWSLT14.TED.dev2010.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TEDX.dev2012.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TED.tst2010.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TED.tst2011.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TED.tst2012.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token operator">></span> <span class="token variable">$tmp</span>/test.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">rm</span> <span class="token variable">$tmp</span>/IWSLT14.TED*.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
    <span class="token keyword">done</span>


    <span class="token assign-left variable">TRAIN</span><span class="token operator">=</span><span class="token variable">$tmp</span>/train.all
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
        <span class="token function">cat</span> <span class="token variable">$tmp</span>/train.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">>></span> <span class="token variable">$TRAIN</span>
    <span class="token keyword">done</span>
<span class="token keyword">done</span>

<span class="token builtin class-name">echo</span> <span class="token string">"counting..."</span>
<span class="token keyword">for</span> <span class="token for-or-select variable">src</span> <span class="token keyword">in</span> ar de es fa he it <span class="token function">nl</span> pl<span class="token punctuation">;</span> <span class="token keyword">do</span>
  <span class="token keyword">for</span> <span class="token for-or-select variable">split</span> <span class="token keyword">in</span> train valid <span class="token builtin class-name">test</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
      <span class="token function">wc</span> -l <span class="token variable">$tmp</span>/<span class="token variable">$split</span>.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
    <span class="token keyword">done</span>
  <span class="token keyword">done</span>
<span class="token keyword">done</span>

<span class="token builtin class-name">echo</span> <span class="token string">"done"</span>
</code></pre> 
  <h2>learn_and_encode_spm-iwslt14.sh</h2> 
  <p>学习spm,并apply,得到下面文件,用于binarize。</p> 
  <p><a href="http://img.e-com-net.com/image/info8/87ab9124c0914e37957d7bd597d167c5.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/87ab9124c0914e37957d7bd597d167c5.jpg" alt="[机器翻译] multilingual fairseq-preprocess的两种做法_第3张图片" width="547" height="525" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-bash"><span class="token shebang important">#!/usr/bin/env bash</span>
<span class="token builtin class-name">echo</span> <span class="token string">'Cloning fairseq repository...'</span>
<span class="token function">git</span> clone git@github.com:facebookresearch/fairseq.git
<span class="token comment"># learn bpe</span>
<span class="token assign-left variable">bpe</span><span class="token operator">=</span>bpe
<span class="token assign-left variable">tmp</span><span class="token operator">=</span>tmp
<span class="token assign-left variable">tgt</span><span class="token operator">=</span>en
<span class="token assign-left variable">SCRIPTS</span><span class="token operator">=</span>mosesdecoder/scripts
<span class="token assign-left variable">CLEAN</span><span class="token operator">=</span><span class="token variable">$SCRIPTS</span>/training/clean-corpus-n.perl
<span class="token function">rm</span> -r <span class="token variable">$bpe</span>
<span class="token function">mkdir</span> -p <span class="token variable">$bpe</span>

python -u fairseq/scripts/spm_train.py <span class="token punctuation">\</span>
  --input<span class="token operator">=</span><span class="token variable">$tmp</span>/train.all <span class="token punctuation">\</span>
  --model_prefix<span class="token operator">=</span>spm.bpe <span class="token punctuation">\</span>
  --vocab_size<span class="token operator">=</span><span class="token number">30000</span> <span class="token punctuation">\</span>
  --character_coverage<span class="token operator">=</span><span class="token number">1.0</span> <span class="token punctuation">\</span>
  --model_type<span class="token operator">=</span>bpe <span class="token punctuation">\</span>
  --num_threads<span class="token operator">=</span><span class="token number">45</span> <span class="token punctuation">\</span>
  --shuffle_input_sentence


<span class="token comment"># apply bpe</span>
<span class="token keyword">for</span> <span class="token for-or-select variable">split</span> <span class="token keyword">in</span> train valid <span class="token builtin class-name">test</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
  <span class="token keyword">for</span> <span class="token for-or-select variable">src</span> <span class="token keyword">in</span> ar de es fa he it <span class="token function">nl</span> pl<span class="token punctuation">;</span> <span class="token keyword">do</span>
    <span class="token builtin class-name">echo</span> <span class="token variable">${split}</span> en-<span class="token variable">${src}</span>
    python fairseq/scripts/spm_encode.py <span class="token punctuation">\</span>
      --model spm.bpe.model <span class="token punctuation">\</span>
      --output_format<span class="token operator">=</span>piece <span class="token punctuation">\</span>
      --inputs <span class="token variable">${tmp}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span><span class="token builtin class-name">.</span><span class="token variable">${src}</span> <span class="token variable">${tmp}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.en <span class="token punctuation">\</span>
      --outputs <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean.<span class="token variable">${src}</span> <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean.en
     restrict length ratio
    perl <span class="token variable">$CLEAN</span> -ratio <span class="token number">1.5</span> <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean <span class="token variable">${src}</span> en <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe <span class="token number">1</span> <span class="token number">256</span>
    <span class="token function">rm</span> <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean.*
  <span class="token keyword">done</span>
<span class="token keyword">done</span>
</code></pre> 
  <h2>binarize.sh</h2> 
  <pre><code class="prism language-bash"><span class="token shebang important">#!/usr/bin/env bash</span>
<span class="token comment"># create share dict</span>
<span class="token assign-left variable">path</span><span class="token operator">=</span>data-bin
<span class="token function">rm</span> -r <span class="token variable">$path</span>
<span class="token function">mkdir</span> -p <span class="token variable">$path</span>

<span class="token function">cut</span> -f1 spm.bpe.vocab <span class="token operator">|</span> <span class="token function">tail</span> -n +4 <span class="token operator">|</span> <span class="token function">sed</span> <span class="token string">"s/$/ 100/g"</span> <span class="token operator">></span> <span class="token variable">$path</span>/dict.txt
<span class="token comment">#for lang in ar de es fa he it nl pl en; do</span>
<span class="token comment">#  cp $path/dict.txt $path/dict.${lang}.txt</span>
<span class="token comment">#done</span>

<span class="token keyword">for</span> <span class="token for-or-select variable">split</span> <span class="token keyword">in</span> train valid <span class="token builtin class-name">test</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
  <span class="token keyword">for</span> <span class="token for-or-select variable">src</span> <span class="token keyword">in</span> ar de es fa he it <span class="token function">nl</span> pl<span class="token punctuation">;</span> <span class="token keyword">do</span>
    <span class="token builtin class-name">echo</span> <span class="token variable">${split}</span> en-<span class="token variable">${src}</span>
    fairseq-preprocess <span class="token punctuation">\</span>
        --source-lang <span class="token variable">$src</span> --target-lang en <span class="token punctuation">\</span>
        --trainpref bpe/train.en-<span class="token variable">${src}</span>.bpe <span class="token punctuation">\</span>
        --validpref bpe/valid.en-<span class="token variable">${src}</span>.bpe <span class="token punctuation">\</span>
        --testpref bpe/test.en-<span class="token variable">${src}</span>.bpe <span class="token punctuation">\</span>
        --destdir <span class="token variable">$path</span> <span class="token punctuation">\</span>
        --srcdict <span class="token variable">$path</span>/dict.txt <span class="token punctuation">\</span>
        --tgtdict <span class="token variable">$path</span>/dict.txt
  <span class="token keyword">done</span>
<span class="token keyword">done</span>
</code></pre> 
  <h1>参考</h1> 
  <p>https://github.com/RayeRen/multilingual-kd-pytorch/blob/master/data/iwslt/raw/prepare-iwslt14.sh<br> https://github.com/facebookresearch/fairseq/issues/2110#issue-614837309<br> https://github.com/facebookresearch/fairseq/tree/main/examples/m2m_100</p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1538393709169635328"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(机器翻译,机器翻译,深度学习,人工智能)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1942180319239139328.htm"
                           title="【优秀文章】7月优秀文章推荐" target="_blank">【优秀文章】7月优秀文章推荐</a>
                        <span class="text-muted"></span>

                        <div>优秀文章智能自主运动体与人工智能技术——环境感知、SLAM定位、路径规划、运动控制、多智能体协同作者:fpga和matlabC++之红黑树认识与实现作者:zzh_zao【手把手带你刷好题】–C语言基础编程题(十)作者:草莓熊Lotso飞算JavaAI:从“码农”到“代码指挥官”的终极进化论作者:可涵不会debug前端网页开发学习(HTML+CSS+JS)有这一篇就够!作者:一颗小谷粒</div>
                    </li>
                    <li><a href="/article/1942179357627838464.htm"
                           title="蛋白质结构预测/功能注释/交互识别/按需设计,中国海洋大学张树刚团队直击蛋白质智能计算核心任务" target="_blank">蛋白质结构预测/功能注释/交互识别/按需设计,中国海洋大学张树刚团队直击蛋白质智能计算核心任务</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/hyperai/1.htm">hyperai</a>
                        <div>蛋白质作为生命活动的主要承担者,在人体生理功能中扮演关键角色。然而传统研究面临结构解析成本高昂、功能注释严重滞后、新型蛋白质设计效率低下等挑战。近年来,生命科学对蛋白质复杂特性解析的需求日益迫切,大数据、深度学习、多模态计算等技术的突破性发展,为构建蛋白质智能计算体系提供了全新的发展契机。蛋白质智能计算体系的构建,使得蛋白质在大规模功能注释、交互预测及三维结构建模等领域取得显著成果,为药物发现与生</div>
                    </li>
                    <li><a href="/article/1942176792169213952.htm"
                           title="【心灵鸡汤】深度学习技能形成树:从零基础到AI专家的成长路径全解析" target="_blank">【心灵鸡汤】深度学习技能形成树:从零基础到AI专家的成长路径全解析</a>
                        <span class="text-muted">智算菩萨</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>引言:技能树的生长哲学在这个人工智能浪潮汹涌的时代,深度学习犹如一棵参天大树,其根系深深扎入数学与计算科学的沃土,主干挺拔地承载着机器学习的核心理念,而枝叶则繁茂地延伸至计算机视觉、自然语言处理、强化学习等各个应用领域。对于初入此领域的新手而言,理解这棵技能树的生长规律,掌握其形成过程中的关键节点和发展阶段,将直接决定其在人工智能道路上能够走多远、攀多高。技能树的概念源于游戏设计,但在学习深度学习</div>
                    </li>
                    <li><a href="/article/1942136078613934080.htm"
                           title="MongoDB + Voyage AI 详解:重塑数据库与AI的协同范式" target="_blank">MongoDB + Voyage AI 详解:重塑数据库与AI的协同范式</a>
                        <span class="text-muted">csdn_tom_168</span>
<a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a>
                        <div>MongoDB+VoyageAI详解:重塑数据库与AI的协同范式2025年2月,MongoDB官方宣布收购VoyageAI,这一举措标志着数据库与人工智能技术的深度融合迈入新阶段。通过整合VoyageAI的先进AI检索与嵌入模型能力,MongoDB旨在重新定义AI时代的数据库架构,为企业构建智能应用提供端到端的数据基础设施。一、收购背景与技术战略1.行业趋势驱动AI数据挑战:随着生成式AI与大语言</div>
                    </li>
                    <li><a href="/article/1942135951820124160.htm"
                           title="HarmonyOS5.0仓颉引擎与盘古大模型:个性化作业批改系统架构设计与实现" target="_blank">HarmonyOS5.0仓颉引擎与盘古大模型:个性化作业批改系统架构设计与实现</a>
                        <span class="text-muted">H老师带你学鸿蒙</span>
<a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/HarmonyOS5.0/1.htm">HarmonyOS5.0</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/%E4%BB%93%E9%A2%89/1.htm">仓颉</a><a class="tag" taget="_blank" href="/search/%E6%95%99%E8%82%B2/1.htm">教育</a>
                        <div>人工智能与边缘计算的融合正在重塑教育评价体系。本文将展示如何基于HarmonyOS5.0仓颉并发引擎和盘古大模型,构建新一代智能作业批改系统。系统架构全景graphTDA[学生端设备]-->|提交作业|B[仓颉边缘处理]B-->C[盘古大模型分析]C-->D[个性化反馈生成]D-->E[学生终端]D-->F[教师仪表盘]subgraphHarmonyOS分布式系统B-->|设备协同|G[教室平板集</div>
                    </li>
                    <li><a href="/article/1942124614947762176.htm"
                           title="阿里云瑶池数据库 Data Agent for Meta 正式发布,让 AI 更懂你的业务!" target="_blank">阿里云瑶池数据库 Data Agent for Meta 正式发布,让 AI 更懂你的业务!</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A7%82%E7%82%B9%E8%B5%84%E8%AE%AF%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">数据库观点资讯人工智能</a>
                        <div>背景随着生成式人工智能(GenerativeAI)从概念验证迈向规模化商业落地,AIAgent已成为企业核心业务流程的重要组成部分。然而,当模型调用日益便捷时,核心痛点已不再是模型本身,而是集中在一个关键要素上:数据。AIAgent的落地瓶颈已从技术能力转向高质量、高相关性、安全合规的数据供给。企业面临的核心挑战在于:数据孤岛导致知识库分散,通用大模型难以理解专业业务传统数据管理依赖人工开发维护,</div>
                    </li>
                    <li><a href="/article/1942123981784018944.htm"
                           title="【TVM 教程】如何处理 TVM 报错" target="_blank">【TVM 教程】如何处理 TVM 报错</a>
                        <span class="text-muted"></span>

                        <div>ApacheTVM是一个深度的深度学习编译框架,适用于CPU、GPU和各种机器学习加速芯片。更多TVM中文文档可访问→https://tvm.hyper.ai/运行TVM时,可能会遇到如下报错:---------------------------------------------------------------AnerroroccurredduringtheexecutionofTVM.F</div>
                    </li>
                    <li><a href="/article/1942121584290492416.htm"
                           title="【PaddleOCR】OCR文本检测与文本识别数据集整理,持续更新......" target="_blank">【PaddleOCR】OCR文本检测与文本识别数据集整理,持续更新......</a>
                        <span class="text-muted"></span>

                        <div>博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907)博主粉丝群介绍:①群内初中生、</div>
                    </li>
                    <li><a href="/article/1942120575421968384.htm"
                           title="多模态大模型的技术应用与未来展望:重构AI交互范式的新引擎" target="_blank">多模态大模型的技术应用与未来展望:重构AI交互范式的新引擎</a>
                        <span class="text-muted">zhaoyi_he</span>
<a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>一、引言:为什么多模态是AI发展的下一场革命?过去十年,深度学习推动了计算机视觉和自然语言处理的飞跃,但两者的发展路径长期割裂。随着生成式AI和大模型时代的到来,**多模态大模型(MultimodalFoundationModels)**以统一的建模方式处理图像、文本、音频、视频等多源数据,重塑了“感知-认知-决策”链条,为AGI迈出关键一步。OpenAI的GPT-4o、Google的Gemini</div>
                    </li>
                    <li><a href="/article/1942110236886233088.htm"
                           title="使用 C++ 实现 MFCC 特征提取与说话人识别系统" target="_blank">使用 C++ 实现 MFCC 特征提取与说话人识别系统</a>
                        <span class="text-muted">whoarethenext</span>
<a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/mfcc/1.htm">mfcc</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB/1.htm">语音识别</a>
                        <div>使用C++实现MFCC特征提取与说话人识别系统在音频处理和人工智能领域,C++凭借其卓越的性能和对硬件的底层控制能力,在实时音频分析、嵌入式设备和高性能计算场景中占据着不可或缺的地位。本文将引导你了解如何使用C++库计算核心的音频特征——梅尔频率倒谱系数(MFCCs),并进一步利用这些特征构建一个说话人识别(声纹识别)系统。Part1:在C/C++中计算MFCCs直接从零开始实现MFCC的所有计算</div>
                    </li>
                    <li><a href="/article/1942097884958748672.htm"
                           title="ImportError: /nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4" target="_blank">ImportError: /nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4</a>
                        <span class="text-muted">爱编程的喵喵</span>
<a class="tag" taget="_blank" href="/search/Python%E5%9F%BA%E7%A1%80%E8%AF%BE%E7%A8%8B/1.htm">Python基础课程</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/ImportError/1.htm">ImportError</a><a class="tag" taget="_blank" href="/search/torch/1.htm">torch</a><a class="tag" taget="_blank" href="/search/nvJitLink/1.htm">nvJitLink</a><a class="tag" taget="_blank" href="/search/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">解决方案</a>
                        <div>  大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。  本文主要介绍了ImportError:/home/</div>
                    </li>
                    <li><a href="/article/1942081735172878336.htm"
                           title="【机器学习&深度学习】多分类评估策略" target="_blank">【机器学习&深度学习】多分类评估策略</a>
                        <span class="text-muted">一叶千舟</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E3%80%90%E7%90%86%E8%AE%BA%E3%80%91/1.htm">深度学习【理论】</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E3%80%90%E5%BA%94%E7%94%A8%E5%BF%85%E5%A4%87%E5%B8%B8%E8%AF%86%E3%80%91/1.htm">深度学习【应用必备常识】</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>目录前言一、多分类3大策略✅宏平均(MacroAverage)✅加权平均(WeightedAverage)✅微平均(MicroAverage)二、类比理解2.1宏平均(MacroAverage)2.1.1计算方式2.1.2适合场景2.1.3宏平均不适用的场景2.1.4宏平均一般用在哪些指标上?2.1.5怎么看macroavg指标?2.1.6宏平均值低说明了什么?2.1.7从宏平均指标中定位模型短板</div>
                    </li>
                    <li><a href="/article/1942079212047364096.htm"
                           title="网络安全相关专业总结(非常详细)零基础入门到精通,收藏这一篇就够了" target="_blank">网络安全相关专业总结(非常详细)零基础入门到精通,收藏这一篇就够了</a>
                        <span class="text-muted">网络安全工程师教学</span>
<a class="tag" taget="_blank" href="/search/%E5%85%BC%E8%81%8C%E5%89%AF%E4%B8%9A/1.htm">兼职副业</a><a class="tag" taget="_blank" href="/search/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/1.htm">黑客技术</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>一、网络工程专业专业内涵网络工程是指按计划进行的以工程化的思想、方式、方法,设计、研发和解决网络系统问题的工程,一般指计算机网络系统的开发与构建。该专业培养具备计算机科学与技术学科理论基础,掌握网络技术领域专业知识和基本技能,在计算机、网络及人工智能领域的工程实践和应用方面受到良好训练,具有深厚通信背景、可持续发展、能力较强的高水平工程技术人才。学生可在计算机软硬件系统、互联网、移动互联网及新一代</div>
                    </li>
                    <li><a href="/article/1942062953087954944.htm"
                           title="大语言模型应用指南:ReAct 框架" target="_blank">大语言模型应用指南:ReAct 框架</a>
                        <span class="text-muted">AI大模型应用实战</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>大语言模型应用指南:ReAct框架关键词:大语言模型,ReAct框架,自然语言处理(NLP),模型融合,多模态学习,深度学习,深度学习框架1.背景介绍1.1问题由来近年来,深度学习技术在自然语言处理(NLP)领域取得了显著进展。尤其是大语言模型(LargeLanguageModels,LLMs),如BERT、GPT系列等,通过在大规模无标签数据上进行预训练,获得了强大的语言理解和生成能力。然而,预</div>
                    </li>
                    <li><a href="/article/1942044157635784704.htm"
                           title="大语言模型原理基础与前沿 基于语言反馈进行微调" target="_blank">大语言模型原理基础与前沿 基于语言反馈进行微调</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97/1.htm">计算</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/AI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">AI人工智能与大数据</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a>
                        <div>大语言模型原理基础与前沿基于语言反馈进行微调作者:禅与计算机程序设计艺术/ZenandtheArtofComputerProgramming1.背景介绍1.1问题的由来随着深度学习技术的飞速发展,自然语言处理(NLP)领域取得了显著的进展。大语言模型(LargeLanguageModels,LLMs)如GPT-3、BERT等在各项NLP任务上取得了令人瞩目的成绩。然而,如何进一步提高大语言模型的理</div>
                    </li>
                    <li><a href="/article/1942039872965505024.htm"
                           title="《北京市加快推动“人工智能+医药健康“创新发展行动计划(2025-2027年)》深度解读" target="_blank">《北京市加快推动“人工智能+医药健康“创新发展行动计划(2025-2027年)》深度解读</a>
                        <span class="text-muted"></span>

                        <div>引言随着新一轮科技革命和产业变革的深入推进,人工智能技术与医药健康的深度融合已成为全球科技创新的重要方向。北京市于2025年7月正式发布《北京市加快推动"人工智能+医药健康"创新发展行动计划(2025-2027年)》,旨在充分发挥北京在人工智能技术策源、头部医疗资源汇聚、健康数据高度富集等方面的突出优势,构建形成"人工智能+医药健康"创新和应用并举的产业生态体系,打造具有国际影响力的创新策源地、应</div>
                    </li>
                    <li><a href="/article/1942025369385234432.htm"
                           title="「源力觉醒 创作者计划」_文心大模型开源:开启 AI 新时代的大门" target="_blank">「源力觉醒 创作者计划」_文心大模型开源:开启 AI 新时代的大门</a>
                        <span class="text-muted">小黄编程快乐屋</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>在人工智能的浩瀚星空中,大模型技术宛如一颗璀璨的巨星,照亮了无数行业前行的道路。自诞生以来,大模型凭借其强大的语言理解与生成能力,引发了全球范围内的技术变革与创新浪潮。百度宣布于6月30日开源文心大模型4.5系列,这一消息如同一颗重磅炸弹,在AI领域掀起了惊涛骇浪,其影响之深远,意义之重大,足以改写行业的发展轨迹。百度这次放大招,直接把文心大模型4.5开源了,这操作就像往国内AI圈子里空投了一个超</div>
                    </li>
                    <li><a href="/article/1942023098932981760.htm"
                           title="四种微调技术详解:SFT 监督微调、LoRA 微调、P-tuning v2、Freeze 监督微调方法" target="_blank">四种微调技术详解:SFT 监督微调、LoRA 微调、P-tuning v2、Freeze 监督微调方法</a>
                        <span class="text-muted"></span>

                        <div>当谈到人工智能大语言模型的微调技术时,我们进入了一个令人兴奋的领域。这些大型预训练模型,如GPT-3、BERT和T5,拥有卓越的自然语言处理能力,但要使它们在特定任务上表现出色,就需要进行微调,以使其适应特定的数据和任务需求。在这篇文章中,我们将深入探讨四种不同的人工智能大语言模型微调技术:SFT监督微调、LoRA微调方法、P-tuningv2微调方法和Freeze监督微调方法。第一部分:SFT监</div>
                    </li>
                    <li><a href="/article/1942010871601491968.htm"
                           title="2023年搜索领域的技术认证与职业发展指南" target="_blank">2023年搜索领域的技术认证与职业发展指南</a>
                        <span class="text-muted">搜索引擎技术</span>
<a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>2023年搜索领域的技术认证与职业发展指南关键词搜索领域、技术认证、职业发展、搜索引擎技术、人工智能搜索摘要本指南旨在为搜索领域的从业者和有志于进入该领域的人士提供全面的技术认证与职业发展参考。首先介绍搜索领域的概念基础,包括其历史发展和关键问题。接着阐述相关理论框架,分析不同认证背后的原理。架构设计部分展示搜索系统的组成与交互。实现机制探讨算法复杂度和代码优化。实际应用部分给出实施和部署策略。高</div>
                    </li>
                    <li><a href="/article/1942009986884366336.htm"
                           title="探索AI人工智能医疗NLP实体识别系统的架构设计" target="_blank">探索AI人工智能医疗NLP实体识别系统的架构设计</a>
                        <span class="text-muted">AI学长带你学AI</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a><a class="tag" taget="_blank" href="/search/easyui/1.htm">easyui</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>探索AI人工智能医疗NLP实体识别系统的架构设计关键词:人工智能、医疗NLP、实体识别、系统架构、深度学习、自然语言处理、医疗信息化摘要:本文将深入探讨医疗领域NLP实体识别系统的架构设计。我们将从基础概念出发,逐步解析医疗文本处理的特殊性,详细介绍实体识别技术的核心原理,并通过实际案例展示如何构建一个高效可靠的医疗实体识别系统。文章还将探讨当前技术面临的挑战和未来发展方向,为医疗AI领域的从业者</div>
                    </li>
                    <li><a href="/article/1942006962325614592.htm"
                           title="AI智能体原理及实践:从概念到落地的全链路解析" target="_blank">AI智能体原理及实践:从概念到落地的全链路解析</a>
                        <span class="text-muted">you的日常</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大语言模型</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a>
                        <div>AI智能体正从实验室走向现实世界,成为连接人类与数字世界的桥梁。它代表了人工智能技术从"知"到"行"的质变,是能自主感知环境、制定决策、执行任务并持续学习的软件系统。在2025年,AI智能体已渗透到智能家居、企业服务、医疗健康、教育和内容创作等领域,展现出强大的生产力与创造力。然而,其发展也伴随着技术挑战、伦理困境和安全风险,需要从架构设计到落地应用的全链条思考与平衡。一、AI智能体的核心定义与技</div>
                    </li>
                    <li><a href="/article/1941981137001836544.htm"
                           title="人工智能动画展示人类的特征" target="_blank">人工智能动画展示人类的特征</a>
                        <span class="text-muted">AGI大模型与大数据研究院</span>
<a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型应用开发实战</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>人工智能,动画,人类特征,情感识别,行为模拟,机器学习,深度学习,自然语言处理1.背景介绍人工智能(AI)技术近年来发展迅速,已渗透到生活的方方面面。从智能语音助手到自动驾驶汽车,AI正在改变着我们的世界。然而,尽管AI技术取得了令人瞩目的成就,但它仍然难以完全模拟人类的复杂行为和特征。人类的特征是多方面的,包括情感、认知、社交和创造力等。这些特征是人类区别于其他生物的重要标志,也是人类社会文明发</div>
                    </li>
                    <li><a href="/article/1941938781129076736.htm"
                           title="深度学习篇---简单果实分类网络" target="_blank">深度学习篇---简单果实分类网络</a>
                        <span class="text-muted"></span>

                        <div>下面我将提供一个使用Python从零实现果实分类模型的完整流程,包括数据准备、模型构建、训练和部署,不依赖任何深度学习框架,仅使用NumPy进行数值计算。1.数据准备与预处理首先需要准备果实图像数据集,将其分为好果和坏果两类,并进行预处理:importosimportnumpyasnpfromPILimportImagefromsklearn.model_selectionimporttrain_</div>
                    </li>
                    <li><a href="/article/1941932603472932864.htm"
                           title="Python深度学习:3步实现AI人脸识别,效果堪比专业软件!" target="_blank">Python深度学习:3步实现AI人脸识别,效果堪比专业软件!</a>
                        <span class="text-muted">小筱在线</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>引言:AI人脸识别的时代已经到来在当今数字化时代,人脸识别技术已经从科幻电影走进了我们的日常生活。从手机解锁到机场安检,从银行身份验证到智能门禁系统,这项技术正以前所未有的速度改变着我们的生活方式。而令人振奋的是,借助Python和深度学习技术,普通人也能构建出专业级的人脸识别系统。本文将带领您通过三个关键步骤,使用Python深度学习技术实现一个准确率高达99%的人脸识别系统。这个系统不仅原理简</div>
                    </li>
                    <li><a href="/article/1941914587221782528.htm"
                           title="Teacher Forcing--------一种用于序列生成任务的训练技巧" target="_blank">Teacher Forcing--------一种用于序列生成任务的训练技巧</a>
                        <span class="text-muted">AI扶我青云志</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>好的,我们来详细介绍一下TeacherForcing,这是一种在训练序列生成模型(如循环神经网络RNN、长短期记忆网络LSTM、门控循环单元GRU、以及后来的Transformer)时常用的重要技术。核心概念目标:训练一个模型,使其能够根据给定的输入序列(如前一个词、图像编码、时间步数据等)预测下一个输出元素(如下一个词、下一个音符、下一个时间点的值等)。这在机器翻译、文本摘要、对话生成、语音合成</div>
                    </li>
                    <li><a href="/article/1941908535235375104.htm"
                           title="Spring AI 第二讲 之 Chat Model API 第八节ZhiPu AI Chat" target="_blank">Spring AI 第二讲 之 Chat Model API 第八节ZhiPu AI Chat</a>
                        <span class="text-muted">疼死老夫了</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>SpringAI支持知普人工智能的各种人工智能语言模型。您可以与知普人工智能语言模型互动,并基于知普人工智能模型创建多语言对话助手。先决条件您需要与ZhiPuAI创建一个API,以访问ZhiPuAI语言模型。在ZhiPuAI注册页面创建账户,并在APIKeys页面生成令牌。SpringAI项目定义了一个名为spring.ai.zhipuai.api-key的配置属性,你应将其设置为从APIKeys</div>
                    </li>
                    <li><a href="/article/1941899841349152768.htm"
                           title="Chat Model API" target="_blank">Chat Model API</a>
                        <span class="text-muted">虾条_花吹雪</span>
<a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>聊天模型API为开发人员提供了将人工智能聊天完成功能集成到应用程序中的能力。它利用预训练的语言模型,如GPT(生成预训练转换器),以自然语言对用户输入生成类似人类的响应。API通常通过向人工智能模型发送提示或部分对话来工作,然后人工智能模型根据其训练数据和对自然语言模式的理解生成对话的完成或继续。然后将完成的响应返回给应用程序,应用程序可以将其呈现给用户或用于进一步处理。Spring人工智能聊天模</div>
                    </li>
                    <li><a href="/article/1941885465544159232.htm"
                           title="【推荐算法课程二】推荐算法介绍-深度学习算法" target="_blank">【推荐算法课程二】推荐算法介绍-深度学习算法</a>
                        <span class="text-muted">盒子6910</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E8%A7%86%E8%A7%92%E4%B8%8B%E7%9A%84%E5%B9%BF%E5%91%8A%E4%B8%9A%E5%8A%A1/1.htm">运维视角下的广告业务</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%8E%A8%E8%8D%90%E7%AE%97%E6%B3%95/1.htm">推荐算法</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>三、深度学习在推荐系统中的应用3.1深度学习推荐模型的演化关系图3.2AutoRec——单隐层神经网络推荐模型3.2.1AutoRec模型的基本原理AutoRec模型是一个标准的自编码器,它的基本原理是利用协同过滤中的共现矩阵,完成物品向量或者用户向量的自编码。再利用自编码的结果得到用户对物品的预估评分,进而进行推荐排序。什么是自编码器?自编码器是指能够完成数据“自编码”的模型。无论是图像、音频,</div>
                    </li>
                    <li><a href="/article/1941882815314456576.htm"
                           title="巅峰对决,超三十万奖金等你挑战!第十届信也科技杯全球AI算法大赛火热开赛!" target="_blank">巅峰对决,超三十万奖金等你挑战!第十届信也科技杯全球AI算法大赛火热开赛!</a>
                        <span class="text-muted">中杯可乐多加冰</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E6%B2%BF%E8%B5%84%E8%AE%AF%E5%88%86%E4%BA%AB/1.htm">前沿资讯分享</a><a class="tag" taget="_blank" href="/search/%E7%A7%91%E6%8A%80/1.htm">科技</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>信也科技今年跟IJCAI和CIKM这两大全球顶级AI会议合作,这场比赛被全球人工智能顶会CIKM收录为官方赛事单元,获奖选手有机会全球人工智能顶会创造更大的影响力。一、赛事概况随着深度伪造技术的高度发展,人工智能产业走深向实,生成合成技术开始呈现工具化和普及化趋势。在生成合成内容质量显著提升的当下,基于换脸攻击的身份冒用和欺诈事件在全球范围内激增,严重威胁个人隐私和公共数据安全。第十届信也科技杯全</div>
                    </li>
                    <li><a href="/article/1941881432012025856.htm"
                           title="【AI智能推荐系统】第二篇:深度学习在推荐系统中的架构设计与优化实践" target="_blank">【AI智能推荐系统】第二篇:深度学习在推荐系统中的架构设计与优化实践</a>
                        <span class="text-muted">DeepFaye</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>第二篇:深度学习在推荐系统中的架构设计与优化实践提示语:“从Wide&Deep到Transformer,深度推荐模型如何突破性能瓶颈?本文将揭秘Netflix、淘宝都在用的深度学习推荐架构,手把手教你设计高精度推荐系统!”目录深度学习推荐系统的核心优势主流深度学习推荐架构解析2.1Wide&Deep模型2.2DeepFM与xDeepFM2.3神经协同过滤(NCF)2.4基于Transformer的</div>
                    </li>
                                <li><a href="/article/117.htm"
                                       title="Algorithm" target="_blank">Algorithm</a>
                                    <span class="text-muted">香水浓</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a>
                                    <div>冒泡排序 
 

	public static void sort(Integer[] param) {
		for (int i = param.length - 1; i > 0; i--) {
			for (int j = 0; j < i; j++) {
				int current = param[j];
				int next = param[j + 1];</div>
                                </li>
                                <li><a href="/article/244.htm"
                                       title="mongoDB 复杂查询表达式" target="_blank">mongoDB 复杂查询表达式</a>
                                    <span class="text-muted">开窍的石头</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>1:count 
   Pg: db.user.find().count(); 
   统计多少条数据 
2:不等于$ne 
   Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0}); 
   查询id不等于3的数据。 
3:大于$gt $gte(大于等于) 
&n</div>
                                </li>
                                <li><a href="/article/371.htm"
                                       title="Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space" target="_blank">Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space</a>
                                    <span class="text-muted">0624chenhong</span>
<a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a>
                                    <div>转自 
http://blog.csdn.net/zou274/article/details/5552630 
 
解决办法: 
 
window->preferences->java->installed jres->edit jre 
把default vm arguments 的参数设为-Xms64m -Xmx512m 
 
 
 
----------------</div>
                                </li>
                                <li><a href="/article/498.htm"
                                       title="文件上传 下载 解析 相对路径" target="_blank">文件上传 下载 解析 相对路径</a>
                                    <span class="text-muted">不懂事的小屁孩</span>
<a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a>
                                    <div>有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。 
下面总结一下遇到的问题: 
 
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。 
在上传图片,或者文件时,使用form表单来操作。 
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下: 
 

<form action=&</div>
                                </li>
                                <li><a href="/article/625.htm"
                                       title="怎么实现qq空间批量点赞" target="_blank">怎么实现qq空间批量点赞</a>
                                    <span class="text-muted">换个号韩国红果果</span>
<a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a>
                                    <div>纯粹为了好玩!! 
逻辑很简单 
1 打开浏览器console;输入以下代码。 
先上添加赞的代码 
 

var tools={};
		//添加所有赞
		function  init(){
			document.body.scrollTop=10000;
				setTimeout(function(){document.body.scrollTop=0;},2000);//加</div>
                                </li>
                                <li><a href="/article/752.htm"
                                       title="判断是否为中文" target="_blank">判断是否为中文</a>
                                    <span class="text-muted">灵静志远</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%AD%E6%96%87/1.htm">中文</a>
                                    <div>方法一: 
public class Zhidao { 
 public static void main(String args[]) { 
 String s = "sdf灭礌 kjl d{';\fdsjlk是"; 
 int n=0; 
 for(int i=0; i<s.length(); i++) { 
 n = (int)s.charAt(i); 
 if((</div>
                                </li>
                                <li><a href="/article/879.htm"
                                       title="一个电话面试后总结" target="_blank">一个电话面试后总结</a>
                                    <span class="text-muted">a-john</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                                    <div>今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。 
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结: 
  
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。 
  
然后对list和map分别举几个类型: 
  
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了</div>
                                </li>
                                <li><a href="/article/1006.htm"
                                       title="MSSQL中Escape转义的使用" target="_blank">MSSQL中Escape转义的使用</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/MSSQL/1.htm">MSSQL</a>
                                    <div>IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC


create table #ABC
(
PATHNAME NVARCHAR(50)
)


insert into #ABC
SELECT N'/ABCDEFGHI' 
UNION ALL SELECT N'/ABCDGAFGASASSDFA' 
UNION ALL</div>
                                </li>
                                <li><a href="/article/1133.htm"
                                       title="一个简单的存储过程" target="_blank">一个简单的存储过程</a>
                                    <span class="text-muted">asialee</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/1.htm">存储过程</a><a class="tag" taget="_blank" href="/search/%E6%9E%84%E9%80%A0%E6%95%B0%E6%8D%AE/1.htm">构造数据</a><a class="tag" taget="_blank" href="/search/%E6%89%B9%E9%87%8F%E6%8F%92%E5%85%A5/1.htm">批量插入</a>
                                    <div>           今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此: 
  
         
DELIMITER $$  
DROP PROCEDURE IF EXISTS inse</div>
                                </li>
                                <li><a href="/article/1260.htm"
                                       title="annot convert from HomeFragment_1 to Fragment" target="_blank">annot convert from HomeFragment_1 to Fragment</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%AF%BC%E5%8C%85%E9%94%99%E8%AF%AF/1.htm">导包错误</a>
                                    <div>创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单; 
    创建类时引入包是:import android.app.Fragment; 
  
   创建队列和对象时使用的包是:import android.support.v4.ap</div>
                                </li>
                                <li><a href="/article/1387.htm"
                                       title="Weblogic10两种修改端口的方法" target="_blank">Weblogic10两种修改端口的方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a><a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8F%B7/1.htm">端口号</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a><a class="tag" taget="_blank" href="/search/config.xml/1.htm">config.xml</a>
                                    <div>一.进入控制台进行修改    1.进入控制台:  http://127.0.0.1:7001/console     2.展开左边树菜单         域结构->环境->服务器-->点击AdminServer(管理) &</div>
                                </li>
                                <li><a href="/article/1514.htm"
                                       title="mysql 操作指令" target="_blank">mysql 操作指令</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>一、连接mysql 
进入 mysql 的安装目录; 
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p 
输入密码,回车,接连; 
 
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效] 
1、赋权 
mys</div>
                                </li>
                                <li><a href="/article/1641.htm"
                                       title="【Hive一】Hive入门" target="_blank">【Hive一】Hive入门</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a>
                                    <div>Hive安装与配置 
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。 
  Hive安装和配置的步骤 
  
1. 从如下地址下载Hive0.14.0 
  
http://mirror.bit.edu.cn/apache/hive/ 
  
 2.解压hive,在系统变</div>
                                </li>
                                <li><a href="/article/1768.htm"
                                       title="ajax 三种提交请求的方法" target="_blank">ajax 三种提交请求的方法</a>
                                    <span class="text-muted">BlueSkator</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/jqery/1.htm">jqery</a>
                                    <div>1、ajax 提交请求 
$.ajax({
			type:"post",
			url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
			dataType : "json",
			success : function(result) {
				try {
					for(v</div>
                                </li>
                                <li><a href="/article/1895.htm"
                                       title="mongodb开发环境下的搭建入门" target="_blank">mongodb开发环境下的搭建入门</a>
                                    <span class="text-muted">braveCS</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                                    <div>  
linux下安装mongodb 
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz 
2)linux 解压   
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz; 
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-</div>
                                </li>
                                <li><a href="/article/2022.htm"
                                       title="编程之美-最短摘要的生成" target="_blank">编程之美-最短摘要的生成</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

public class ShortestAbstract {

	/**
	 * 编程之美 最短摘要的生成
	 * 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran</div>
                                </li>
                                <li><a href="/article/2149.htm"
                                       title="json数据解析及typeof" target="_blank">json数据解析及typeof</a>
                                    <span class="text-muted">chengxuyuancsdn</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/typeof/1.htm">typeof</a><a class="tag" taget="_blank" href="/search/json%E8%A7%A3%E6%9E%90/1.htm">json解析</a>
                                    <div>   
       // json格式
	var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
		                    +' {"firstName": "CCC&</div>
                                </li>
                                <li><a href="/article/2276.htm"
                                       title="流程系统设计的层次和目标" target="_blank">流程系统设计的层次和目标</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                                    <div> 
                              流程系统设计的层次和目标 
 
 
 </div>
                                </li>
                                <li><a href="/article/2403.htm"
                                       title="RMAN List和report 命令" target="_blank">RMAN List和report 命令</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/report/1.htm">report</a><a class="tag" taget="_blank" href="/search/rman/1.htm">rman</a>
                                    <div>LIST 命令 
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的 
信息。使用此命令可列出: 
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本 
• 可用的且可以用于还原操作的数据文件备份和副本 
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份 
• 包含指定名称或范围的所有归档日志备份的备份集和副本 
• 由标记、完成时间、可</div>
                                </li>
                                <li><a href="/article/2530.htm"
                                       title="二叉树:红黑树" target="_blank">二叉树:红黑树</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%A0%91/1.htm">二叉树</a>
                                    <div>    红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题. 
    红黑树必须遵循红黑规则,规则如下 
    
1、每个节点不是红就是黑。     2、根总是黑的  &</div>
                                </li>
                                <li><a href="/article/2657.htm"
                                       title="C语言homework3,7个小题目的代码" target="_blank">C语言homework3,7个小题目的代码</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>1、打印100以内的所有奇数。 
# include <stdio.h>

int main(void)
{
	int i;

	for (i=1; i<=100; i++)
	{
		if (i%2 != 0)
			printf("%d ", i);
	}

	return 0;
}
 
 2、从键盘上输入10个整数,</div>
                                </li>
                                <li><a href="/article/2784.htm"
                                       title="自定义按钮, 图片在上, 文字在下, 居中显示" target="_blank">自定义按钮, 图片在上, 文字在下, 居中显示</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89/1.htm">自定义</a>
                                    <div>#import <UIKit/UIKit.h>

@interface MyButton : UIButton

-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa</div>
                                </li>
                                <li><a href="/article/2911.htm"
                                       title="MySQL查询语句练习题,测试足够用了" target="_blank">MySQL查询语句练习题,测试足够用了</a>
                                    <span class="text-muted">flyvszhb</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>http://blog.sina.com.cn/s/blog_767d65530101861c.html 
1.创建student和score表 
CREATE  TABLE  student ( 
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  , 
name  VARCHAR</div>
                                </li>
                                <li><a href="/article/3038.htm"
                                       title="转:MyBatis Generator 详解" target="_blank">转:MyBatis Generator 详解</a>
                                    <span class="text-muted">happyqing</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a>
                                    <div>  
MyBatis Generator 详解 
http://blog.csdn.net/isea533/article/details/42102297 
  
MyBatis Generator详解 
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.</div>
                                </li>
                                <li><a href="/article/3165.htm"
                                       title="让程序员少走弯路的14个忠告" target="_blank">让程序员少走弯路的14个忠告</a>
                                    <span class="text-muted">jingjing0907</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E5%88%92/1.htm">计划</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                                    <div>  
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助 
  
1.不要害怕在工作中学习。  
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放</div>
                                </li>
                                <li><a href="/article/3292.htm"
                                       title="nginx和NetScaler区别" target="_blank">nginx和NetScaler区别</a>
                                    <span class="text-muted">流浪鱼</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                                    <div>NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。 
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。 
3.策略灵活度方</div>
                                </li>
                                <li><a href="/article/3419.htm"
                                       title="第11章 动画效果(下)" target="_blank">第11章 动画效果(下)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/%E5%8A%A8%E7%94%BB/1.htm">动画</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3546.htm"
                                       title="FAQ - SAP BW BO roadmap" target="_blank">FAQ - SAP BW BO roadmap</a>
                                    <span class="text-muted">blueoxygen</span>
<a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/BW/1.htm">BW</a>
                                    <div>http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq 
  
Besides, I care that how to integrate tightly. 
  
By the way, for BW consultants, please just focus on Query Designer which i</div>
                                </li>
                                <li><a href="/article/3673.htm"
                                       title="关于java堆内存溢出的几种情况" target="_blank">关于java堆内存溢出的几种情况</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a>
                                    <div>【情况一】:      
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环;     如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:     <jvm-arg>-Xms3062m</jvm-arg>     <jvm-arg>-Xmx</div>
                                </li>
                                <li><a href="/article/3800.htm"
                                       title="Manifest.permission_group权限组" target="_blank">Manifest.permission_group权限组</a>
                                    <span class="text-muted">阿尔萨斯</span>
<a class="tag" taget="_blank" href="/search/Permission/1.htm">Permission</a>
                                    <div>结构 
继承关系 
public static final class Manifest.permission_group extends Object 
java.lang.Object 
android. Manifest.permission_group 常量 
ACCOUNTS 直接通过统计管理器访问管理的统计 
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限 
D</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>