【发布时间】:2021-10-30 22:28:57
【问题描述】:
一直在 Google 表格中处理包含大约一千条文本的通用表格。在从包含原始“书面”形式的文本的列中派生出来的一列中,是从它们中提取并按字母顺序列出的 ngram(单词等),每个文本对应的 ngram 列表。我一直在尝试从此类 ngram 的这些列表中派生第二列,但没有成功,我想从中删除我有一个列表的某些 ngram 的实例(一个长列表,数百个 ngram,以及一个以后可以补充)。换句话说,从文本挖掘词汇中,我想从标记列表中删除停用词。
我尝试使用 SPLIT 和 REGEXREPLACE 函数,或两者的组合,但没有成功。
=JOIN(",";SORT(TRANSPOSE(SPLIT(REGEXREPLACE(AL3;"\bau\b;\baux\b;\bavec\b;\bce\b;\bces\b;\bdans\b;\bde\b;\bdes\b;\bdu\b;\belle\b;\ben\b;\bet\b;\beux\b;\bil\b;\bje\b;\bla\b;\ble\b;\bleur\b;\blui\b;\bma\b;\bmais\b;\bme\b;\bmême\b;\bmes\b;\bmoi\b;\bmon\b;\bne\b;\bnos\b;\bnotre\b;\bnous\b;\bon\b;\bou\b;\bpar\b;\bpas\b;\bpour\b;\bqu\b;\bque\b;\bqui\b;\bsa\b;\bse\b;\bses\b;\bson\b;\bsur\b;\bta\b;\bte\b;\btes\b;\btoi\b;\bton\b;\btu\b;\bun\b;\bune\b;\bvos\b;\bvotre\b;\bvous\b;\bc\b;\bd\b;\bj\b;\bl\b;\bà\b;\bm\b;\bn\b;\bs\b;\bt\b;\by\b;\bété\b;\bétée\b;\bétées\b;\bétés\b;\bétant\b;\bsuis\b;\bes\b;\best\b;\bsommes\b;\bêtes\b;\bsont\b;\bserai\b;\bseras\b;\bsera\b;\bserons\b;\bserez\b;\bseront\b;\bserais\b;\bserait\b;\bserions\b;\bseriez\b;\bseraient\b;\bétais\b;\bétait\b;\bétions\b;\bétiez\b;\bétaient\b;\bfus\b;\bfut\b;\bfûmes\b;\bfûtes\b;\bfurent\b;\bsois\b;\bsoit\b;\bsoyons\b;\bsoyez\b;\bsoient\b;\bfusse\b;\bfusses\b;\bfût\b;\bfussions\b;\bfussiez\b;\bfussent\b;\bayant\b;\beu\b;\beue\b;\beues\b;\beus\b;\bai\b;\bas\b;\bavons\b;\bavez\b;\bont\b;\baurai\b;\bauras\b;\baura\b;\baurons\b;\baurez\b;\bauront\b;\baurais\b;\baurait\b;\baurions\b;\bauriez\b;\bauraient\b;\bavais\b;\bavait\b;\bavions\b;\baviez\b;\bavaient\b;\beut\b;\beûmes\b;\beûtes\b;\beurent\b;\baie\b;\baies\b;\bait\b;\bayons\b;\bayez\b;\baient\b;\beusse\b;\beusses\b;\beût\b;\beussions\b;\beussiez\b;\beussent\b;\bceci\b;\bcela\b;\bcelà\b;\bcet\b;\bcette\b;\bici\b;\bils\b;\bles\b;\bleurs\b;\bquel\b;\bquels\b;\bquelle\b;\bquelles\b;\bsans\b;\bsoi\b";"");" ")));"")
Dumky here 做了一些巧妙的事情,编写了一个带有自定义函数的脚本,它做了几件事,其中包括从辅助表调用一个列表,以清理这些 ngrams-words-tokens 列表,但他有什么done 超出了我想做的事情以及我自己在 Google 表格中可以做的事情。
停用词列表示例(要删除的 ngram): à,ai,aie,aient,aies,ait,as,au,aura,aurai,auraient,aurais,aurait,auras,aurez,auriez,aurions,aurons,auront,aux,avaient,avais,avait,avec,avez, aviez,avions,avons,ayant,ayez,ayons,c,ce,ceci,cela,celà,ces,cet,cette,d,dans,de,des,du,elle,en,es,est,et,étaient, étais,était,étant,été,étée,étées,êtes,étés,étiez,étions,eu,eue,eues,eûmes,eurent,eus,eusse,eussent,eusses,eussiez,eussions,eut,eût,eûtes,eux, fûmes,furent,fus,fusse,fussent,fusses,fussiez,fussions,fut,fût,fûtes,ici,il,ils,j,je,l,la,le,les,leur,leurs,lui,m,ma, mais,me,même,mes,moi,mon,n,ne,nos,notre,nous,on,on,on,ou,par,pas,pour,qu,que,quel,quelle,quelles,quels,qui,s, sa,sans,se,sera,serai,seraient,serais,serait,seras,serez,seriez,serions,serons,seront,ses,soi,soient,sois,soit,sommes,son,sont,soyez,soyons,suis, sur,t,ta,te,tes,toi,ton,tu,un,une,vos,votre,vous,y
我正在寻找的输出示例——
从短文本派生的 ngram 列表: 10,11,21,à,à,ami,ami,amour,aux,baiser,brusko,brusko,car,ce,comme,comme,compagnon,de,de,déclare,déclare,déteste,électricité,elle,en, est,est,est,et,étudiant,fluide,gare,germes,heures,idealistes,il,infectueux,je,l,l,la,la,le,lumière,médecine,meilleur,moi,moi,mon,montréal, pée,pensez,poète,que,que,qui,rancune,répondez,sans,science,ses,sic,un,un,vébicule,vôtre,vous
输出: ami,ami,amour,baiser,brusko,brusko,car,comme,comme,compagnon,déclare,déclare,déteste,électricité,étudiant,fluide,gare,germes,heures,idealistes,infectueux,lumière,médecine,meilleur,montréal, pée,pensez,poète,rancune,répondez,科学,原文如此,vébicule,vôtre
【问题讨论】:
-
可能我不够聪明。您能否做一个简短的样本:您拥有的细胞和您想要拥有的细胞?不需要使用所有数百个单词和那些 ngram。只是几个,5-10,例如。如果它适用于 5 个单词,它也适用于 500 或 5000 个单词。
-
您好@YuriKhristich,感谢您考虑我的问题。我已根据您的要求编辑问题以提供示例。
-
看起来我的答案中的代码可以完成这项工作。下一步是让它与您的电子表格一起使用。你有这个问题吗?唯一可能的问题是,如果文本真的很大,脚本可能会超出最大运行时间。
-
所有行的“停用词”列表都相同吗?
-
最长的列表有 6000 多纳克。这大约只要它可以得到。我不希望出现这种问题。实际上,所有行的停用词列表都是相同的。但是,随着时间的推移,我可能不得不对其进行多次添加。您提供的代码 sn-p 看起来完美地完成了工作!
标签: google-apps-script google-sheets nlp google-sheets-formula stop-words