You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

пре 2 година
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. # think-pullword
  2. ThinkPHP 分词/抽词 扩展包 `5.1` `6.0`
  3. 使用梁厂的产品 http://www.pullword.com/
  4. [![Latest Stable Version](https://poser.pugx.org/xiaodi/think-pullword/version)](https://packagist.org/packages/xiaodi/think-pullword)
  5. [![Latest Unstable Version](https://poser.pugx.org/xiaodi/think-pullword/v/unstable)](https://packagist.org/packages/xiaodi/think-pullword)
  6. [![License](https://poser.pugx.org/xiaodi/think-pullword/license)](https://packagist.org/packages/xiaodi/think-pullword)
  7. [![Total Downloads](https://poser.pugx.org/xiaodi/think-pullword/downloads)](https://packagist.org/packages/xiaodi/think-pullword)
  8. ## 安装
  9. ```
  10. composer require xiaodi/think-pullword
  11. ```
  12. ## 使用
  13. #### 常规实例化
  14. ```php
  15. use PullWord\PullWord;
  16. class Index
  17. {
  18. public function index()
  19. {
  20. $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  21. $pullWord = new PullWord($source);
  22. $result = $pullWord->pull()->toJson()->get();
  23. // $result = $pullWord->service('pull', $source)->get();
  24. // 结果 => string(169) "[{"t":"352净水器"},{"t":"净水器"},{"t":"家用"},{"t":"大通量"},{"t":"1000g"},{"t":"反渗透"},{"t":"反渗透纯水机"},{"t":"渗透"},{"t":"纯水机"}]
  25. // 商品分类
  26. // $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  27. // $pullWord = new PullWord($source);
  28. // $result = $pullWord->classify()->get();
  29. // // $result = $pullWord->service('classify', $source)->get();
  30. // 结果 => string(27) "{"class":"电器","idx":11}"
  31. }
  32. }
  33. ```
  34. #### 依赖注入
  35. ```php
  36. use PullWord\PullWord;
  37. class Index
  38. {
  39. public function index(PullWord $pullWord)
  40. {
  41. $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  42. $result = $pullWord->pull($source)->get();
  43. var_dump($result);
  44. // $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  45. // $result = $pullWord->classify($source)->get();
  46. // var_dump($result);
  47. }
  48. }
  49. ```
  50. #### 门面
  51. ```php
  52. use PullWord\Facade\PullWord;
  53. class Index
  54. {
  55. public function index()
  56. {
  57. $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  58. $result = PullWord::pull($source')->get();
  59. var_dump($result);
  60. }
  61. }
  62. ```
  63. #### 助手函数
  64. ```php
  65. class Index
  66. {
  67. public function index()
  68. {
  69. $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  70. $result = app('pullword')->pull($source)->get();
  71. var_dump($result);
  72. }
  73. }
  74. ```
  75. ### 其它链式方法
  76. #### json返回
  77. ```php
  78. $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  79. PullWord::pull($source)->toJson()->get();
  80. // 结果 [{"t":"352净水器","p":"1"},{"t":"净水器","p":"1"},{"t":"家用","p":"1"},{"t":"大通量","p":"0.923331"},{"t":"1000g","p":"0.959741"},{"t":"反渗透","p":"0.944082"},{"t":"反渗透纯水机","p":"0.964588"},{"t":"渗透","p":"0.838643"},{"t":"纯水机","p":"0.928798"}]
  81. ```
  82. #### 调试模式
  83. 结果含有出词概率
  84. ```php
  85. $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  86. PullWord::pull($source)->debug()->get();
  87. // 结果 [{"t":"352净水器","p":"1"},{"t":"净水器","p":"1"},{"t":"家用","p":"1"},{"t":"大通量","p":"0.923331"},{"t":"1000g","p":"0.959741"},{"t":"反渗透","p":"0.944082"},{"t":"反渗透纯水机","p":"0.964588"},{"t":"渗透","p":"0.838643"},{"t":"纯水机","p":"0.928798"}]
  88. ```
  89. #### 设置阈值
  90. 出词概率阈值(0-1之间的小数),1表示只有100%有把握的词才出
  91. ```php
  92. $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
  93. PullWord::pull($source)->threshold(0.4)->toJson()->get();
  94. // 结果 [{"t":"352"},{"t":"352净水器"},{"t":"净水"},{"t":"净水器"},{"t":"家用"},{"t":"大通量"},{"t":"通量"},{"t":"1000g"},{"t":"反渗透"},{"t":"反渗透纯水机"},{"t":"渗透"},{"t":"纯水"},{"t":"纯水机"},{"t":"水机"}]
  95. ```