Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Perl段落n-gram大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个文字句子:
$body = 'the quick brown fox jumps over the lazy dog';

我想把这句话变成’关键词’的哈希值,但我想允许多词关键词;我有以下内容来获取单字关键字:

$words{$_}++ for $body =~ m/(\w+)/g;

完成后,我有一个如下所示的哈希:

'the' => 2,'quick' => 1,'brown' => 1,'fox' => 1,'jumps' => 1,'over' => 1,'lazy' => 1,'dog' => 1

下一步,以便可以获得双字关键字,如下所示:

$words{$_}++ for $body =~ m/(\w+ \w+)/g;

但这只会得到每一个“其他”对;看起来像这样

'the quick' => 1,'brown fox' => 1,'jumps over' => 1,'the lazy' => 1

我还需要一个字偏移量:

'quick brown' => 1,'fox jumps' => 1,'over the' => 1

有没有比以下更容易的方法?

@H_485_2@my $orig_body = $body; # single word keywords $words{$_}++ for $body =~ m/(\w+)/g; # double word keywords $words{$_}++ for $body =~ m/(\w+ \w+)/g; $body =~ s/^(\w+)//; $words{$_}++ for $body =~ m/(\w+ \w+)/g; $body = $orig_body; # triple word keywords $words{$_}++ for $body =~ m/(\w+ \w+ \w+)/g; $body =~ s/^(\w+)//; $words{$_}++ for $body =~ m/(\w+ \w+ \w+)/g; $body = $orig_body; $body =~ s/^(\w+ \w+)//; $words{$_}++ for $body =~ m/(\w+ \w+ \w+)/g;

解决方法@H_696_30@
然所描述的任务可能对手动编码很有意义,
使用处理n-gram的现有CPAN模块不是更好吗?看起来像 Text::Ngrams(而不是 Text::Ngram)可以处理基于单词的n-gram分析.

大佬总结

以上是大佬教程为你收集整理的Perl段落n-gram全部内容,希望文章能够帮你解决Perl段落n-gram所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:nperl段落